問題描述:
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("\"",""")%>'};
</script>
複制