• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    淺談XSS跨站腳本攻擊

    2018-6-18    seo達(dá)人

    如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里

    淺談 跨站腳本攻擊(XSS)

    一、概述

    1、什么是跨站腳本攻擊

    跨站腳本攻擊(Cross Site Scripting),簡(jiǎn)稱XSS,  是指:由于網(wǎng)站程序?qū)τ脩糨斎脒^(guò)濾不足,致使攻擊者利用輸入可以顯示在頁(yè)面上對(duì)其他用戶造成影響的代碼來(lái)盜取用戶資料、利用用戶身份進(jìn)行某種動(dòng)作或者對(duì)訪問(wèn)者進(jìn)行病毒侵害的一種攻擊方式。
    直白點(diǎn):惡意攻擊者往Web頁(yè)面里插入惡意Script代碼,當(dāng)用戶瀏覽該頁(yè)之時(shí),嵌入其中Web里面的Script代碼會(huì)被執(zhí)行,從而達(dá)到惡意攻擊用戶的目的。

    不同于大多數(shù)攻擊(一般只涉及攻擊者和受害者),XSS涉及到三方,即攻擊者、客戶端與網(wǎng)站。XSS的攻擊目標(biāo)是為了盜取客戶端的cookie或者其他網(wǎng)站用于識(shí)別客戶端身份的敏感信息。獲取到合法用戶的信息后,攻擊者甚至可以假冒最終用戶與網(wǎng)站進(jìn)行交互。

    2、為什么簡(jiǎn)稱XSS,而不是CSS

    跨站腳本攻擊(Cross Site Scripting),為了不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS。

    3、XSS漏洞成因

     XSS漏洞成因是由于動(dòng)態(tài)網(wǎng)頁(yè)的Web應(yīng)用對(duì)用戶提交請(qǐng)求參數(shù)未做充分的檢查過(guò)濾,允許用戶在提交的數(shù)據(jù)中摻入代碼,然后未加編碼地輸出到第三方用戶的瀏覽器,這些攻擊者惡意提交代碼會(huì)被受害用戶的瀏覽器解釋執(zhí)行。

    4、舉個(gè)例子

    [php] view plain copy
    1. <?php    
    2.      header("Content-Type: text/html; charset=utf-8");  
    3.      $username = $_GET["name"];  
    4.      echo "<p>Hi,".$username."!</p>";  
    5. ?>  
    6.   
    7. //這段PHP代碼的主要作用是從URL獲取用戶輸入的參數(shù)作為用戶名,并在頁(yè)面中顯示“Hi,XXX”  

    (1)正常情況下:我們?cè)趗rl中輸入:   http://localhost/test.php?name=Sam    

    給參數(shù)name傳一個(gè)值Sam,顯示如下圖

    (2)那么,在非正常情況下呢即:把傳遞給name的參數(shù)值改為一段可執(zhí)行的Javascript代碼)?

    我們?cè)趗rl中輸入:http://localhost/test.php?name=<script>alert("My name is Sam");</script>

    如果我們后臺(tái)沒(méi)有進(jìn)行任何關(guān)于傳入?yún)?shù)值的過(guò)濾,會(huì)顯示如下圖結(jié)果


    二、XSS生效方式

    XSS主要有三種生效方式:(1)構(gòu)造URL   (2)發(fā)布內(nèi)容式     (3)蠕蟲式

    1、生效方式:構(gòu)造URL 

    XSS攻擊者通過(guò)構(gòu)造URL的方式構(gòu)造了一個(gè)有問(wèn)題的頁(yè)面;當(dāng)其他人點(diǎn)擊了此頁(yè)面后,會(huì)發(fā)現(xiàn)頁(yè)面出錯(cuò),或者被暗中執(zhí)行了某些js腳本,這時(shí),攻擊行為才真正生效。


    一般來(lái)說(shuō),動(dòng)態(tài)頁(yè)面中會(huì)將url中的部分內(nèi)容回寫在頁(yè)面中。以百度的搜索為例,輸入網(wǎng)址:http://www.baidu.com/s?wd=<script>alert("wrong")<%2Fscript>

    搜索后會(huì)顯示如下頁(yè)面:

    因?yàn)閰?shù)<script>alert("wrong")<%2Fscript>是<script>alert("wrong")</script>轉(zhuǎn)義后的結(jié)果,搜索結(jié)果頁(yè)中,會(huì)在標(biāo)題中中和搜索框中回寫用戶輸入的內(nèi)容。

    如果這里沒(méi)有經(jīng)過(guò)轉(zhuǎn)義處理,則頁(yè)面中就嵌入了一段script,并執(zhí)行該代碼,并彈出對(duì)話框提示用戶。如果是其他惡意代碼,則可能造成破壞。然后攻擊者將此URL廣為傳播——比如說(shuō),以報(bào)錯(cuò)的方式發(fā)給百度的管理員,管理員打開這個(gè)URL就中招了。


    下面我們來(lái)通過(guò)下圖,圖解XSS


    舉例

    例1、

    若未對(duì)XSS進(jìn)行預(yù)防

    我們?cè)赨RL中正常輸入如下,搜索結(jié)果會(huì)如下圖顯示:beijing  的相關(guān)詞條

    如果在url中非正常輸入如下的話,查看源碼后input的value屬性值會(huì)自動(dòng)變?yōu)?nbsp; <script>alert("xss test")</script>


    若已對(duì)XSS進(jìn)行了預(yù)防,

    非正常輸入后則會(huì)顯示如下圖:


    例2、

    若未對(duì)XSS進(jìn)行預(yù)防,

    在URL中輸入紅框中的值,搜索后則顯示如下:

    若已對(duì)XSS預(yù)防,

    則搜索結(jié)果如下圖:


    2、生效方式:發(fā)布式內(nèi)容

    構(gòu)造URL攻擊方式傳播范圍有限,被攻擊者只要有基本的安全意識(shí)就可以避免,因此這種手段的危險(xiǎn)性比較小。相比之下,通過(guò)發(fā)表內(nèi)容構(gòu)造的XSS的危害就大了很多。

    在可以發(fā)表內(nèi)容的論壇、討論區(qū)、吧、博客、微博等網(wǎng)站上,用戶發(fā)表的內(nèi)容會(huì)保存起來(lái),允許其他用戶瀏覽。這些保存的內(nèi)容顯示在頁(yè)面上的時(shí)候,如果沒(méi)有經(jīng)過(guò)正確的處理,也會(huì)把攻擊者精心構(gòu)造的內(nèi)容顯示出來(lái),訪問(wèn)該內(nèi)容的用戶就此中招。如果該頁(yè)面流傳廣泛,則影響會(huì)更加深遠(yuǎn)。

    拿 留言板舉例

    例、

    留言板的任務(wù)是把用戶留言的內(nèi)容展示出來(lái)。正常情況下,用戶的留言都是正常的語(yǔ)言文字,留言板顯示的內(nèi)容也就沒(méi)毛病。

    然而這個(gè)時(shí)候如果有人不按套路出牌,在留言內(nèi)容中丟進(jìn)去一行”<script>alert(“mdzz”)</script>
    之后當(dāng)瀏覽這條留言的時(shí)候,就會(huì)彈出如下信息框。


    3、生效方式:蠕蟲式 

    最暴力的方式是使用蠕蟲——就是首先發(fā)一個(gè)有問(wèn)題的文章,瀏覽者閱讀時(shí)會(huì)被暗中執(zhí)行惡意代碼,發(fā)表一篇新的文章的,該文章也含有同樣的惡意代碼。這樣有可能在最快時(shí)間內(nèi)將攻擊鋪滿整個(gè)網(wǎng)站。蠕蟲式攻擊將暗中偷偷摸摸的攻擊行為變成了光明正大的攻城拔寨,極容易被發(fā)現(xiàn)和修復(fù)。


    Eg:早在2011年新浪就曾爆出過(guò)嚴(yán)重的xss漏洞,導(dǎo)致大量用戶自動(dòng)關(guān)注某個(gè)微博號(hào)并自動(dòng)轉(zhuǎn)發(fā)某條微博。(蠕蟲式)
    它以吸引人眼球的方式,讓當(dāng)微博用戶主動(dòng)點(diǎn)擊攻擊鏈接。之后微博網(wǎng)友會(huì)立刻執(zhí)行一段有害代碼,造成三個(gè)結(jié)果:發(fā)布一條微博;成為攻擊發(fā)起人的粉絲;向其他好友發(fā)送含同樣鏈接地址的私信。新浪微博很快發(fā)現(xiàn)這個(gè)漏洞,刪除了含攻擊鏈接的微博內(nèi)容,并將攻擊發(fā)起人ID刪除。


    注:上面我們只是為了方便以彈窗舉例,但是XSS攻擊方式絕不是彈窗這么簡(jiǎn)單


    三、XSS攻擊實(shí)例

    (1)XSS偷取用戶信息

    (2)XSS盜取Cookie

    (3)XSS釣魚網(wǎng)站

    (4)XSS蠕蟲攻擊

    四、XSS的破壞方式

    (1)破壞頁(yè)面結(jié)構(gòu):用戶輸入的內(nèi)容包含了html的標(biāo)簽,與前面的標(biāo)簽等閉合,導(dǎo)致頁(yè)面的DIV結(jié)構(gòu)發(fā)生變化,頁(yè)面錯(cuò)亂。

    (2)破壞顯示內(nèi)容:用戶輸入的內(nèi)容包含了單引號(hào)或雙引號(hào),與前面的單引號(hào)或雙引號(hào)匹配,導(dǎo)致后面的內(nèi)容丟失,顯示不出來(lái)。

    (3)破壞JS:用戶產(chǎn)生的內(nèi)容直接輸出到j(luò)s片斷中,但僅轉(zhuǎn)義少數(shù)字符不能保證排除攻擊,所以容易導(dǎo)致JS被破壞

    五、XSS攻擊 繞過(guò)過(guò)濾的一些簡(jiǎn)單方法

    1、大小寫繞過(guò)

    這個(gè)繞過(guò)方式的出現(xiàn)是因?yàn)榫W(wǎng)站僅僅只過(guò)濾了<script>標(biāo)簽,而沒(méi)有考慮標(biāo)簽中的大小寫并不影響瀏覽器的解釋所致。

    例:

    如果我們?cè)赨RL中輸入:  localhost/test.php?name=<script>alert(''hey!")</script>     

    ,由于網(wǎng)站對(duì)<script>標(biāo)簽進(jìn)行了過(guò)濾,所以搜索后什么都不會(huì)發(fā)生。

    而如果我們輸入:  localhost/test.php?name=<sCript>alert(''hey!")</scRipt>  

    ,實(shí)質(zhì)就是改變了<script>的大小寫,則結(jié)果如下圖所示,我們又愉快的彈出了彈窗。



    2、利用過(guò)濾后返回語(yǔ)句再次構(gòu)成攻擊語(yǔ)句來(lái)繞過(guò)

    即我們輸入一串原始值,網(wǎng)站將輸入的原始值進(jìn)行過(guò)濾,過(guò)濾后的值仍是一段可執(zhí)行的代碼。

    讓過(guò)濾完script標(biāo)簽后的語(yǔ)句中還有script標(biāo)簽。
          即:<sCri<script>pt>alert("hey!")</scRi</script>pt> 過(guò)濾后
    仍為可執(zhí)行的JS代碼<script>alert("hey!")</script>


    如下圖:將參數(shù)name值設(shè)為<sCri<script>pt>alert("hey!")</scRi</script>pt>

    ,輸入后仍會(huì)出現(xiàn)彈窗



    3、并不是只有script標(biāo)簽才可以插入代碼!

    當(dāng)script標(biāo)簽已經(jīng)被完全過(guò)濾后,前面兩種方法就都不會(huì)成功。
    莫慌,能植入腳本代碼的不止script標(biāo)簽。

    例如:我們用<img>標(biāo)簽做一個(gè)示范。
    我們利用如下方式在URL中輸入:http://localhost/test.php?name=<img src='w.123' onerror='alert("hey!")'>  
    之后就可以再次愉快的彈窗。(因?yàn)槲覀冎付ǖ膱D片地址根本不存在也就是一定會(huì)發(fā)生錯(cuò)誤,這時(shí)候onerror里面的代碼自然就得到了執(zhí)行。)


    以下列舉幾個(gè)常用的可插入代碼的標(biāo)簽。
    <div onmouseover=‘do something here’> 當(dāng)用戶鼠標(biāo)在這個(gè)塊上面時(shí)即可運(yùn)行(可以配合weight等參數(shù)將div覆蓋頁(yè)面,鼠標(biāo)不劃過(guò)都不行)
    類似的還有onclick,這個(gè)要點(diǎn)擊后才能運(yùn)行代碼

    4、編碼腳本代碼繞過(guò)關(guān)鍵字過(guò)濾。
    有的時(shí)候,服務(wù)器往往會(huì)對(duì)代碼中的關(guān)鍵字(如alert)進(jìn)行過(guò)濾,這個(gè)時(shí)候我們可以嘗試將關(guān)鍵字進(jìn)行編碼后再插入,不過(guò)直接顯示編碼是不能被瀏覽器執(zhí)行的,我們可以用另一個(gè)語(yǔ)句eval()來(lái)實(shí)現(xiàn)。【eval()會(huì)將編碼過(guò)的語(yǔ)句解碼后再執(zhí)行】

    alert(1)編碼過(guò)后就是\u0061\u006c\u0065\u0072\u0074(1),

    所以構(gòu)建出來(lái)的攻擊語(yǔ)句http://localhost/test.php?name=<script>eval(\u0061\u006c\u0065\u0072\u0074(1))</script>

    如下圖執(zhí)行后又會(huì)出現(xiàn)彈窗


    5、組合各種方式
    在實(shí)際運(yùn)用中漏洞的利用可能不會(huì)這么直觀,需要我們不斷的嘗試,甚至組合各種繞過(guò)方式來(lái)達(dá)到目的。

    藍(lán)藍(lán)設(shè)計(jì)www.lzhte.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)



    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 在线观看网址你懂的| 精品无人区无码乱码大片国产| 亚洲天堂网在线观看视频| 精品国偷自产在线视频九色| 欧美成人性爱影院| 欧美亚洲综合另类色妞网| 久久韩国三级日本三级| 亚洲国产欧美日韩欧美特级| 亚洲欧美激情综合第1页| 日韩无码真实干出血视频| 极品私人尤物在线精品首页| 曰韩亚洲AV人人夜夜澡人人爽| av国産精品毛片一区二区网站| 欧美三级网站| 国产激情一区二区三区成人免费 | 五月丁香婷中文| 国产精品特黄一级国产大片| 青青国产线免观| 99热这里只有精品3| 神马午夜久久精品人妻| 亚洲av在线播放观看| 扒开末成年粉嫩的小缝视频| 永久免费在线成人大片| 911国产自产精品a| 福利一区福利二区看片| 亚洲第一福利导航| 欧美一级高清片久久99| 日本三级精品久久久久久久| 一级毛片黄久久久免费看| 欧美性爱播放| 九九九九热精品视频| 性欧美free高清video| 小泽玛利亚区二区在线| 蜜芽久久人人超碰爱香蕉| 再深点灬舒服灬太大了动态图| 国产精品亚洲а∨天堂2021| 亚洲日韩爆乳中文字幕欧美| 伊人久久精品久久亚洲一区| 精品欧美乱码久久久久久1区2区| 亚洲精品宾馆在线精品酒店| 亚洲国产精品无码中文字app|