庞博文 - 黑客对抗reCAPTCHA|暗网潜航

这个学期我正在教授与Hacking有关课程,当中涉及一个比较技术性的软件编码攻击方法。在课堂上为了让学生有更好练习环境,我在网络上设置两个真实的目标进行模拟攻击,期间有学生在练习时遇上reCAPTCHA阻挡攻击程序。一直以来,为了保护网络程式,我们都一定会设置reCAPTCHA来阻挡自动化机械人,因为网络程式本来就是设计给人类使用,如果让机械人成功进入程式,一定不会有好事发生。

不过reCAPTCHA不是万能,攻击者有其对应方法。所有reCAPTCHA核心程序基本上是由第三方提供,即使用reCAPTCHA网络程式与第三方之间会有一个连接的应用程式介面(API)来进行「输入验证」,在开放网络软件安全计划OWASP所记录程式漏洞中,有一个名叫「HTTP Parameter pollution」编号(OTG-INPVAL-004) 的「参数污染」攻击方法。这种攻击可以对抗reCAPTCHA,其利用两个网络程式进行输入验证程序,透过替代中继字元、编码和数值来愚弄两个程式的输入及输出结果。

这种攻击是利用污染沟通之间的参数来进行Bypass reCAPTCHA,它可以被利用是由于程序员在编写网站程序时,没有限制「外部使用者的权限」和「输入参数的限制范围」,所以问题并非出自第三方供应商。

我经常奉劝程序员在编写网站时,要好好想清楚程式的逻辑及限制,谨记我们常常奉行的一句口诀:「All input are evil !」,尤其是这些来自外部的input。
TOZ联合创办人
庞博文
更多文章