HGAME 2026 WriteUp

HGAME 2026 WriteUp

💡 原文中文,约2300字,阅读约需6分钟。
📝

内容提要

文章记录了作者在解题过程中的思路,包括网络请求获取信息、SQL注入尝试、JWT密钥分析和接口漏洞利用,最终通过源码分析和文件上传实现目标。

🎯

关键要点

  • 文章记录了解题过程,包括网络请求、SQL注入、JWT密钥分析和接口漏洞利用。

  • 第一周目中,观察到网页定时向 /record 发请求,通过 Postman 发送请求获取 flag。

  • 在 Vidarshop 题目中,尝试 SQL 注入登录 admin 账号,发现 JWT 密钥为 111。

  • 通过构造 admin 的 token,发现 balance 是所有用户的共有属性,前端接口无法修改。

  • 利用原型链污染的方式,通过伪造的 token 发请求到 /update 接口获取 flag。

  • 第二周目中,发现可以利用的接口,尝试下载源码并进行目录穿越。

  • 通过上传恶意代码的方式,尝试利用自动更新机制获取 flag,但未成功。

  • 在 baby-web 题目中,上传一句话木马,但发现 flag 不在文件系统中。

🔎

延伸解读

解题思路的重要性

文章详细记录了解题过程,强调了观察网络请求和分析接口的重要性。通过对请求的监控,作者发现了关键的漏洞,这表明在解决类似问题时,细致的观察和分析是成功的关键。

JWT密钥的安全隐患

作者在解题过程中发现JWT密钥的设置存在严重安全隐患,所有用户的密钥均为相同值。这种设计使得攻击者可以轻易伪造管理员的token,提示开发者在设计身份验证机制时应避免使用固定或简单的密钥。

文件上传的风险

在第二周目的尝试中,作者探讨了文件上传的漏洞,尽管上传恶意代码未成功,但这提醒开发者在处理文件上传时需加强验证和限制,以防止潜在的安全威胁。

延伸问答

作者在解题过程中使用了哪些技术手段?

作者使用了网络请求、SQL注入、JWT密钥分析和接口漏洞利用等技术手段。

在Vidarshop题目中,作者是如何获取admin权限的?

作者通过SQL注入成功登录admin账号,并发现JWT密钥为111,从而构造了admin的token。

作者在第二周目中尝试了哪些方法来获取flag?

作者尝试下载源码、进行目录穿越和上传恶意代码,但未成功获取flag。

在baby-web题目中,作者上传了什么类型的文件?

作者上传了一句话木马,但发现flag不在文件系统中。

作者是如何利用原型链污染的?

作者通过伪造的token发请求到/update接口,构造了特定的payload来利用原型链污染。

在解题过程中,作者遇到了哪些困难?

作者在尝试修改balance和利用自动更新机制时遇到了困难,未能成功获取flag。

🏷️

标签

➡️

继续阅读