拿到题目后直接注入语句,很显然是不可行的

通过查看网页源码得知,这是一道GET传参的题,传入的参数被双引号闭合,script标签被转义为scr_ipt,而且输出的部分应该是做了.htmlspecialchars字符转义的

尝试一下触发代码,但是还是被包裹住了而且on也被转化成o_n了

利用JavaScript语句?利用之前学习到的a标签可以包含JavaScript代码的效果,在此基础上构造表达式
">xss//"
注入后的源码语句,可以看到前面的">已经闭合了前面的语句,并且利用标签闭合将注入的语句形成独立,并且利用//注释掉后面多余的闭合符

注入后的回显

我们只需要点击生成的xss标签就可以执行JavaScript代码,达到攻击的目的

猜就晓得肯定不会比上一题简单,直接上上一题的代码,结果后台是直接将href给转换掉了


跟上次一样script给过滤掉了,但是闭合方式没有变化

on也一样,被转换掉了

但是,经过查看wp发现没有后端源码是没有进行大小写转换的,pass5在我测试的时候是进行了转换的

查看后端代码,发现果然是一大串的字符串替换函数

那就可以利用大小写过滤加上闭合符号进行注入
">//

通过pass6的经验还是的一步一步来看,第一次普通注入之后

查看源代码,对于输出还是进行了.htmlspecialchars字符转义,但是对于输入是直接将script给禁用掉的,闭合到是没有发生什么改变

on也给禁用掉了

herf也一样,猜到咯

也是存在大小写转换的

但是哦,最后注入了一下,是没有进行对img标签的过滤的,这时候也只是需要转换一下闭合条件就好咯

我去看错了已经把on转换掉了,onerror事件的执行被阻挡
所以还是用不来这个img标签,还是得看wp,原来是可以利用双写关键字进行绕过
">alert(document.cookie); //

就随便拿了一个语句出来,结果发现输入语句也被执行了.htmlspecialchars字符转义
其实也不应该说的这样绝对,也可能是禁用了""而已
而且字符串src和on也都被转换了

再看下面的语句,是一个a标签的超链接,我们注入的语句会被传输到a标签中作为“友情链接”的超链接,所以我们还是可以借用a标签能执行JavaScript语句的特质来构造语句
这里还是复习一下.htmlspecialchars字符转义

那现在是直接pass掉普通和点击事件注入
尝试大小写注入失败,结果也被转换为小写了

搞半天还是的查看wp
最后得知这一类的题目可以将注入字符进行URL编码 URL编码
javascript:alert(document.cookie)
转码之后:
javascript:alert(document.cookie)

这里要注意的是,如果弹窗里的内容是xss这类的字符串时就要利用单引号包裹起来,不然会不执行,刚开始就是,一直点没反应


学到并且复习了,大小写绕过,双写绕过,a标签特性注入的相关知识