今天继续给大家介绍渗透测试相关知识,本文主要内容是XSS-labs靶场实战第4-6关。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
一、第四关
我们进入xss-labs的第四关,页面如下所示:
第四关解题思路和第三关非常相似,就是把第三关的单引号换成双引号,如下所示:
我们构造如下所示的payload:
123" onclick=alert(1)
之后,点击“搜索”,然后点击input输入框,就完成任务了,如下所示:
二、第五关
接下来,我们来到第五关,第五关页面如下所示:
我们按照第四关的payload进行尝试,发现不能成功,查看源码如下所示:
从上图可以看出,我们的payload中的onclick被后台修改为o_nclick,这样,就导致我们的payload失败了。
我们查看该关的后套后台PHP代码,发现如下所示:
由上图可以看出,站点将我们的输入匹配on关键字,当匹配到后就在中间添加一个下划线。针对这一关,我们可以想办法不适用带on的关键字payload。
构造含有<a>标签的payload可以避免使用带on的关键字,我们可以将payload写在
<a>标签的href属性中,这样构造的payload如下所示:
123"><a href="javascript:alert(1)">123</a>
完成后,我们点击搜索,就会发现页面上出现一个超链接,我们点击该超链接,即可通过本关,如下所示:
三、第六关
接下来,我们进入到xss-labs的第六关,第六关页面如下所示:
我们尝试使用第五关的payload,发现不能成功,查看源码如下所示:
问题在于href关键字也被过滤了,中间加入了一个下划线。我们可以看到第六关的PHP源码如下所示:
然而,从第六关的源码可以看出,第六关的源代码忽略了之前关卡中有的strtolower()函数,这就意味着我们可以通过大小写绕过的方式通过第六关。(如果拿不到源码,也可以通过不断尝试的方式发现这种方法)因此,我们构造的payload如下所示:
123"><a Href="javascript:alert(1)">123</a>
构造该payload后,我们点击“搜索”,然后点击弹出的超链接,结果如下所示:
从上图可以看出,我们又成功的通过了第六关!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200