青青久在线视频-青青久热-青青久久网-青青久久精品国产免费看-青青久久精品-青青久久国产成人免费网站

299

跨站腳本攻擊XSS

時間: 2015-10-09 11:37:33   點擊數: 30571   來源: 耐思智慧

今天,泥瓦匠帶你們認識下XSS,然后關于怎么防御的問題。至于防御的話,仁者見仁智者見智。爾等啥都不配不上的就綽見,望各位閱讀者相互討論。泥瓦匠目前是搞JAVA的,所以例子上JAVA比較多。


一、認識XSS先

先說個故事吧,在上一篇,我還想說這個案例。其實什么叫攻擊,很簡單。獲取攻擊者想要的信息,就黑成功了。抓到一個Tomcat漏洞(這不是我說的,一個認識的人說的),上傳一個JSP,里面模擬HttpClient,下載一個木馬,運行。OK,搞定了。所以,沒有絕對的安全。

今天,泥瓦匠帶你們認識下XSS,然后關于怎么防御的問題。至于防御的話,仁者見仁智者見智。爾等啥都不配不上的就綽見,望各位閱讀者相互討論。泥瓦匠目前是搞JAVA的,所以例子上JAVA比較多。



Q: 什么是XSS? 為啥有這個呢?

A: 全名:Cross Site Script,中文名:跨站腳本攻擊。顧名思義,是指“HTML注入”纂改了網頁,插入惡意的腳本,從而在用戶用瀏覽網頁的時候,控制用戶瀏覽器的一種攻擊。

XSS根據攻擊的穩定性可分為三種:反射型XSS, 存儲型XSS,DOM Based XSS.

<img title="image" alt="image" width="390" height="311" src="http://s9.51cto.com/wyfs02/M02/59/3F/wKioL1TNg4bxyLbwAAA-WGcB1yw307.jpg" style="border:0px;" />

二、XSS攻擊

再來了解下XSS,是如何攻擊?泥瓦匠這時候想到一句話:知己知彼,百戰百勝吧。這攻擊我們不會很詳細解釋,畢竟想說的是XSS防御嘛。首先,泥瓦匠要介紹下的是:

XSS Playload,所謂用以完成各種具體的功能的惡意腳本。這時候我想到了黑客精神中的小插曲,現在所謂的“黑客”不是真正的黑客,而是稱為腳本小子(Script Kid)。常見的一個XSS Playload,就是通過讀取瀏覽器的Cookie對象,從而發起了‘Cookie劫持’攻擊。這個泥瓦匠會教你們去防御哈,其中Cookie的‘HttpOnly’標識可以防止哦。

強大的XSS Playload可以做以下的事情哈:1、構造 GET 與 POST 請求 2、各種釣魚 3、識別用戶瀏覽器 等等

Q&A

Q:什么叫做釣魚呢?

A:顧名思義,愿者上鉤,這里做貶義用法。比如,人家用一個假的彈出框,或者假的頁面讓你輸入QQ信息,或者啥賬號信息。其實你一輸入人家服務器獲取到你的賬戶密碼了。這就是魚兒上鉤了。 如圖比喻:

<img title="image" alt="image" width="417" height="318" src="http://s8.51cto.com/wyfs02/M02/59/42/wKiom1TNgqDTmmgOAAA3ZIJeddY827.jpg" style="border:0px;" />

三、XSS防御(重點)

兵來將擋,水來土掩。泥瓦匠在Web安全上,想提醒大家的是:“再高的樹,猴子也能爬上去。”因此,我們考慮的地方有些默認都給你做好了,有些需要我們自己去關心,去設置。

其實在看不到的地方很多已經對抗XSS做了些措施。比如各種瀏覽器等。

一、按著上面的思路,泥瓦匠先聊下Cookie,一個Cookie,我們是這樣使用的:

1、瀏覽器下服務器發送請求,準備獲取Cookie

2、服務器返回發送Cookie頭,向客戶端瀏覽器寫入Cookie。(注意哦,這里是瀏覽器,不要當成什么瀏覽器內核)

3、在Cookie到期前,瀏覽器所有頁面,都會發送Cookie。

這就意味著,我們Cookie不能亂用。就像Session一樣,所以在使用的時候,要注意下。有時候Cooike在用于記住密碼的時候,千萬要注意要將Cookie設置HttpOnly屬性為Ture。這里我以SpringMVC為例子。如果用到Cookie的時候,應該這樣:


 // create cookie and set it in response
