今天继续给大家介绍渗透测试相关知识,本文主要内容是XSS-labs靶场实战。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
一、第一关
xss-labs靶场是一个练习XSS的较好的靶场,我们在搭建好xss-labs靶场后,就可以在xss-labs靶场中进行闯关了。
xss-labs搭建好后页面如下所示:
点击图片,就可以来到第一关,发现页面如下所示:
我们注意到上述url中存在name参数,并且name参数的名字会显示在页面上。我们自然可以想到我们可以通过控制name参数来改变页面的显示。
因此,我们将name参数设置为可以出发xss漏洞的形式:
<script>alert(1)</scrpit>
完成后页面如下所示:
这样,我们就成功通过第一关了。
二、第二关
来到第二关,发现页面如下所示:
从上述页面可以看出,我们在搜索框里的内容,显示到了页面上,但是如果我们使用第一关的payload,则结果如下所示:
从上图中可以发现,我们的payload尽管显示到了页面上,但是没有作为JavaScript代码被执行。我们可以查看源代码,结果如下所示:
从上图红线部分可以看出,我们输入的左尖括号和右尖括号,被后台进行了过滤,因此无法被当成JavaScript代码来执行。
但是,我们同样注意到,在页面中我们还有一个input输入框,这里同样会显示我们输入的内容,下面让我们尝试根据这个input输入框的结构,来构造payload,显然,我们只需要闭合前面的双引号,即可构造除合适的payload,构造出的payload如下所示:
1"><script>alert(1)</script>
这样,我们使用该payload,果然可以成功完成,如下所示:
三、第三关
下面,我们来到了第三关,看到了如下所示的页面:
我们按照第二关的payload进行尝试,发现不能成功,查看源码如下所示:
从上图中,我们可以发现在input框中的内容左尖括号和右尖括号被进行了过滤,因此无法显示。
这样,我们考虑换一个思路,构造一个不含左尖括号和右尖括号的payload,如下所示:
123' οnclick='alert(1)
这样,我们点击“搜索”后,然后需要点击该input输入框,就会发现成功了,如下所示:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200