1234567安全码。它已被加密,然后发送以进行验证。我猜想开发人员这样做的目的是为了防止自动暴力破解工具对其系统进行利用。”
张莹:“你的意思是说,我们无法使用BurpIntruder之类的工具自动测试多个代码,因为它们不会执行加密。那下一步是不是我们必须要搞明白这里用的加密技术?”
刘鑫点了点头道:“完全正确,不过这个问题不难,因为微软所用的加密技术在过去几年都没有变化过,所以我很轻易的在一个国外的技术论坛上找到了几种微软常用的加密技术,我逐一测试后,找到了正确的加密方法,并且能够自动的完成从加密代码到发送多个并发请求的整个过程。。”
张莹:“刘鑫你太聪明了,你是怎么想到的,我怎么就没想到?”
刘鑫:“这个其实很简单的,我其实没有用太多的技术,你看我发现的这个漏洞,就是微软已经公布了的,只是我喜欢阅读他们的技术文档,因为这对我来说阅读这些技术文档,对我的帮助很大,远远胜过只读那些死板的教材。”
张莹:“这就是社会工程学吗?”
刘鑫:“可以这么说,其实很多新漏洞,都是过往很多漏洞在其他方面的错误重复,我们大部分的时候,都可以根据以往的错误,来寻找新的漏洞,因为错误总是会重复出现,又或者说程序员总会犯差不多的错误。”
张莹:“那测试的结果怎么样?”
刘鑫:“我的初始测试结果,表明存在速率限制,这符合我的预期。在发送的1000个代码中,只有122个能够成功通过,其他代码则受到1211错误代码限制。而且如果我们不断发送请求,它们将阻止相应的用户帐户发送进一步的尝试。”
“接下来,我尝试通过发送并发请求,以绕过速率限制,从而允许我们发送大量请求。但是当注入正确的7位数安全码时,我依然无法获得成功的响应。这意味着,开发人员可能已经采取了一些控制措施来防止此类攻击。”
“尽管在发送正确的安全码时出现错误,但是并没有出现我们在初始测试中遇到的阻止用户的迹象,所以我的希望并没有完全破灭。”
“之后我突然意识到,如果我们发送的所有请求没有同时到达服务器,则服务器会将IP地址列入黑名单。即使请求之间的延迟间隔只有几毫秒,服务器仍可以检测到攻击并进行组织。想通这一点后,我立即调整了代码以处理这种情况,并再次对其进行测试。。”
“令人惊讶的是,它生效了,这次我获得了成功的响应。我一共发送了约1000个左右七位数的密码,其中包含正确的那一个密码,并能够成功进行下一步更改密码。”
张莹:“我
请收藏:https://m.gulingfei.cc
(温馨提示:请关闭畅读或阅读模式,否则内容无法正常显示)