当前位置: 首页 > news >正文

HTB UNIV CTF 24 Armaxix靶场漏洞链:命令注入与账户接管实战

HTB UNIV CTF 24 (Armaxix - WEB) 漏洞分析

作者:ABDELKARIM MOUCHQUELITA
4 分钟阅读 · 2024年12月18日

在本篇技术报告中,我们将探索一个实验环境而非聚焦漏洞赏金中的新漏洞。虽然CTF挑战教会我们很多知识,但它们通常与现实场景有所不同。然而,提取其中重要的经验教训至关重要。

在本实验中,我们通过链式利用两个漏洞实现了命令注入。环境配置包括源代码访问权限和两个独立主机:

  • 83.136.254.158:45660 → 这是Armaxis。虽然不确定其主要用途,但包含通过管理员向用户发送项目的功能,类似于报告发送系统
  • 83.136.254.158:33602 → 这似乎是一个邮件服务,类似于Gmail

在检查源代码之前,我测试了所有能想到的方法:JWT操纵、身份验证绕过和SQL注入。然而,这些方法均未奏效。

随后我重点关注密码重置功能,在此发现通过操纵密码重置请求可实现账户接管漏洞。

以下是密码重置请求体:

{"token": "f35137e53d9d900a8435a9734a79165d","newPassword": "f35137e53d9d900a8435a9734a79165d", "email": "test@email.htb"
}

请求体采用JSON格式。要实现账户接管(ATO),我们只需要一个有效的token。这可以通过重置密码页面为目标账户test@email.htb请求密码重置来获取,随后token将被发送到邮件服务主机。

之后,我将收到该token。

在深入分析源代码后,我发现了邮箱admin@armaxis.htb。

接下来,我将获取有效token,操纵请求,并将测试邮箱替换为管理员邮箱。

以下是操纵后的请求体:

{"token": "获取的有效token","newPassword": "新密码","email": "admin@armaxis.htb"
}

成功!现在我们获得了管理员权限,可以访问一些有趣的功能进行探索和测试。

"dispatch weapon"页面包含一个表单,其中"note (MarkDown)"部分最为有趣。我随后返回源代码,发现名为markdown.js的文件,其中包含Markdown处理器。其中包含一个URL处理器,当在Markdown中提供URL时会执行curl请求:

const fileContent = execSync(`curl -s ${url}`);

要实现命令注入,我们只需要在URL末尾添加分号来分隔命令。

当然,我最初尝试使用普通URL(http://...),但没有成功。于是我研究了Markdown中URL的处理方式,发现有两种格式:用于常规URL和<!URL>用于自动链接。

最终payload格式为:<!http://example.com;id>

现在,当管理员查看包含我们payload的note时,服务器将执行我们的命令。

经验总结:在测试功能时,始终检查源代码。如果发现命令执行函数,尝试使用分号、管道符或反引号进行注入。对于XML解析器,尝试XXE等技术。

希望本文能帮助您理解一些知识盲区。下次,Inshallah(如蒙主佑),我们将处理一个关键漏洞!
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

http://www.hskmm.com/?act=detail&tid=9872

相关文章:

  • 【JAVA接口自动化】JAVA如何读取Yaml文档
  • PyTorch Weight Decay 技术指南
  • AUTOSAR进阶图解==>AUTOSAR_SWS_PDURouter - 实践
  • getDefaultMidwayLoggerConfig报错;解决方法。
  • js获取浏览器语言,以及调用谷歌翻译api翻译成相应的内容
  • 总结RocketMQ中的常见问题
  • The 2025 ICPC Asia EC Regionals Online Contest (II)
  • C++线上练习
  • Python实现Elman RNN与混合RNN神经网络对航空客运量、啤酒产量、电力产量时间序列数据预测可视化对比
  • 4G/Wi-Fi/以太网三网合一,智能融合通信实战案例集
  • 关于介绍自己的第一篇随笔
  • 深入解析:N32G43x Flash 驱动移植与封装实践
  • Backblaze上如何传大文件
  • 解题报告-老逗找基友 (friends)
  • Caused by: java.lang.ClassNotFoundException: org.apache.rocketmq.remoting.common.RemotingUtil
  • VAE In JAX【个人记录向】
  • BLE蓝牙配网双模式实操:STA+SoftAP技术原理与避坑指南
  • 第58天:RCE代码amp;命令执行amp;过滤绕过amp;异或无字符amp;无回显方案amp;黑白盒挖掘
  • 057-Web攻防-SSRFDemo源码Gopher项目等
  • 060-WEB攻防-PHP反序列化POP链构造魔术方法流程漏洞触发条件属性修改
  • 059-Web攻防-XXE安全DTD实体复现源码等
  • 061-WEB攻防-PHP反序列化原生类TIPSCVE绕过漏洞属性类型特征
  • 051-Web攻防-文件安全目录安全测试源码等
  • Dilworth定理及其在算法题中的应用
  • 050-WEB攻防-PHP应用文件包含LFIRFI伪协议编码算法无文件利用黑白盒
  • error: xxxxx does not have a commit checked out
  • 049-WEB攻防-文件上传存储安全OSS对象分站解析安全解码还原目录执行
  • 云原生周刊:MetalBear 融资、Chaos Mesh 漏洞、Dapr 1.16 与 AI 平台新趋势
  • AI一周资讯 250913-250919
  • 045-WEB攻防-PHP应用SQL二次注入堆叠执行DNS带外功能点黑白盒条件-cnblog