三种不同方式的账号接管

时间:2024-10-29 12:26:03

在我最近的一个渗透测试项目中,我发现了在同一个重置密码端点上进行 帐户接管的 3 种方法。

图片

    三种方式包括:XFF绕过、resp响应修改、批量匹配

    在对应用程序进行一些模糊测试之后,我发现了应用程序上用于重置密码的一处接口。

OTP暴力测试:

    通过一些模糊测试,我发现了一个用于重置密码的接口,然后我尝试通过这个接口重置我的密码。

    模糊测试提示:通常我会检查应用程序使用哪种编程语言,然后我转到 assetnote 列表并开始使用它进行模糊测试。

选择是否通过电话或电子邮件接收 OTP

我继续并点击发送,并添加了任何 OTP,然后拦截了请求

图片

添加XFF头:

    添加X-Forwarded-Host:127.0.0.1
绕过了速率限制,并在每次请求时不断更改标头中的 ip,例如:192.168.1.2、192.168.1.3、...

图片

    获取正确的 OTP *不同的响应长度*然后只需知道 ID 或电子邮件即可更改任何帐户的密码。

更改resp响应:

    在检查输入错误的 OTP 的响应时,我注意到响应主体只是数字(-10),没有设置或更改任何 cookie 或会话,这意味着您可以轻松修改resp响应。

图片

这里将-10修改为1测试:

    会重定向到页面上设置新密码,这意味着设置新密码的逻辑存在错误,导致帐户被接管。

批量匹配:

    在重置密码的最后一步设置新密码时,我对参数进行了模糊测试,发现了电子邮件参数。

图片

    在网页中添加密码后拦截请求,并添加带有其他用户电子邮件加密值的电子邮件参数,您将能够更改其他用户的密码,然后接管帐户。

图片

这里需要js逆向,得到邮箱的加密值,邮箱和密码的rsa加密值。

图片

    添加另一个用户的电子邮件参数(在这种情况下甚至没有检查确认密码参数。

 免费获取网安资料:

 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关