xss之挑战小靶场(1-10)

在线靶场(http://xss.fbisb.com)

w

第一关

get请求,没有什么过滤,直接上<script>alert()</script>

 

 源码:

 

 

第二关

输入参数会显示在文本框,直接看页面源码

 

 发现对输入的参数<>进行了HTML实体化导致不能执行js,但是输入参数会显示在文本框并且没有经过处理

 

进行对input标签的闭合,使输入的js代码执行

 

 

 源码

htmlspecialchars()函数是使用来把一些预定义的字符转换为HTML实体

被转换的预定义的字符有:

&:转换为&amp; ":转换为&quot;':转换为成为 '<:转换为&lt;>:转换为&gt;

 

 

第三关

和第二个差不多,直接上"><script>alert()</script>,但是发现没有像上一关一样

查看页面源码发现input文本框的值也被实体化了,注意这一关使用的是单引号

 

 这时候该是考虑为协议的时候到了,onclick 当点击按钮时执行一段 JavaScript

 

 不错,成功,输入成功文本框是空的。当我们点击他就会执行js代码

源码

 

 第四关

输入敏感字体发现<>不见了,直接看页面源码

 

 

 

可以看到<>被过滤了,但是我们还有onclick,注意双引号了,这二货

 

 

完美

 

 

 源码

 

 

第5关

上面是我输入的直接实体化,不用想了,拿来看还是不错的,文本框是服务器处理后的可以发现script被替换了,直接查源码

可以看出,script ,onclick 等都被替换了,不过<>"都没有,这个可以利用<a>标签

 

 直接构造代码,注意闭合input,变成"><a href=javascript:alert()>123</a>,页面重新超链接,点击就会调用我们的js了

 

 

源码

 

 第六关

经过前面的做题,我发现太慢了,直接在空格输入敏感词,这样方便多了,这不把我可爱的href也也替换了

 

我瞬间又想到了<img>,谁知道,又把src替换了

 

 

 

 

居然你有规则知道我输入非法参数,那我就试试绕过你的规则,大小写,复写,编码,这一题,复现肯定不合适,所有大小写咯,

 

 

源码

 

 

 第七题

把我可爱的script替换了,这不这一天复现的机会来了

 

不错,

 

 

 源码

 

 

第八关

输入敏感词,没反应直接看页面源码

 

也是script被替换了,试过大小写不行,那么只能是编码

 

 

把其中的p转换成16进制,🆗。注意转换编码不能全部转换,不然js会不被识别

 

 

 源码

 

 第九关

输入敏感词,获取不到上面有用的信息,看页面源码

 

whit?不合法,为啥,想一想我们平时访问网页,前面都有http://,https://

 ,

 

没毛病,果然http://可以,https://不行,那就简单了

 

 

🆗,其中的script也进行了替换,直接16编码P,几把在http://前面加//注释调,不然js会出差执行不了

 

 

 源码

 

 

第十关

输入敏感词,没什么利用信息,看源码

 

 输入敏感实体化,没什么利用,不过找到三个input标签并且都有name,可以试试

 

发现有一个参数可控

 

 

 

 

构造js伪协议,不过要在前面加type=text,不然type=hidden隐藏,那就点个锤子

 

 

 源码

posted @ 2019-12-11 17:25  小白成长记录篇  阅读(1992)  评论(0编辑  收藏  举报