SRC逻辑漏洞-忘记密码/邮箱密码找回/链接token时间戳参数可逆

链接token参数可逆

        通过邮箱找回密码的同时,邮箱中将出现一个含有token的重置URL,该token即为重置凭证,从经验来看,开发人员习惯以时间戳,递增序号,关键字段作为因子,采用某种加密算法或编码生成token,攻击者可以基于能收集到的关键字段,用常见加密算法计算一遍,以判断算法可以出token

        下面我将使用此靶场来进行实战测试,基于时间戳生成的token                

lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/icon-default.png?t=M85Bhttp://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/

        首先我们直接点击忘记密码,让我们输入用户名重置密码,这里我直接重置账号为admin

         点击重置密码后我们进行抓包处理,我们查看我们的请求包以及响应包

         我们目前看不到session,我们将响应包放在Repeater中,将参数username更改为其他用户查看是否会回显session

         我们输入username为123456后响应包返回了一个url:http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/reset.php?sukey=629f7833fce1e9643b1c751bc9fa6ea8&username=123456

 sukey后面的参数值可能就是账户找回的token

         我们输入username=123456会显示这些url并且有一个sukey,而admin却没有url,我们可以尝试猜测token是基于什么方式变化从而伪造一个admin的token,我们将123456的sukey保存下来

sukey=629f7833fce1e9643b1c751bc9fa6ea8

         这里猜测是md5加密,我们使用在线md5解密的网站尝试解密,解密网站MD5免费在线解密破解_MD5在线加密-SOMD5

md5解密值:1667908004

        我们再发送一条username=123的用户找到他的sukey值并进行md5解密

sukey=abcaef0ed0c7b19ed81152bd06ebf289
MD5解密=1667908519

        我们将第一次的md5解密值与第二次md5解密值进行比较

第一次:1667908004
第二次:1667908519

        我们发现这个是属于一个unix的时间戳,我们找到一个网站进行确定时间戳(Unix timestamp)转换工具 - 在线工具

攻击思路

        我们发现此网站的token是基于时间戳来md5加密的,从而我们可以破解admin的token并且伪造,我们可以先创建一个用户获得时间戳,如username=123444,在输入username=admin,因为网站不会告诉我们admin的时间戳,我们在输入一个username=bbb重置密码再一次得到一个时间戳,这样的话admin的token一定就在123444用户的token和bbb的token之间

123444重置密码  token时间戳

admin

bbb重置密码     token时间戳

攻击流程

        重置123444账户的密码【注意打开burpsuite抓包】

         接着重置admin

         接着重置bbb

         我们查看burpsuite抓获的数据包,接下来做一波sukey的信息收集

123444 sukey:aba7c3395ce3c64ced94ac03c707b23a 
链接:http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/reset.php?sukey=ef143d83adb176f95890fee4d7be42df&username=123444
md5解密:1667909663

bbb sukey:6a5590d73a56eae4495953e088992567
链接:http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/reset.php?sukey=6a5590d73a56eae4495953e088992567&username=bbb
md5解密:1667909690

我们得到1667909663-1667909690这个区间其中admin的sukey就在其中,将1667909663-1667909690进行md5的编码我们进行burpsuite的爆破 

我们访问bbb的重置密码链接通过bp抓取bbb的重置链接的数据包

 将此数据包放入intruder模块中,将sukey设置为爆破变量,将username设置为admin

接着我们开始写字典 在Payload type选择Numbers数值,From设置1667909663,To设置1667909690,Step增量我们设置为1并且要设置为md5加密,在有效负载处理Payload Processing中设置,选择Hash,选择md5就可以了

 接着开始爆破

 最后在包长度322发现提示key is yestimeispassword

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值