xss-labs靶场的搭建和通关(1-18)

xss-labs是一个专门练习xss的靶场

搭建

下载链接:GitHub-xss-labs
(1)下载后直接解压到phpstudy的www目录下,名字改为xss-labs。
(2)打开浏览器,直接进入http://127.0.0.1/xss-labs/,即可访问靶场。
xss-labs靶场的搭建和通关(1-18)_第1张图片

level-1

xss-labs靶场的搭建和通关(1-18)_第2张图片
可以看到参数传入name,所以直接在name后参数写上js代码。完美通关。

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

xss-labs靶场的搭建和通关(1-18)_第3张图片

level-2

xss-labs靶场的搭建和通关(1-18)_第4张图片
多了一个搜索框,输入上一关的js代码试试看,发现没有什么卵用。应该是代码经过了过滤。
xss-labs靶场的搭建和通关(1-18)_第5张图片
查看源代码发现内容在value里面,所以我们尝试用>闭合input,构造js代码为:

">变成了< >alert(1)< >,看一下源码。发现是把script,空格,/,都转换成了 , 就是空格字符。
xss-labs靶场的搭建和通关(1-18)_第51张图片
这里用onerror事件进行绕过

<img src=1 onerror=alert(1)>

这串代码意思就是如果在加载src给的图片时发生错误则执行 js。通过源码看到空格被过滤,那么最常用的就是用回车来代替空格。

<img
src=1
onerror=alert(1)>

回车的url编码为%0A,所以最终payload为:

<img%0Asrc=1%0Aonerror=alert(1)>

xss-labs靶场的搭建和通关(1-18)_第52张图片
通关通关。

level-17

看一下url应该是arg01和arg02进行传参。

xss-labs靶场的搭建和通关(1-18)_第53张图片
试一下onclick事件。
xss-labs靶场的搭建和通关(1-18)_第54张图片

点一下图片会跳转发现没什么用。换成onmouseover试试。
xss-labs靶场的搭建和通关(1-18)_第55张图片
鼠标移到图片上,成功通关。

level-18

一片黑。。。而且通关url看到和上一关一样用arg01,arg02传参。
xss-labs靶场的搭建和通关(1-18)_第56张图片继续用onmouseover事件?arg01= onmouseover&arg02=alert(1),直接就过了???

level-19/20

url里还是有arg01和arg02传参,继续用上一关的payload。什么都没有。看一下前端,奥原来在双引号里,需要闭合。试了一下也没什么用,原因就是这里依然有htmlspecialchars()函数进行处理,所以无法成功闭合。
xss-labs靶场的搭建和通关(1-18)_第57张图片
网上查了一下,要用到flash反编译,这方面的知识还是空白,先学习一下,后边再发出来。20关也是一样。有兴趣的同学可以看一下别的大佬的writeup:XSS-labs Level 19 Flash XSS

结语

这次的xsslabs通关耗费了挺多时间,由于本人才学疏浅,难免会有一些错误,希望大家能指正批评,如有疑问,可在下方留言,会第一时间进行回复!
感谢同学愿意花时间阅读这篇文章,希望可以对你有所帮助!

你可能感兴趣的:(xss,javascript,前端)