xss挑战之旅level8-level15复现
Level8:
尝试利用编码绕过,代码转换机制将script中的ri变成了r_i,所只编码r和i试试(html实体编码和hex编码都可以绕过):
字母 | 十进制 | 十六进制(hex) |
r | r | r |
i | i | i |
script的实体编码:
script
Level9:
用上一关的payload(javascript:alert(1))试一下:
加了个strpos函数,这函数的意思是输入的字符串里面必须要有http://字符,javascript:alert(‘1 http://’):
Level10:
(1)
(2)
(3)查看网页源码,有几个type=hidden的输入框,可以通过onclick去触发该弹窗: t_sort=" type="text" onclick="alert('1')"
Level11:
抓包,将cookie改为Referer,并在里面输入" type="text" onclick="alert('1')":
修改完后,页面会出现一个弹窗:
查看源码,input标签藏在User-Agent中,抓包,修改User-agent:
level13:
查看代码,是cookie类型的xss注入,setcookie("user", "call me maybe?", time()+3600),
Level14:
exif xss
http://ww1.exifviewer.org/连接不上
Level15:
查看源码,
ng-include函数可以在html文件中包含外部的html文件,
ng-include,如果单纯指定地址,必须要加引号';ng-include,加载外部html,script标签中的内容不执行;ng-include,加载外部html,含有style标签样式可以识别。
payload:src='level1.php?name=test<img src=1 onerror=alert(1)>'
构造合法payload:
src='level1.php?name=<img src=1 onerror=alert(1)>'