xss-labs下载地址:​​https://github.com/do0dl3/xss-labs​

搭建环境是使用的phpstudy搭建

level1

根据源代码显示,可以知道没有任何过滤直接通过name参数传递前端的信息,并且可由客户端控制,所以得出如下测试payload

​http://10.0.1.83/xsslab/level1.php?name=<script>alert(/xx/)</script>​

Xss-labs-level1-2_html

level2

测试xss的过程首先输入一个正常的代码,然后根据显示的结果右键查看网页源代码,查看过滤了哪些符合和代码,根据实际情况进行闭合和注释进行测试,具体如下:

输入一个正常的bmfx,没发现啥过滤的问题,然后输入一个常规的xss的payload代码 <script>alert(/bmfx/)</script> 发现如下信息:

Xss-labs-level1-2_php_02

测试xss的时候使用Firefox的firebug测试工具很方便,根据上述可以知道表单value原样输出<script>alert(/bmfx/)</script> 但是前面有双引号,小尖括号和后面的双引号 ,所以需要闭合小尖括号,双引号和注释后面的引号即可,最终payload如下:

"> <script>alert(/bmfx/)</script> //

Xss-labs-level1-2_双引号_03

题记

上述level2 经过查看源代码确认是通过函数htmlspecialchars进行过滤的,具体介绍: ​​https://www.w3school.com.cn/php/func_string_htmlspecialchars.asp​​  

网上的一些绕过方式:

​https://www.zhihu.com/question/27646993​


迷茫的人生,需要不断努力,才能看清远方模糊的志向!