案例:某app---找回密码修改返回状态值判定验证通过

进入福利期货注册一个账号,点击忘记密码,输入正确验证码,抓取忘记密码的数据包,右键选择Do intercept----response to this request模块(接收当前数据包的返回包),

放包直到获取有返回状态值的包

记住正确返回包的返回状态值:{"code":200,"data":"18313278106","msg":""}

放包成功进入重置密码

福利期货再次点击忘记密码,随意输入错误验证码,抓取忘记密码的数据包


右键选择Do intercept----response to this request模块(接收当前数据包的返回包)


将刚刚成功的返回状态用来替换这个错误的返回状态


点击放包成功进入重置密码页面,不用正确的验证码即可重置密码

案例:seacms—找回机制对应值修改

找回机制对应值修改:

注册两个帐号,尝试找回密码,重置密码连接重定向绕过

首页两个注册账号

尝试找回密码


点击找回密码,给邮箱发送了重置密码连接


查看链接:http://127.0.0.1/member.php?mod=repsw3&repswcode=22693cfeba02d5d96d467c28e2b37649&repswname=xhz

尝试将repswname=xhz更改为xbz访问,看看能不能将xbz的密码重置。

结果提示错误,应该是有身份验证,查看链接地址,猜测repswcode=22693cfeba02d5d96d467c28e2b37649 就是身份验证

打开源码,查看repswcode是如何生成的

根据源码得出repswcode是在数据库的sea_member表中获取的,查看数据库表


发现不对劲,明明是一起注册的两个账号,

xhz账号的repswcode值是:22693cfeba02d5d96d467c28e2b37649

xbz账号的repswcode值是:y

再注册个账号,查看是什么情况

查看数据库表,发现新注册的用户repswcode值依然是y,xhz用户和两个账号的区别就是进行过找回密码。

得出结论:没执行过找回密码操作的账号repswcode值默认为y

那么我们就可以在找回密码时更改repswcode值,来重置其他用户的密码

xhz用户找回密码:

获得找回密码链接:

更改链接为repswcode=y&repswname=xbz  访问链接,成功来到xbz的重置密码页面


免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。