XSS篇

您所在的位置:网站首页 拦截技巧 XSS篇

XSS篇

#XSS篇| 来源: 网络整理| 查看: 265

改变大小写

在测试过程中,我们可以改变测试语句的大小写来绕过XSS规则:

比如:alert(“xss”);可以转换为: ALeRt(“XSS”);

关闭标签

有时候我们需要关闭标签来使我们的XSS生效。

比如:“>alert(“Hi”);

使用hex编码绕过

我们可以对我们的语句进行hex编码来绕过XSS规则

比如:alert(“xss”);可以转换为: %3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%78%73%73%22%29%3b%3c%2f%73%63%72%69%70%74%3e

绕过magic_quotes_gpc

magic_quotes_gpc=ON是php中的安全设置,开启后会把一些特殊字符进行轮换,比如’(单引号)转换为\’,”(双引号)转换为\”,\转换为\\

比如:alert(“xss”);会转换为alert(\”xss\”);,这样我们的xss就不生效了。

针对开启了magic_quotes_gpc的网站,我们可以通过javascript中的String.fromCharCode方法来绕过,我们可以把alert(“XSS”);转换为

String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 88, 83, 83, 34,41)那么我们的XSS语句就变成了

String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 88,83, 83, 34, 41, 59)

String.fromCharCode()是javascript中的字符串方法,用来把ASCII转换为字符串。

最后使用转换后的放到这里包含即可。

利用标记注射Html/Javascript

如果用户能随心所欲引入标记,那他就能操作HTML标记,然后就能通过标签插入JS恶意脚本了,例如:

alert(‘XSS‘);

当然如果对""和script等进行了过滤,上面这个就无法执行了

利用HTML标签属性值执行XSS

很多HTML标记中的属性都支持javascript:[code]伪协议的形式,这就给了注入XSS可乘之机,例如:

这里即便对传入的参数过滤了,XSS还是能发生(前提是该标签属性需要引用文件)

空格/回车/Tab

假设过滤函数进一步又过滤了javascript等敏感字符串,只需对javascript进行小小的操作即可绕过,例如:

 

这里之所以能成功绕过,其实还得益于JS自身的性质:Javascript通常以分号结尾,如果解析引擎能确定一个语句时完整的,且行尾有换行符,则分号可省略

而如果不是完整的语句,javascript则会继续处理,直到语句完整结束或分号。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3