freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

通过加密语言机绕过身份验证
杳若 2023-08-20 23:11:01 592437

前言

之前有一段时间在玩Burp的靶场,感觉还不错,总体排名也冲到了top30

靶场地址 → https://portswigger.net/web-security/logic-flaws/examples/lab-logic-flaws-authentication-bypass-via-encryption-oracle


通过加密预言机绕过身份验证

靶场信息介绍

此实验室包含一个逻辑缺陷,该缺陷会向用户公开加密预言机。要解决实验室问题,请利用此缺陷访问管理面板并删除 Carlos。
您可以使用以下凭据登录到自己的帐户:wiener:peter


登录的时候发现了记住账号的选项stay logged in


查看对应的数据包后确定cookie的值CLaBQxXK7jjl8irpHHxq6jc0HJqzyyGlh0up7tP7WZc=

尝试乱输内容后提交评论发现被重定向到了该页面,内容无效

查看对应的burp数据包
设置了notification=GzBnDr%2bC1mgTchLCnPA41Kn4UfsXHRfxbjETSuOKa1k%3d

同理,在修改邮箱处进行了尝试 回显:Invalid email address: bbb

语句会被加密并存入Cookie字段的notification参数中


追踪一下重定向


推测Cookie字段的notification参数值会被解密并回显到响应中,修改notification尝试


发现和我们推测的差不多,于是我们相当于找到了一个加密点一个解密点,然后我们看到Cookie字段的stay-logged-in参数值与这个也有点类似,尝试将stay-logged-in的值放入到notification
Cookie应该采用username:timestamp格式 .将时间戳1672988774905复制到剪贴板。


可以控制台输入Date.now()来获取对应的时间戳


惊奇地发现是可以成功在解密点解出的,说明解密点是通用的,那么加密点就也是通用的,然后通过观察发现stay-logged-in的明文形式是由用户名与时间戳以冒号分隔开的格式构成的,于是我们将wiener换成administrator:1672988774905以后加密,并尝试解密


我们看到是可以成功构造的,但是stay-logged-in明文形式不应该包含前面那一串”Invalid email address: “,所以我们要想办法把它去掉


通过两次加密信息的对比,发现前面23位是固定的,说明是对称加密,就是原文有多长,密文就会有多长,所以我们尝试直接删除明文中相应数量的字节,将密文发到decoder,在十六进制下删除23字节(因为那串无用前缀有23字节长)
Invalid email address:


得到新的字符串


删除以后再按照原格式编码回去,在解密点看看能不能解密出来
+6NTr6pZvYqxhsW9q50Y/3z8/xlxIqRu6+23OmgpOFjgK3r5JMDg9FdRPSUz
发现会有报错,说密码密文分块必须是16的倍数,于是我们需要填充一些字节让其达到16的倍数,所以我们填充9个无用字符,然后因为是无用的,填充完以后再删除32字节就可以正常解密了


在预期 cookie值的开头添加 9个字符xxxxxxxxxadministrator:1672988774905


新的密文发送到解码器,然后 URL 和 Base64 对其进行解码。这一次,从数据开头删除32个字节


成功地构造出不仅没有无用前缀而且还能成功解密的密文,于是我们将其替换到stay-logged-in参数值,并替换成新的session值,发现我们就可以进入administrator用户页面了


将值赋给stay-logged-in


修改成/admin端点,成功突破限制登录管理员面板


根据试验要求访问/admin/delete?username=carlos删除carlos用户

# 漏洞 # 渗透测试 # 黑客 # 网络安全 # web安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 杳若 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
从零开始成为Burp赏金猎人
杳若 LV.6
这家伙太懒了,还未填写个人描述!
  • 46 文章数
  • 28 关注者
记一个奇怪的万能密码
2024-01-24
OSCP系列靶场-Esay-Monitoring
2023-09-20
OSCP系列靶场-Intermediate-BTRSys2.1
2023-09-19
文章目录