龐博文 - 黑客對抗reCAPTCHA|暗網潛航

這個學期我正在教授與Hacking有關課程,當中涉及一個比較技術性的軟件編碼攻擊方法。在課堂上為了讓學生有更好練習環境,我在網絡上設置兩個真實的目標進行模擬攻擊,期間有學生在練習時遇上reCAPTCHA阻擋攻擊程序。一直以來,為了保護網絡程式,我們都一定會設置reCAPTCHA來阻擋自動化機械人,因為網絡程式本來就是設計給人類使用,如果讓機械人成功進入程式,一定不會有好事發生。

不過reCAPTCHA不是萬能,攻擊者有其對應方法。所有reCAPTCHA核心程序基本上是由第三方提供,即使用reCAPTCHA網絡程式與第三方之間會有一個連接的應用程式介面(API)來進行「輸入驗證」,在開放網絡軟件安全計劃OWASP所記錄程式漏洞中,有一個名叫「HTTP Parameter pollution」編號(OTG-INPVAL-004) 的「參數污染」攻擊方法。這種攻擊可以對抗reCAPTCHA,其利用兩個網絡程式進行輸入驗證程序,透過替代中繼字元、編碼和數值來愚弄兩個程式的輸入及輸出結果。

這種攻擊是利用污染溝通之間的參數來進行Bypass reCAPTCHA,它可以被利用是由於程序員在編寫網站程序時,沒有限制「外部使用者的權限」和「輸入參數的限制範圍」,所以問題並非出自第三方供應商。

我經常奉勸程序員在編寫網站時,要好好想清楚程式的邏輯及限制,謹記我們常常奉行的一句口訣:「All input are evil !」,尤其是這些來自外部的input。
TOZ聯合創辦人
龐博文
更多文章