这个漏洞是挖到第一个漏洞,对,第一个漏洞..

后续查阅了相关资料

就是说同一终端,同一浏览器只会有一个会话(session)

在客户端用放在cookie里面的sessionid来匹配服务端对应的会话

验证码校验成功后,服务端会将这个seesion设置会校验成功的状态


漏洞详情

先用自己的用户走流程

1.png

输入正确的验证码后,点击下一步
(此时服务端会将我们浏览器跟该站点的会话(session)设置为以通过校验的状态

2.png

此时重新在该浏览器重新开一个找回密码的页面
输入受害者的用户名/手机号/邮箱
4.png

不用点击发送验证码,随便输入一个六位数字,然后点击下一步,抓包

6.png

将响应包里的参数值修改为正确页面的值

如果点击了发送验证码,那么尽管回跳到设置新密码页面,但是会提示不匹配,依旧失败

7.png


乌云案例

两种姿势:

1.自己的邮箱收到重置链接后,重新找回受害者密码,受害者身份发送重置链接之后,再点击自己的重置链接,此时修改的便是受害者账户密码 (以受害者的身份点击重置链接;服务端:该用户等待验证。然后用户验证通过)

http://cb.drops.wiki/bugs/wooyun-2014-085843.html

2.自己的手机收到短信验证码后,成功输入;重新找回受害者密码,然后不发送短信,直接跳转到设置新密码步骤

http://wy.hxsec.com/bug_detail.php?wybug_id=wooyun-2016-0225958

http://cb.drops.wiki/bugs/wooyun-2016-0184980.html


see also

session覆盖

Session机制详解