2013-01-08 60 views
1

我不知道這是否算作一個XSS這種XSS,但它造成的錯誤如何解決Rails中

我有一個IMAGE_TAG和:alt標籤是由用戶生成的

然而,使用sanitize/h/html_escape不會與此(從OWASP- here

';alert(String.fromCharCode(88,83,83))//';alert(String.fromCharCode(88,83,83))//"; 
alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//-- 
></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT> 

時幫助210
:alt => (the string above) 

圖像的輸出一團糟

有沒有辦法解決這個XSS?

我使用的是最新的軌道,紅寶石

回答

1

由於Rails的3.2.8,並因而CVE-2012-3464修復,Rails的逃生傭工的逃生雙引號和單引號。

如果你實際使用的是正確的版本,你應該沒問題。

>> ERB::Util.h '\';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//--></SCRIPT>">\'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>' 
=> "&#39;;alert(String.fromCharCode(88,83,83))//&#39;;alert(String.fromCharCode(88,83,83))//&quot;;alert(String.fromCharCode(88,83,83))//&quot;;alert(String.fromCharCode(88,83,83))//--&gt;&lt;/SCRIPT&gt;&quot;&gt;&#39;&gt;&lt;SCRIPT&gt;alert(String.fromCharCode(88,83,83))&lt;/SCRIPT&gt;" 

(注:在上面的原始字符串的反斜槓需要在那裏對Ruby正確解析,然後包含單引號逐字的字符串。)

0

ü可以通過過濾器修復「'和>只是這三個字符是不夠的