Cookie cookie1 = new Cookie("cookie1", "cookieValueHttpOnly");
Cookie cookie2 = new Cookie("cookie2", "cookieValue");
cookie1.setHttpOnly(true);
 
response.addCookie(cookie1);
response.addCookie(cookie2);


截個Controller整個代碼看看:

<img title="image" alt="image" width="498" height="371" src="http://s4.51cto.com/wyfs02/M02/59/3F/wKioL1TNg4bwYQYVAABwFSGDcPM003.jpg" style="border:0px;" />

我們打開瀏覽器可以看到下面這種結果,訪問URL這個Controller層,打開Firebug查看:

<img title="image" alt="image" width="498" height="136" src="http://s7.51cto.com/wyfs02/M00/59/3F/wKioL1TNg4eRUGJhAAA8ZC-kclw848.jpg" style="border:0px;" />

二、輸入校驗

輸入校驗的邏輯必須放在服務端中實現。如果用JS進行的話,容易被攻擊者繞過去。所以普遍的做法是,類似很多代碼一樣進行Double Check:”客戶端JS校驗和服務端校驗一起,這樣客戶端JS校驗會阻擋大部分甚至說99%的用戶的誤操作。”

在XSS防御上,我們需要對用戶輸入的一些特殊字符校驗,過濾或者是編碼。這種輸入校驗的方式成為“XSS Filter”。首先我們在配置文件中,

<img title="image" alt="image" width="498" height="304" src="http://s5.51cto.com/wyfs02/M02/59/42/wKiom1TNgqLz9TO-AACA0kcgxeM065.jpg" style="border:0px;" />

其中的路徑配置當然,在你需要的地方配置下咯。然后泥瓦匠在這里寫了個,Http請求裝飾類,用來對這些參數的過濾。說干就干唄~實戰出經驗。


