Hack the Box 靶场练习-INSANE-ArtificialUniversity

💡 原文中文,约7100字,阅读约需17分钟。
📝

内容提要

本文分析了Hack The Box上的一个web题目,涉及在线教育平台的商城模块。通过对gRPC和Flask服务的分析,发现了利用链。修改DebugService参数后触发命令执行,最终构造恶意请求成功反弹shell并获取flag。

🎯

关键要点

  • Hack The Box上的web题目ArtificialUniversity模拟在线教育平台的商城模块。

  • 项目源码分为gRPC的product_api服务和Flask的store商城web两个部分。

  • 通过分析gRPC的GenerateProduct函数发现其调用了eval函数,存在命令执行漏洞。

  • DebugService函数可以修改price_formula参数,构造利用链以执行恶意命令。

  • 在本地环境成功复现命令执行后,开始分析web端的接口寻找漏洞。

  • 发现/checkout/success接口存在越权漏洞,可以利用admin身份访问敏感内容。

  • 通过创建价格为负数的订单,绕过登录验证,访问/admin相关接口。

  • 利用pdf.js的xss漏洞构造payload,发送post请求访问/admin其它接口。

  • 将gRPC请求转换为gopher协议,通过curl发送请求实现命令执行。

  • 最终通过构造的payload反弹shell并获取flag。

🔎

延伸解读

漏洞分析与利用链构建

本文详细分析了Hack The Box上ArtificialUniversity的漏洞,特别是gRPC服务中的命令执行漏洞。通过对DebugService和GenerateProduct函数的深入分析,读者可以学习如何构建利用链,利用参数修改来执行恶意命令。这种技术在实际渗透测试中非常重要,能够帮助安全研究人员识别和修复类似的安全隐患。

越权漏洞的发现与利用

文章中提到的/admin接口越权漏洞展示了如何通过构造特定请求绕过身份验证。这一过程强调了在开发web应用时,必须严格控制用户权限和接口访问。开发者应关注接口的权限管理,确保敏感操作只能由授权用户执行,以防止潜在的安全风险。

XSS漏洞的利用方式

利用pdf.js的XSS漏洞构造payload的部分,展示了如何通过跨站脚本攻击实现更复杂的攻击链。这提醒开发者在处理用户输入和生成动态内容时,必须采取严格的安全措施,如输入验证和输出编码,以防止XSS攻击的发生。

延伸问答

Hack The Box上的ArtificialUniversity题目主要模拟了什么?

ArtificialUniversity题目模拟了在线教育平台的商城模块。

在ArtificialUniversity中,如何利用gRPC服务的漏洞进行命令执行?

通过修改DebugService的price_formula参数并调用GetNewProducts函数,可以触发eval函数执行恶意命令。

如何在web端发现越权漏洞?

在/checkout/success接口中,通过传入admin的账号和密码,可以访问敏感内容,发现了越权漏洞。

创建负数价格订单的目的是什么?

创建负数价格订单是为了绕过登录验证,访问/admin相关接口。

如何利用pdf.js的xss漏洞进行攻击?

可以构造payload,利用pdf.js的xss漏洞发送post请求访问/admin其它接口。

最终如何获取flag?

通过构造的payload反弹shell并获取flag。

🏷️

标签

➡️

继续阅读