记一次逻辑漏洞的挖掘
irrik 渗透测试 11974浏览 · 2020-08-14 02:25

某次漏洞挖掘的过程中,碰到一个与以往挖掘的逻辑漏洞有些差别的漏洞,在此记录一下。
漏洞点在忘记密码处。如图。

这里随便找了一个同学的学号进行下一步的操作。
这里正常验证的话,需要学号和身份证的信息,但是我们是没有身份证信息的,但是这里可以简单的抓包然后改包进行下一步。

响应包返回如下

看到这个响应包,相信有经验的师傅们都会会心一笑。这里尝试将响应包的failure改为success.

发现可以成功的带我们来到重置密码的界面。

这里还有一个拦路虎,手机验证码,且不说验证码能不能爆破的问题,仅当我点击发送验证的时候,页面的响应如下

这里看来还验证了上一步学号和身份证的验证结果,发送验证码在服务端看来是非法的。
不死心的我,尝试了将验证码置空,或者填了0000和9999之类的,最后干脆删掉了验证码字段,当然也都没有成功。
最后观察了一下提交密码重置后的响应包,如图。

这里当时看到这个null的时候,突然就灵光一闪。
会不会服务端根本没生成验证码(因为我点击发送验证码的时候显示了非法请求),从而导致验证码的值为null?
马上尝试了一下,发现了新世界!
请求包如下

再看看返回的响应包,成功了!

这和我以往碰到的单纯改响应包下一步验证的绕过稍稍有些不同,稍微根据响应包返回的信息,猜想了一下后端的逻辑,希望能给各位师傅一起分享一下漏洞挖掘的经验(新手上路大佬轻喷)

7 条评论
某人
表情
可输入 255
irrik
2020-09-03 12:30 0 回复

@xia****geya 没有尝试过,不清楚噢


irrik
2020-09-03 12:29 0 回复

@人ru故 阿,是的噢


xia****geya
2020-08-25 15:37 0 回复

qq可以利用这个方式跳过这种验证找回密码吗?


人ru故
2020-08-16 15:03 0 回复

nk的高危也是挖的sso的逻辑缺陷么


17岁的one
2020-08-14 04:45 0 回复

@ir**** hhhh是的,运维背大锅>.>


irrik
2020-08-14 04:38 0 回复

@17岁的one 我那个时候已经修复了验证码置空的问题,应该是师傅挖了我又再次绕了2333


17岁的one
2020-08-14 03:22 0 回复

没记错的话这是TJ的CAS,同一个系统开在一个C段的两个IP上,当时漏洞提了哪个IP就封哪个IP。校方的操作真是服了。

师傅,其实最后的接口可以未授权,改username来批量改密码哈哈


目录