public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper
{
 
    public XssHttpServletRequestWrapper(HttpServletRequest request)
    {
        super(request);
    }
 
    public String[] getParameterValues(String parameter)
    {
        String[] values = super.getParameterValues(parameter);
        if (values==null)
        {
            return null;
        }
        int count = values.length;
        String[] encodedValues = new String[count];
        for (int i = 0; i <  count; i++)
        {
            encodedValues[i] = cleanXSS(values[i]);
        }
        return encodedValues;
    }
 
    public String getParameter(String parameter)
    {
        String  value=  super.getParameter(parameter);
        if (value == null)
        {
            return null;
        }
        return cleanXSS(value);
    }
 
    public String getHeader(String name)
    {
        String  value=  super.getHeader(name);
        if (value == null)
            return null;
        return cleanXSS(value);
    }
 
    /**
      * @Title: cleanXSS
      * @Description: You'll need to remove the spaces from the html entities below
      * @param @param value
      * @param @return
      * @return String
      */
    private String cleanXSS(String value)
    {
        value= value.replaceAll("<", "& lt;").replaceAll(">", "& gt;");
        value = value.replaceAll("\(", "& #40;").replaceAll("\)", "& #41;");
        value = value.replaceAll("'", "& #39;");
        value = value.replaceAll("eval\((.*)\)", "");
        value = value.replaceAll("[\"\'][\s]*javascript:(.*)[\"\']", """");
        value = value.replaceAll("script", "");
        return value;
    }
}


三、輸出校驗

一般來說,除了富文本之外,在變量輸出到HTML頁面,可以使用編碼或者轉義的方式來防御XSS攻擊。這是一種各家委婉的方式吧。

四、總結

  用兵之道在于,如何正確的使用,才能以少勝多。Web安全這場戰爭也一樣,所以要如何正確的使用XSS防御。如果你是菜鳥,沒關系,建議你使用企業自助建站系統建站寶盒,通過這套程序您可以有效規避跨站腳本攻擊XSS,將合適的工作交給最專業的人,制作一個擁有電腦站+手機站+微站+手機APP的四站一體的企業商城網站,在線銷售產品豈不是很好呢。

Writer:BYSocket(泥沙磚瓦漿木匠)


上一篇:公司官網打開慢,優化服務器負載均衡解決方案 下一篇:給企業微信運營最中肯的10條建議

旗下網站:耐思智慧 - 淘域網 - 我的400電話 - 中文域名:耐思尼克.cn 耐思尼克.top

耐思智慧 © 版權所有 Copyright © 2000-2025 IISP.COM,Inc. All rights reserved

備案號碼: 粵ICP備09063828號  公安備案號: 公安備案 粵公網安備 44049002000123號  域名注冊服務機構許可:粵D3.1-20240003 CN域名代理自深圳萬維網

聲明:本網站中所使用到的其他各種版權內容,包括但不限于文章、圖片、視頻、音頻、字體等內容版權歸原作者所有,如權利所有人發現,請及時告知,以便我們刪除版權內容

本站程序界面、源代碼受相關法律保護, 未經授權, 嚴禁使用; 耐思智慧 © 為我公司注冊商標, 未經授權, 嚴禁使用

法律顧問:珠海知名律師 廣東篤行律師事務所 夏天風 律師

狠狠躁夜夜躁人人躁婷婷| 牲交A欧美牲交AⅤ免费一| 18禁裸乳无遮挡免费网站| 久久久久国产综合AV天堂| 亚洲精品美女久久7777777| 海角精产国品一二三区别| 亚洲 精品 综合 精品 自拍| 国产乱子伦视频在线播放| 未满十八岁的请自动离开| 国产成人亚洲精品无码H在线| 少妇人妻无码精品视频APP| 疯狂做受XXXⅩ高潮视频免费| 色婷婷综合久久久久中文| 饭桌上故意张开腿让公H| 色噜噜狠狠成人中文综合| 大肉大捧一进一出好爽视频MBA| 日韩精品一区二区三区中文 | JEANASIS日本| 青草青草久热精品视频国产4| WWW.嫩草AV天堂影院| 人妻斩り56歳无码| 成人无码区免费AⅤ片WWW| 日日摸夜夜添狠狠添欧美| 国产 字幕 制服 中文 在线| 甜性涩爱在线播放| 国产女人乱子对白AV片| 亚洲AV无码久久寂寞少妇| 护士猛少妇色ⅩⅩXXX猛叫| 亚洲欧美性爱视频| 久久国产精品成人片免费| 一边做饭一边躁狂怎么办| 美女露100%双奶头无遮挡图片 | 少妇ⅩXXOOOZZXXHD| 差差漫画网页登录页面弹窗| 日韩无人区码卡二卡3卡2022| 粗大的内捧猛烈进出小视频| 婷婷久久久亚洲欧洲日产国码AV| 国产精品永久久久久久久久久| 性色AV一区二区三区人妻| 极品丰满熟妇人妻无码| 亚洲一区二区三区高清AV| 两根硕大一起挤进小紧H共妻| 2023年最新绝伦推理片推荐| 人妻丰满熟妇av无码区HD| 丰满人妻熟妇乱又伦精品软件| 无码AV人片在线观看天堂| 好大好深好猛好爽视频免费| 亚洲无人区码一码二码三码区别 | 被两个黑人玩得站不起来了| 少妇人妻综合久久中文字幕| 国产精品美女被操| 亚洲精品一品区二品区三品区| 浪货趴办公桌~H揉秘书| AV永久天堂一区二区三区| 日韩乱码人妻无码超清蜜桃丨| 国产成人一区二区三区视频免费 | CHINESE树林性BBW| 少妇激情AV一区二区三区| 国产偷国产偷亚洲清高网站| 亚洲无人区码一码二码三码四码 | 俄罗斯POMOGISEBE| 亚洲AV成人无码久久精品| 久久99国产精品久久99小说| 3D动漫精品啪啪一区二区免费| 日韩精品一区二区午夜成人版| 国产乱妇乱子视频在播放| 亚洲性日韩精品一区二区三区| 欧美疯狂做受XXXX高潮| 国产AⅤ激情无码久久男男剧 | BGMBGMBGM成熟交| 同性男男黄H片在线播放网站| 精品浪潮av一区二区三区| 92国产精品午夜福利免费| 少妇高潮喷水惨叫久久久久电影| 好大的奶好爽浪蹄子| 撞击到最深处她抽搐喷水| 日韩欧群交P片内射中文| 国内揄拍国内精品人妻浪潮AV| 中国CHAIN同志GAY片国产| 日韩AV无码中文一区二区三区| 国产亚洲成AV人片在线观黄桃| 月光影院在线观看免费直播| 日韩精品无码中文字幕第一区| 国内美女推油按摩在线播放| 最新国产精品拍自在线播放| 他一边曰一边吃我奶小说免看| 精品人妻少妇一区二区三区夜夜嗨 | 美女内射在线观看| 成人免费无码H黄网站WWW| 亚洲成AV人片无码迅雷下载| 欧美XXXX做受欧美88| 国产精品嫩草影院永久…| 又大又硬又粗再深一点| 少妇人妻偷人精品一区二区| 久久大蕉香蕉免费| 厨房里的激战2免费观看不打丐赛| 亚洲爆乳大丰满无码专区| 欧美无遮挡很黄裸交视频| 国产一区日韩二区欧美三区| 99久久久无码国产精品不卡| 午夜视频体内射.COM.COM| 母与子之间的阴阳调和| 国产精品亚洲综合网熟女| 2021国产精品国产精华| 午夜亚洲AV日韩AV无码大全| 女女互揉吃奶揉到高潮AV| 国产无遮挡裸体免费直播| Chinese老妇性饥渴老熟女| 亚洲AV日韩综合一区| 欧洲熟妇的性久久久久久| 国产亚洲精久久久久久无码777| 中文在线А√天堂官网| 欧美又大粗又爽又黄大片视频| 国内精品久久久久久99| 99视频69E精品视频| 午夜理论电影在线观看亚洲 | 机长脔到她哭H粗话H| 18禁纯肉高黄无码动漫| 婷婷久久香蕉五月综合加勒比 | 久久久久亚洲AV成人无码网站 | 丰满少妇又爽又紧又丰满在线观看 | 国产午夜精品无码| 2017亚洲А∨天堂| 无码精品人妻一区二区三区蜜桃| 久久久久久久久精品成人 | 无码毛片内射白浆视频| 蜜桃av一区二区三区精品人妻| 寡妇大J8又粗又大| 再深点灬舒服灬太大了少妇| 特黄AAAAAAAAA毛片免费| 久欠精品国国产99国产精2| 荡公乱妇第1章95| 中文无码AV电影在线观看网站| 天天躁日日躁狠狠躁性色AVQ| 老湿机香蕉久久久久久| 国产精彩乱子真实视频| 最新国产精品亚洲| 亚洲国产精品无码中文字满| 日本免费AⅤ欧美在线观看| 精品一区二区成人精品| 妇女AV中文精品字幕XXX| 艳妇乳肉豪妇荡乳ⅩXXOO软件| 人体艺术在线观看| 久久精品一区二区三区中文字幕| 乖我们在办公室试试| 中文字幕在线不卡一区二区| 午夜理论片免费播放| 欧美熟老妇人多毛OOXⅩ| 久久久精品中文字幕乱码18| 国产精品99久久久久久人| 99久久精品国产综合| 亚洲精品WWW久久久久久| 日韩人妻中文无码一区二区三区| 免费观看18禁欲无遮挡奶水下| 国产婷婷成人久久Av免费高清| 办公室强肝的播出时间| 夜夜躁狠狠躁日日躁| 午夜欧美精品久久久久久久| 人妻无码久久久久久久久久久| 狠狠色噜噜狠狠狠8888米奇| 丰满少妇被猛烈进入高清APP| 2021国产手机在线精品| 亚洲日韩在线中文字幕综合| 图片区小说区激情春色| 啪啪无码人妻丰满熟妇| 久久久综合九色合综| 国产一区在线观看二区| 大炕上的肉体交换| 99国产精品国产精品九九| 亚洲一线产区二线产区区别在哪| 亚洲AⅤ精品一区二区三区| 日韩人妻无码精品专区90618| 免费真人视频网站直播下载| 激情综合亚洲色婷婷五月| 国产高潮国产高潮久久久| 俄罗斯大荫蒂女人毛茸茸| A级大胆欧美人体大胆666| 游泳教练在水里含我奶小说| 亚洲AV无码乱码精品国产| 天堂AV无码大芭蕉伊人AV孕妇 | 东北大坑续集1至60| 中国老太太X×××XHD| 亚洲国产精品不卡AV在线| 无码成人免费AV片在线观看| 少妇人妻在线视频| 去部队探亲晚上叫太大声| 妺妺窝人体色WWW在线直播| 久久成人成狠狠爱综合网| 国产最好的高清播放机品牌| 国产寡妇XXXX猛交| 非洲黑人狂躁日本妞| 把女人弄爽大黄A大片片| 亚洲乱妇熟女爽到高潮| 亚洲成A人片在线观看无遮挡| 玩丰满少妇XXXXXⅩ性麻| 日日摸日日碰人妻无码老牲| 欧美最猛性XXX| 免费又黄又硬又爽大片免费| 久久综合九色综合欧美婷婷| 久久国产免费直播|