Game2.tw遊戲社區

Android,iphone,ipad機遊戲攻略,收集軟體分享網站 mobile.game2.tw

Javascript字符串截斷 with DOM XSS的方法介紹

點評:在IE中javascript的字符串可以被NULL字符截斷,不過僅僅是getValue的時候截斷.

在IE中javascript的字符串可以被NULL字符截斷,不過僅僅是getValue的時候截斷.
測試代碼:
alert(‘abc\0 def’)如果隻是這樣最多就是spoofing,但配合IE(<=8)的一個解析bug和php的[魔術引號]就是一個DOM XSS瞭.
IE解析bug:
<a href="<body/onload=alert(1)>click</a>
在前面的我分享過的XSS向量裡有提到過,就是當解析器不能匹配到一個標簽裡屬性值的結束界定符的時候會認為這是個無效的標簽,將其當成文本.
<a href=" 變成&lt;a href=&quot; <body/onload=alert(1)>被解析成html.PHP的轉義問題
在5.3.0之前,php默認開啟瞭magic_quotes_gpc.
它不但會轉換" ‘ 之類的字符,還會將轉義%00轉換成\0
在javascript的字符串中\0又會被轉義回去.
註:即便關閉瞭魔術引號,開發者一般也會實用addslashes之類的函數,這些函數同樣會將%00轉換成\0
So
document.write(‘<img src="<iframe/onload=alert(1)>\0">’)
——————————————————————————–
相關評論:
——————————————————————————–
Xhm1n9 | 2012-06-29 01:34
實用的技巧:)
horseluke (微碌) | 2012-06-29 01:53
PHP的輸出轉義一般用htmlspecialchars的…addslashes隻是數據庫相關轉義,輸出轉義用addslashes肯定不能通過代碼審計的。
但是…………有沒有人研究過繞過strip_tags?見到有人用這個來做輸出轉義,覺得不安全,但又說不出所以然,更試不出所以然…
Sogili (-_-)Web瘋狂科學傢//mmme.me(-_-) | 2012-06-29 01:58
@horseluke 嗯,不過htmlspecialchars不會轉換%00,如果真的沒處理%00就更好玩瞭.
horseluke (微碌) | 2012-06-29 02:03
@Sogili 不明白,對XSS不熟悉,求詳解…
Sogili (-_-)Web瘋狂科學傢//mmme.me(-_-) | 2012-06-29 02:09
@horseluke IE可以解析<[0x00]i[0x00]0m[0x00]0g src=xx:x o[0x00]nerror=alert(1)> 可以繞過很多filter,所以不處理[0x00]是很危險的.我瞭解的隻是XSS的方面,我想對服務端安全影響也不小.
_Evil (性趣是最好的老師.) | 2012-06-29 06:44
web科學傢這個不錯 不過范圍小瞭的 隻能ie
gainover (">_< ‘ / & \ 看啥,沒見過跨站字符麼) | 2012-06-29 07:53
可以在自己電腦上寫個利用場景試一試

Leave a Reply

Your email address will not be published. Required fields are marked *