本文最后更新于3 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
第六关,大小写混淆
查看level6.php文件

分析
(1)黑名单范围
后端不仅过滤了,<script、on。还替换了src、data、href,导致第五关的解题方法在本关无效。
(2)漏洞分析
①、本关没有使用strtolower()转换大小写,使用的是区分大小写的字符串替换函数str_replace()
②、HTML不区分大小写机制
浏览器解析HTML标签和属性时不区分大小写。例如<Script> <=> <script>,Onclick <=> onclick,所以本关核心方法就是打乱大小写,可以直接绕过过滤。
(3)解题方法
①、闭合input标签、注入大写<Script>标签:
“><Script>alert()</Script>

放在输入框后,点击搜索即可,也可以构造一个URL
http://127.0.0.1/xss-labs/level6.php?keyword=”><Script>alert(1)</Script>
②、不闭合标签,利用属性大小写混淆
利用双引号闭合value属性,添加大写事件监听属性。
“Onclick=”alert()

输入到输入框,点击搜索,并再次点击输入框。
也可以构造URL
http://127.0.0.1/xss-labs/level6.php?keyword=” Onclick=”alert()
③、Href协议大小写混淆
“><a Href=”javascript:alert()”>click</a>

操作步骤一样,最后点击click超链接








