赞
踩
xss的靶场地址为:http://test.ctf8.com/
需要先打开phpstudy才能进行练习
来到第一关
我们通过尝试可以发现,它的name是可以修改的,输入123,并查看其源码
查看其源代码,找到其注入点,看第15行,发现所有符号都没过滤,也没有转义,构造的语句完完整出现在这里,将注入代码输入,即可完成。
<script>alert(/xss/)</script>
来到第二关
对其输入 XSS测试语句<script " 'Oonn>
发现只有一个括号,所以基本断定是一个双引号闭合,查看源码
第17行,参数是被双引号闭合着带入到input标签中,所以在开头构造一个">把标签input标签闭合掉,再在之后拼接一个语句,这样我们构造的标签就能顺利被编译,而不是简单字符串了,另外③还需要在结尾构造一个"<把input剩下的尖括号闭合掉。
"><script>alert(/xss/)</script><"
来到第三关
输入XSS测试语句<script " 'Oonn>
什么都没出现,基本判断为单引号闭合,查看其源码
观察第17行,开头需要使用单引号’与input标签属性原有的开头单引号闭合,结尾需要单引号与与input标签属性单有的结尾单引号闭合,输入参数’οnmοuseοver='alert(/xss/)并搜索
'onmouseover='alert(/xss/)
来到第四关
输入XSS测试语句<script " 'Oonn>,并查看其源码
观察第17行,还是双引号问题,注入代码"οnmοuseοver="alert(/xss/)
"onmouseover="alert(/xss/)
来到第五关
输入XSS测试语句<script " 'Oonn>,查看其源码
观察17行发现,有关键字被转义,尝试使用其他测试语句,引入超链接绕过,注入as"> aaa
as"> <a HREF=javascript:alert(1)>aaa</a>
搜素完成后,点击标签
来到第六关
输入XSS测试语句<script " 'Oonn>,查看其源码
观察第17行,发现其大小写发生了变化,使用使用大小写绕过,注入">"<
"><SCript>alert(/xss/)</SCript>"<
来到第七关
输入XSS测试语句<script " 'Oonn>,查看其源码
观察第17行,发现只剩下value=“< " 'on>”>,script,on都被过滤了一次,考虑双写绕过,注入" oonnmouseover="alert(/xss/)
" oonnmouseover="alert(/xss/)
来到第八关,点击友情链接,跳出的页面如下
感觉没用,所以输入XSS测试语句<script " 'Oonn>,查看其源码
观察第17行,发现大小于号被转义、双引号被转义
观察第20行,发现大小于号被转义回来,双引号还是被转义着、关键字被插入下划线,此时考虑注入href的伪协议,此时注入javascript:alert(/xss/)发现不行,通过智能编码器重新进行编码,注入javascript:alert(/xss/)
javascript:alert(/xss/)
来到第九关
输入XSS测试语句<script " 'Oonn>,查看其源码
观察第17行,发现大小于号被转义、双引号被转义,大写变小写
观察第20行,发现参数被传递到href参数中,提示网址不合法,想办法让它变得合法,加入http://信息,注入javascript:alert(‘http://’)发现与上一关的情况差不多,所以重新注入javascript:alert(‘http://’)
javascript:alert('http://')
来到第十关,这关发现没有搜索框
没有搜索框,那就在搜索栏输入XSS测试语句,在这里我们使用?keyword=<script " 'Oonn>,并查看其源码
观察第15行,发现大小于号被转义、双引号都被转义、单引号没事、关键字没事,大写没有转化为小写
其中,传入参数有三个,t_link、t_history、t_sort,当我们注入?t_sort=<script " 'Oonn>时发现不行,输入t_sort 紧接着就好办了 输出的东西会在t_sort 后的value中显示在那里注入?t_sort=click me!" type=“button” οnmοuseοver="alert(/xss/)
?t_sort=click me!" type="button" onmouseover="alert(/xss/)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。