xss-labs靶场过关秘籍(level 5-8)
level 5
打开靶场,在输入框中使用测试xss注入代码进行测试,查看网页源码对
<script" ' Oonn>
点击搜索后查看页面源码,发现页面对script和on进行过滤,没有对双引号和单引号,尖括号等进行过滤,此处考虑用HTML的标签中的href属性进行绕过
"> <a href="javascript:alert(/xss/)">click</a>
点击搜索,页面出现蓝色的超链接,点击超链接,页面提示过关
level 6
使用测试xss注入代码进行测试注入,查看是否存在过滤
<script " ' Oonn>
页面返回不完全的代码,检查页面源码
页面源码对script和on进行过滤,没有对双引号"
,单引号'
,尖括号<>
等进行过滤,使用HTML的标签中的href属性构造超链接进行绕过
"> <a href="javascript:alert(/xss/)">click</a>
点击搜索后发现click没有变成超链接的格式,查看页面源码发现属性href被过滤
根据测试xss代码的测试结果分析,该关卡没有对大小写进行过滤,将href属性改为大写,成功绕过
"> <a HREF="javascript:alert(/xss/)">click</a>
点击超链接,页面提示过关
level 7
使用测试xss代码进行测试注入,查看过滤情况
<script " ' Oonn>
点击搜索,页面回显没有显示script和on
查看页面源码,发现该关卡将script和on进行过滤,将其替换为空,并存在大小写过滤,但是没有对双引号"
,单引号'
,尖括号<>
等进行过滤,并且过滤不完善,只存在一次过滤
通过使用HTML标签中的属性onclick进行绕过
" oonnclick="alert(1)
点击搜索,再次点击输入框,页面提示通关
level 8
使用测试xss代码进行测试注入,查看过滤情况
<script " ' Oonn>
查看网页源码,发现其将输入的内容写入了href属性中,定义成超链接
写入后对script和on进行过滤,并且过滤大小写和双引号"
,没有过滤单引号'
和尖括号<>
使用javascript构造超链接
javascript:alert(1)
点击添加友情链接,点击友情链接发现没有通关,并且提示403错误
查看页面源码发现对javascript也存在过滤
将s替换为实体编码进行绕过:s——>s
javascript:alert(1)
点击添加友情链接,点击友情链接,页面提示通关