写点什么

认证实验室实战演练 - 深入解析认证与授权漏洞

作者:qife
  • 2025-08-10
    福建
  • 本文字数:866 字

    阅读完需:约 3 分钟

认证实验室实战演练

认证实验室包含一系列与认证/授权相关的挑战,所有案例均源自真实渗透测试经验或由其他测试人员提供。


您可以通过在线实验室直接体验最新挑战,或从GitHub获取 Golang 编写的源码自行搭建环境。

IP 认证绕过

漏洞原理


开发者为实现免登录,通过校验请求源 IP 进行自动认证,但错误地信任了X-Forwarded-For头部。攻击者只需伪造该头部即可获得管理员权限。


利用过程


for ip in {1..255}do  curl https://authlab.digi.ninja/Bypass -H "X-Forwarded-For: 192.168.0.$ip" -o $ip.outdone
复制代码


通过分析响应差异,发现192.168.0.14为特权 IP。

时序攻击

漏洞特征


系统对有效用户名的响应时间显著长于无效用户名,通过 Burp Intruder 检测响应时间差异可枚举有效用户。


关键步骤


  1. 获取用户名字典

  2. 配置 Burp 攻击时添加响应时间列

  3. 分析耗时异常的请求识别有效用户

客户端认证缺陷

漏洞分析


认证逻辑完全在 JavaScript 中实现,采用 XOR 运算验证凭证:


function login(){  var creds = username + ":" + password;  var encrypted = xorString(creds, secret);  if(encrypted == expected) {    // 认证成功  }}
复制代码


利用方法


在控制台逆向 XOR 运算获取明文凭证:


xorString(encrypted, secret) // 返回"admin:secr3tpass"
复制代码

JWT 令牌泄露

漏洞复现


解码示例 JWT 获得敏感信息:


echo "eyJhbGci...9InNpZCJ9" | base64 -d
复制代码


返回结果包含管理员凭证:


{  "level": "admin",  "password": "2ac9cb7dc02b3c0083eb70898e549b63", // MD5哈希值  "username": "joe"}
复制代码

CVE-2019-7644 JWT 签名泄露

漏洞利用链


  1. 修改 JWT 的leveladmin

  2. 系统返回错误的签名值

  3. 使用泄露的签名构造有效令牌

  4. 成功提权至管理员

JWT None 算法攻击

攻击步骤


  1. 使用 JOSEPH 插件修改算法为None

  2. 移除签名部分

  3. 任意修改 payload 字段

  4. 系统未校验签名直接放行

JWT 密钥破解

破解方法


使用 John 或 Hashcat 配合字典攻击:


john --wordlist=rockyou.txt token.jwthashcat -m 16500 token.jwt rockyou.txt
复制代码


多级难度


  • 简单:直接字典匹配

  • 中等:需启用规则变换

  • 困难:需组合规则与掩码攻击更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码

  • 办公AI智能小助手
用户头像

qife

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
认证实验室实战演练 - 深入解析认证与授权漏洞_网络安全_qife_InfoQ写作社区