XSS-labs靶场实战(二)——第4-6关

今天继续给大家介绍渗透测试相关知识,本文主要内容是XSS-labs靶场实战第4-6关。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、第四关

我们进入xss-labs的第四关,页面如下所示:
XSS-labs靶场实战(二)——第4-6关_第1张图片
第四关解题思路和第三关非常相似,就是把第三关的单引号换成双引号,如下所示:
XSS-labs靶场实战(二)——第4-6关_第2张图片
我们构造如下所示的payload:

123" onclick=alert(1)

之后,点击“搜索”,然后点击input输入框,就完成任务了,如下所示:
XSS-labs靶场实战(二)——第4-6关_第3张图片

二、第五关

接下来,我们来到第五关,第五关页面如下所示:
XSS-labs靶场实战(二)——第4-6关_第4张图片
我们按照第四关的payload进行尝试,发现不能成功,查看源码如下所示:
XSS-labs靶场实战(二)——第4-6关_第5张图片
从上图可以看出,我们的payload中的onclick被后台修改为o_nclick,这样,就导致我们的payload失败了。
我们查看该关的后套后台PHP代码,发现如下所示:
XSS-labs靶场实战(二)——第4-6关_第6张图片
由上图可以看出,站点将我们的输入匹配on关键字,当匹配到后就在中间添加一个下划线。针对这一关,我们可以想办法不适用带on的关键字payload。
构造含有标签的payload可以避免使用带on的关键字,我们可以将payload写在
标签的href属性中,这样构造的payload如下所示:

123">(1)">123</a>

完成后,我们点击搜索,就会发现页面上出现一个超链接,我们点击该超链接,即可通过本关,如下所示:
XSS-labs靶场实战(二)——第4-6关_第7张图片

三、第六关

接下来,我们进入到xss-labs的第六关,第六关页面如下所示:
XSS-labs靶场实战(二)——第4-6关_第8张图片
我们尝试使用第五关的payload,发现不能成功,查看源码如下所示:
XSS-labs靶场实战(二)——第4-6关_第9张图片
问题在于href关键字也被过滤了,中间加入了一个下划线。我们可以看到第六关的PHP源码如下所示:
XSS-labs靶场实战(二)——第4-6关_第10张图片
然而,从第六关的源码可以看出,第六关的源代码忽略了之前关卡中有的strtolower()函数,这就意味着我们可以通过大小写绕过的方式通过第六关。(如果拿不到源码,也可以通过不断尝试的方式发现这种方法)因此,我们构造的payload如下所示:

123">(1)">123</a>

构造该payload后,我们点击“搜索”,然后点击弹出的超链接,结果如下所示:
XSS-labs靶场实战(二)——第4-6关_第11张图片
从上图可以看出,我们又成功的通过了第六关!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(渗透测试,XSS,xss-labs,渗透测试,信息安全,Web安全)