XSS繞過總結第二節
阿新 • • 發佈:2018-12-13
輸出在
5.如果過濾了<,>,那麼就無法使用上面的辦法了。我們接著看
script程式碼裡的構造。
友情提示:這裡可能需要一點點javascript的知識才行哦~~
我們可以如下構造:
http://activity.soso.com/common/setParentsInfo.php?callback=eval('alert(1)’);void
6.可以看到,原始碼是下面的樣子。
7.也就是說,我們插入的內容,使得這一段javascript依然【語法正確】,能夠【正確執行】,並且能夠執行【我們所插入的JS程式碼】,這樣我們的目的就達到了。
構造後的原始碼如下:
<scripttype=‘text/javascript’>document.domain=‘ soso.com’;_ret={"_res":2};try{parent.eval(‘alert(1)’);void(_ret);}catch(err){eval(‘alert(1)’);void(_ret);}
8.這種輸出在JS程式碼裡的情況十分常見,但是呢?不幸的是,像這樣沒過濾的情況,卻不是很常見。例如:
vara="[輸出]";//通常程式設計師會把"過濾掉,這樣的話,一般來說,我們就很難構造。
但是,這並不是說,就一定是不能利用,後面我們會拿騰訊一些【比較有意思】的例子,來進一步說到這個【輸出在js裡】的情況的~
9.修復方案:
這類XSS的模型通常是:
9.1.過濾組合 9.2.針對輸出在不同的場景,進行合適的過濾。