写在最前面:
仅供学习使用。
前端三件套自学的不是很好,所以很多地方可能有点不清楚、有疑惑,请大佬带带。
第一关
这关考察的是反射型xss,在这关学到的是在<h1></h1>等文本类标签里插入<script>alert(xss)</script>可以执行,只要没有额外条件过滤。
观察网页和url可以看到name是个变量。于是在变量上输入JS进行测试成功。
![](https://img-blog.csdnimg.cn/img_convert/0f2b6f1de8bd8ecc80dae4ea5d09cc38.png)
网页源码差不多就变成了这个样子
![](https://img-blog.csdnimg.cn/img_convert/387db980a4afe0f5ccfafb4966115795.png)
第二关
因为是xss,所以打开网页源码发现test这个是input的value的值,value会将JS当做值来处理,尝试简单JS弹窗。
![](https://img-blog.csdnimg.cn/img_convert/ca105130f90e727fd9b67c867e4a6d8a.png)
失败了好呀,发现没有过滤JS关键字,那么就对语句进行构造,闭合input,让JS不再作为值,而是一段JS代码,测试成功。
test"><script>alert(1)</script>
![](https://img-blog.csdnimg.cn/img_convert/692c5acfbc2fe4801900aff4c2fe96cc.png)
第三关
.htmlspecialchars()这个php函数让 < 和 > 不会被浏览器用作HTML标签运行,即不当做字符,当做HTML实体。
输入第二关的语句进行测试,发现input被闭合了,但是却没有反应,于是猜测有 .htmlspecialchars() 函数。源码里确实是这个。第八关就是从这个函数方面入手。
![](https://img-blog.csdnimg.cn/img_convert/0f27a59cc79324fdb774e5a66a8bbc97.png)
构造不会被转换的语句,这时我想到的是HTML事件 ' οnclick='alert(1),因为单引号不会被转义,所以这时使用单引号就可以将value闭合,进而闭合input。使用 ' οnclick=alert(1)// 也行,//注释了后面的所有语句,一样可以执行。
![](https://img-blog.csdnimg.cn/img_convert/bd62f7f472789ef3702cb85d5423f179.png)
![](https://img-blog.csdnimg.cn/img_convert/10b6e7f9da7204b8c6ef3548801eafe4.png)
第四关
照例使用弹窗看看有无过滤,发现 < > 被过滤了,即不能使用标签了。
![](https://img-blog.csdnimg.cn/img_convert/54d96994faf2129023adf1dcfddbefc1.png)
尝试点击弹窗,发现没有过滤单引号,同时value后面不是单引号,那八成是双引号,打开源代码一看果然是,那就直接把单引号改成双引号,果然可以。
![](https://img-blog.csdnimg.cn/img_convert/f2f62570f5f2b4200aae188564acfeb3.png)
![](https://img-blog.csdnimg.cn/img_convert/82dff65def21dd147e70759193bfa53a.png)
![](https://img-blog.csdnimg.cn/img_convert/fbdd058dc38894e9975bf0206ec05ee3.png)
第五关
照例使用弹窗看看有无过滤,发现script被重组了,但是标签可以用。html事件型的onclick也被重组了。那么试试javascript:alert(1)
![](https://img-blog.csdnimg.cn/img_convert/f30767dd0d30a2b768b88a6583c8828e.png)
javascript:alert(1)没有问题,那么试试构造标签。
![](https://img-blog.csdnimg.cn/img_convert/331f34565243b185b7ef6388708b21c3.png)
这里构造超链接。
"><a href="javascript:alert(1)">link</a>
果然可以
![](https://img-blog.csdnimg.cn/img_convert/edfaf0ffe822901290fbd5ecbe029aaf.png)
但是之前尝试不闭合,发现下面的图片和字段都变得可以点击了,不知道为什么标签自动补齐了?
点击也可以过关。
![](https://img-blog.csdnimg.cn/img_convert/cc1b83caa9adfdbb3470e2043c56069f.png)