• 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解密

    1. sukey=abcaef0ed0c7b19ed81152bd06ebf289
    2. MD5解密=1667908519

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

    1. 第一次:1667908004
    2. 第二次:1667908519

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

    攻击思路

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

    1. 123444重置密码 token时间戳
    2. admin
    3. bbb重置密码 token时间戳

    攻击流程

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

             接着重置admin

             接着重置bbb

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

    1. 123444 sukey:aba7c3395ce3c64ced94ac03c707b23a
    2. 链接:http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/reset.php?sukey=ef143d83adb176f95890fee4d7be42df&username=123444
    3. md5解密:1667909663
    4. bbb sukey:6a5590d73a56eae4495953e088992567
    5. 链接:http://lab1.xseclab.com/password1_dc178aa12e73cfc184676a4100e07dac/reset.php?sukey=6a5590d73a56eae4495953e088992567&username=bbb
    6. 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

     

     

  • 相关阅读:
    自动化小车数据客户端的研究与开发
    构建部署_Docker常用命令
    Drools规则引擎入门学习记录
    RabbitMQ 学习(一)-- 概念和安装
    (数据科学学习手札158)基于martin为在线地图快速构建精灵图服务
    python-(5-2)函数的作用域、嵌套、闭包、装饰器、迭代器、生成器
    Vuex 笔记
    c++ 图的重构识别
    java毕业设计疫情防控管理系统Mybatis+系统+数据库+调试部署
    【Python】基础知识
  • 原文地址:https://blog.csdn.net/qq_60115503/article/details/127757057