码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

     

     

  • 相关阅读:
    欧盟仍在阻止社交媒体用户的数据传输
    全面发展数字经济主航道 和数集团积极推动UTONMOS数藏市场
    【pen200-lab】10.11.1.21(实际获得22权限)
    66-86-javajvm-堆
    VScode连接Xshell 并解决【过程试图写入的管道不存在】报错
    多机分布式执行异步任务的实现姿势
    7-171 找出最小值
    命令模式,命令 Command 类对象的设计(设计模式与开发实践 P9)
    代码随想录算法训练营第五十一天 | 121. 买卖股票的最佳时机、122.买卖股票的最佳时机II
    【网络工程】7、实操-万达酒店综合项目(一)
  • 原文地址:https://blog.csdn.net/qq_60115503/article/details/127757057
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号