记一次某网站任意用户账号密码修改

华盟原创文章投稿奖励计划

原文首发在:先知社区

https://xz.aliyun.com/t/14103

网站存在注册、修改密码等界面,使用我们之前注册好的账号进入修改密码处尝试修改

自动草稿


点击下一步后,进入验证的第二步,填入我们注册账号时使用的邮箱,点击获取验证码

自动草稿


然后我们可以在bp数据包中找到发送验证码的数据

自动草稿


可以看到发送验证码后,响应包中的id值为988,后面测试发现这里每一次忘记密码发送邮箱后会告诉我们id值,从这里我们可以知道我们下一次点击忘记密码的值应该为989,这里为什么需要这个值我们后面会讲到的,知道下一个值后我们需要知道该值在经过网站加密后的值是多少
在上图中可以看到username的值在发送验证码时会可以得到加密值为j1uwBGuK2Pojx%2BdR 所以我们是否可以通过注册一个用户名为989的用户来获取989的网站加密值呢?使用网站的注册界面注册一个989用户

自动草稿


注册好后回到忘记密码界面

自动草稿


然后点击下一步用bp抓包看到下面这个数据包中有989的加密值

自动草稿


然后我们就可以开始修改其他用户的密码了,这里以admin123用户为例去修改密码,跟上面类似,输入用户可以获取到用户的加密值

自动草稿


然后可以使用下面这个数据包修改密码了,其中的username的值为需要修改用户的加密值,codesign的值为我们前面需要的id值的加密值,最后填上要修改的密码即可

自动草稿

可以看到虽然返回值为false,但是返回跳转路径为step=5,也就是我们确实成功修改了admin123的密码了,使用修改的密码尝试登录

自动草稿


可以看到成功登录,通过这个方法可以修改任意用户的密码,主要思路是注册一个与下一次忘记密码的id值一样的用户来获取到id的加密值进而实现的任意用户账号密码修改

黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文


END

本文来源先知社区,经授权后由华盟君发布,观点不代表华盟网的立场,转载请联系原作者。

发表回复