XSS闯关之第五关

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS闯关之第五关相关的知识,希望对你有一定的参考价值。

开启第五关
技术分享图片
查看源码,进行分析
技术分享图片
当我第一眼看到这个代码的时候,就想着用上一关的payload,只需要将其大写就可。但是结局往往就是残酷。激动之下忽略了另一个函数strtolower(),此函数,将所有的字母全部转化为小写。所以造成我的大写payload没有什么用。
将字母转换为小写后复制给变量str,然后此变量经过str_spelace()函数将其中的<script转换为<sc_ript,将转换后的字符串赋值给变量str2.这样我们的<script>标签就不能使用
Str2经过str_spelace()函数将其中的on转化为o_n。这样我们带有on字符的payload就不能使用。例如:onerror,onclick等等

构建payload:
你不让我通过这些东西攻击你,那我就绕过你的过滤去攻击。
我的另一种破解思路,通过构建超链接,这次源码并没有过滤<>,这就给了我们可趁之机。
“><a href=”javascript:alert(1)”>hack</a>
<a>...<a>标签:html中设置超链接标签
Href属性:标签<a>的属性,超链接指定的url,这里指定的是弹框事件
这时候,源码会被我们改为
<input name=keyword value=””><a href=”javascript:alert(1)”>hack</a>>
所以当我们点击hack的时候,发生弹框。
技术分享图片

总结:了解各个函数的意思,以便于真正做题,通过测试迅速分析出后台的php文件经过了那些函数的过滤。并避开过滤创造payload。

以上是关于XSS闯关之第五关的主要内容,如果未能解决你的问题,请参考以下文章

XSS闯关之第二关

XSS闯关之第四关

XSS闯关之第三关

文件上传及upload-labs闯关

Linux&bash闯关CTF

xss靶场绕过