今天继续给大家介绍渗透测试相关知识,本文主要内容是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




![[附源码]SSM计算机毕业设计作业自动评阅系统JAVA](https://img-blog.csdnimg.cn/88c1daf617d04992be4583f51c5784e7.png)




![[Java] [Spring boot] Mybatis generator 生成Mapper.xml无效的问题](https://img-blog.csdnimg.cn/fdf00d5a1e7645049c117e8c65246144.png)




![[iOS]分析Mach-O文件](https://img-blog.csdnimg.cn/0543b9b0c74443f69d5856017eb5f802.png)



![[UE][C++]Assimp库安装编译,UE_Assimp插件安装使用,各种三维格式转换](https://img-blog.csdnimg.cn/ef81b2aa4eac431e80a2eba3376db560.png)
