xss-labs搭建及通关攻略

发布时间:2026/7/23 17:52:10
xss-labs搭建及通关攻略 目录xss-labs搭建xss-labs通关攻略level-1level-2level-3~level-4level-5level-6level-7level-8level-9level-10level-11~level-13level-14level-15level-16level-17~level-18level-19~level-20xss-labs搭建1首先当然是需要phpstudy的环境所以要先下载安装phpstudy。2然后到github的网址中下载源码的压缩包。下载链接GitHub - do0dl3/xss-labs: xss 跨站漏洞平台3下载后解压缩到phpstudy目录下的WWW子文件夹中把压缩包的名字改成xss-labs。4然后在输入url HTTPS://127.0.0.1/xss-labs/就可以访问靶场。xss-labs通关攻略level-1进入第一关首先观察页面给我们反馈的信息。接下来我们观察一下页面源码。发现参数会被插入标题中所以我们输入一段简单的弹窗代码进行尝试。scriptalert(heiheihei)/script结果页面弹窗提示我们通关证明我们输入的参数在被get到的时候没有经过特殊的过滤处理。level-2这关比上一关多了搜索框尝试使用上一关的弹窗代码后页面回显了但是没有弹窗也没有提示通关证明输入的内容在被get的时候经过了过滤代码不生效。我们查看源码进行观察发现回显处的和被转码掉了成了实体字符。但是我们发现获取到的属性值是没有经过转码的我们要想办法在属性被获取到的时候绕过过滤函数。我们构造语句闭合input标签再进行攻击。scriptalert(xss)/script通关成功。level-3~level-4在这关中我们输入上一关的payload可以看出两个标签中都被转码了但是单引号没有被转义所以我们可以使用单引号来构造闭合。构建代码如下 onmouseoverjavascript:alert(1) 这里提到了一个新的内容onmouseover具体可看如下参考。(1条消息) JavaScript中的onmouseover事件和onmouseout事件实例_平凡的平淡的博客-CSDN博客_onmouseover这一事件的效果是当我们的鼠标碰到input标签的位置也就是搜索框时会执行onmouseover事件。过关成功。第四关与第三关基本一直只要在构造闭合时将单引号换成双引号即可。level-5第五关中我们尝试前几关的代码已经不能使用但是发现on和script会被强制使用下划线分隔。这一关我们利用javascript伪协议进行绕过。javascript伪协议参考文章javascript伪协议是什么 - html中文网代码如下。a hrefjavascript:alert(/heihei/)构造闭合后新建一个a标签在其中使用伪协议进行绕过。过关。level-6这一关我们发现在前几关的基础上连herf也被过滤了。但是尝试过各种代码之后我们发现页面的大小写没有进行过滤所以我们可以使用大小写进行绕过。成功过关。level-7这一关我们输入上一关的代码后查看源码发现script直接变成了空值也就是检测到有script等关键字符直接替换成了空值。一般这种情况就需要用到双写来进行绕过了。代码如下。sscriptcriptalert(xss)/sscriptcript其实就是在原来的script之中的任意一个地方直接加入一个script注意这个加入的script不能分开识别到后这个加入的script会被替换成空值剩下的部分自动拼接执行时空格会被自动忽略。尝试了一下发现直接绕过了成功过关。level-8通过一番测试或直接查看源码我们发现这一关对大小写、特殊字符、单双引号进行了过滤处理。这里使用一种新的绕过方式编码绕过。在百度搜索在线unicode编码转换。在里面将我们要使用的代码编码转换后直接使用转换后的代码进行攻击即可。level-9这一关我们查看源码后发现不仅进行了一系列关键字的过滤还添加了strpos函数进行验证。strpos函数介绍PHP strpos() 函数 (w3school.com.cn)简而言之这里限制了我们输入的内容中必须有http://但是没有检测编码后代码的相关限制所以我们可以继续使用第八关的通关思路以编码绕过。我们可以将关键字javascript中的部分字符用编码代替代码如下javasc#x72;#x69;pt:alert(xsshttp://)level-10查看源码。代码中我们能够看到一个函数叫str_replace()具体这个函数的作用如下图。所以我们能够知道构造的payload中是不能含有和的。我们直接一步完成修改隐藏属性和注入的步骤直接在url中输入payload再次点击文本框即可过关。?keywordnult_sort typetext onclickalert(xss)level-11~level-13这部分怎么写都感觉不如我看的参考博客写的详细所以直接给大家放上博客链接。xss-labs通关挑战xss challenge_RuoLi_s的博客-CSDN博客里面用到了工具Hackerbar下载教程也放到这里。hackbar2.1.3 安装教程附下载地址 Firefox Chrome_coderge的博客-CSDN博客_hackbarlevel-14待解决中...level-15查看源码发现里面有一个叫做ng-include指令的东西具体原理如下ng-include指令_天马3798-CSDN博客我大概理解了一下就是说我们可以通过src传参把其他存在xss漏洞的文件包含进来然后通过对包含进来的文件的漏洞进行利用完成对本关的攻击。payload如下127.0.0.1/xss-labs/level15.php?srclevel1.php?namea hrefjavascript:alert(/xss/)level-16我们要使用其他字符进行绕过替换掉被特殊处理掉的字符。payload如下。http://127.0.0.1/xss-labs/level16.php?keywordimg%0asrc1.jpg%0aonerroralert(1)level-17~level-18这两关其实是一样的我们要从url输入两个参数然后两个参数会被获取然后会进行操作这关注入点在第二个参数上直接在值后加空格写payload就可以。payload如下http://127.0.0.1/xss//level18.php?arg01aarg02b onmouseoutalert(1)level-19~level-20待解决中....