xss-labs题目解析(1-6)

本文详细介绍了XSS跨站脚本攻击的多种利用方式,包括第一关到第六关的 payload 构造过程,展示了如何在遇到过滤机制时通过调整代码触发XSS。涉及的关键点包括js代码标志、字符过滤、事件触发以及协议利用等,揭示了XSS攻击的技巧和防御难点。
摘要由CSDN通过智能技术生成

1.第一关:

 payload:?name=<script>alert(/xss/)</script>

<script></script>就是js代码的一个标志,浏览器会根据他,把这段代码当作js代码执行

alert触发弹框操作,这句话是验证xss漏洞是否存在的代码。

2.第二关:

 提供一个检验是否含有过滤关键字符的代码:

<script ' "/\ Oonn>

当作参数内容提交之后查看源代码:

发现啥也没过滤,在我们提交的<script '"/\ Oonn>后面他自动加了一个">说明他要双引号闭合,而且input标签也要保持完整,所以我们提交:

payload:"><script>alert(/xss/)</script>

如果不手动闭合input标签(输入:"<script>alert(/xss/)</script),他就默认value的值是我们输入的所有内容,就默认在最后闭合,此时他会自动加上">,就会导致我们的xss不正确如下图:

 所以我们要自己手动闭合。

3.第三关:

还是先提交:<script ' "/\ Oonn>查看源代码:

发现他是单引号闭合,后面自动加了一个’>,所以构造payload:'><script>alert(/xss/)</script>

 

 但是没有成功查看源代码发现,他把>转码了,无法正常闭合,所以我们采取不用>的xss代码:mouse事件触发,由鼠标悬停触发的事件,这里不要忘记单引号闭合的事情,所以构造

payload:'οnmοuseοver='alert(/xss/)  此时alert执行的原因是触发了mouse事件。当鼠标放到输入框上时弹出:完成的不错!

这一题未闭合input标签是因为我们需要执行的代码里面不需要保证尖括号闭合的事情,所以这个参数自动加上的>对我们没有影响。

4.第四关:

还是先提交:<script ' "/\ Oonn>查看源代码:

发现:双引号闭合,发现过滤>,所以和上题一样的思路,只不过是双引号闭合,构造payload:"οnmοuseοver="alert(/xss/)

5.第五关:

 还是先提交:<script ' "/\ Oonn>查看源代码:

 发现双引号闭合,script on被中间被添加了一个_,而且对大写敏感,我们尝试:<script script ' "/\ Oonn>

 发现第二个script是正常的,然后构造payload:"><script script>alert(/xss/)</script>,没成功。

虽然第二个script正常了,但是这个xss代码无法正常执行了,使用另外一种方法,使用javascript伪协议构造的方法, 输入:<a href ="javascript:alert(/xss/)">touch me!</a>

这时没有闭合input标签,不能嵌套a标签和input标签这会导致<a></a>无法正常执行

payload:"><a href ="javascript:alert(/xss/)">touch me!</a>

 点一下touch me就可以了。

我们先不点查看源代码:

 这里的value值被闭合了,虽然系统还会自动在最后加上">,但是因为不完整,在这里没有影响了,返回点击touch me通关吧。

6.第六关

 还是先提交:<script ' "/\ Oonn>查看源代码:

 和上一题有一点不一样,就是对大小写不敏感,提交"><a href ="javascript:alert(/xss/)">touch me!</a>,没成功,查看源代码:

 这一题把href里面添加了下划线,想想href能不能绕过,那就用一下大写吧,提交成功

payload:"><a hREf="javascript:alert(/xss/)">touch me!</a>

以上内容若有错误,欢迎指正(部分参考千峰教育)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值