game1WEB 未解决

分数: 15 金币: 3
题目作者: Aman
一  血: 犬来八荒
一血奖励: 3金币
解  决: 11458
提  示:
描  述:
game1
评论
gxrtbtc 4月前

curl -v \ "http://117.72.52.127:14873/score.php?score=10000&ip=117.181.23.246&sign=zMMTAwMDA==" \ 必须要cookie,没有连接不成功,zM+base64+==重点是这个,前面有zM后面有==

回复 0

brave1987 4月前

flag{********}

回复 0

2686213396 4月前

首先通过bp抓包发现规律,每场游戏结束,都会向服务器上传游戏数据,该数据包含内容有分数,ip地址,和sign(作为数字签名进行校验,但是弱校验,可以通过逆向工程发现规律,base64逆向编码),通过构造一个超额分数进行绕过,获取flag(逆向签名规则+构造非法请求)

回复 2

yuans 5月前

不知道score.php对GET /score.php?score=99999&ip=xxxx&sign=zMOTk5OTk==== HTTP/1.1 怎么处理的,我在sign后面加多少=都可以给出flag,正常应该是zMOTk5OTk===数据,有无大佬能解释一下啊。

回复 0
awuawu 5月前

标准的base64解码器只关注有效的 Base64 字符,会自动忽略多余的 =

回复 0

jiusi 6月前

游戏结束会有得分,请求中带了sign,一般是签名使用,签名算法:var sign = Base64.encode(score.toString()); 直接控制台,console.log(Base64.encode('99999')),改后的score和sign值改好法宝就有了

回复 2

kkl0110 6月前

index断点,重写了encode方法,return返回ZM???==

回复 0

一蹉蹉 6月前

1.点击F12,打开浏览器上的抓包,然后点击网络,在重新运行一次游戏,右侧网络中抓到对应的流量,查找sign(因为按照常理来讲,通关之后就可以得到flag),将通关分数改高一点就可以成功 2.通过筛选sign ,可以得到一个 文件,score.php,右键单击找到网址,再在网址的基础上更改 score=99999,以及对应的base64值

回复 1

HK1ng 8月前

bp抓包,重放之后,可以看到xmlhttp.open,这时就知道要构造的payload是什么了,但是构造后发现出错,在前端打断点,进入到函数内部,发现sign是由zM+base6(score)+==构成。修改payload的sign即可。

回复 0

zhwen 8月前

BP抓包,发现游戏结束后会发送POST请求包,并包含相关验证参数,需要找到其中的规律即可

回复 0

weiyouzhunze 8月前

游戏失败之前点开bp抓包,一个get请求表明了一切,然后自己手动在url地址栏进行添加就行了,看着源代码,s好像还跟score有关,这跟题没大关系,不过如果有牛逼的人一个个看,想着你光看源代码都能看出来了,真的么?不知道

回复 0
hengwei 7月前

没有注释纯看吗,做题不适用吧

回复 0

WriteUp

image
hu1y40

3 金币

评分(28)

解题动态

19103732562 攻破了该题 11分钟前
SurPLus007 攻破了该题 20分钟前
xin_tian 攻破了该题 2小时前
zz0607 攻破了该题 3小时前
2647941092 攻破了该题 15小时前
呼吸之野 攻破了该题 15小时前
kkil 攻破了该题 18小时前
ZemoLee 攻破了该题 19小时前
努力努力在努力 攻破了该题 20小时前
bkniu 攻破了该题 21小时前
tdt 攻破了该题 22小时前
你好世界0001 攻破了该题 23小时前
麻包qwty 攻破了该题 1天前
chi 攻破了该题 1天前
huangxu 攻破了该题 1天前
Mikaela 攻破了该题 1天前
巴咕噜182 攻破了该题 1天前
香蕉君 攻破了该题 1天前
drdr 攻破了该题 1天前
1900. 攻破了该题 1天前
问题反馈