天天看點

一個xss漏洞問題分析

問題描述:

http://zhibo.sogou.com/gameZone_格鬥遊戲.whtml/gameZone_格鬥遊戲.whtml?product=live&page=kpyxss"};alert(document.cookie);var%20a={"a":"&type=1&f=0#resultlist

url中插入"(javascript腳本)"執行了js

執行方式:

在這個jsp頁面源代碼裡有這麼一段

<script type="text/javascript">
    var uigs_para={"uigs_productid":"galaxy_zhibo","pagetype":'web_${page}'};
</script>           

複制

這裡的${page}是指從url裡擷取參數page的值,按上述url把page參數值拼接進去後,這段代碼變成

<script type="text/javascript">
    var uigs_para={"uigs_productid":"galaxy_zhibo","pagetype":'web_kpyxss"};
    alert(document.cookie);
    var a={"a":"&type=1&f=0#resultlist'};
</script>           

複制

是以就執行了

alert(document.cookie);

這段代碼

原因:

url裡的page參數值傳入後,其中的雙引号把javascript代碼隔開,導緻注入腳本的執行

解決:

将雙引号進行轉義

<script type="text/javascript">
    var uigs_para={"uigs_productid":"galaxy_zhibo","pagetype":'web_<%=page.toString().replaceAll("\"","&quot;")%>'};
</script>           

複制