攻防世界GFSJ0099 lottery

题目编号:GFSJ0099

第一步 访问靶机,分析功能

点击后注册用户

随便输入7位数字

可以看到是一个猜数字游戏,猜对了有奖励。挣够$9990000可以购买Flag。


页面上可以尝试注入等漏洞;同步dirsearch扫描服务器;最终dirsearch找到突破口;

GitHack获取代码

分析代码找到buy.php的漏洞

buy.php购买获取足够多奖励后在market买flag
会提交猜测的数字到api.php, 分析api.php的代码,需要猜的数字与随机数字全部相等获取最高奖励。

'=='判断只判断值,可以利用布尔绕过。
复制购买的请求(右击api.php-copy-copy as fetch),到console中修改numbers再次发送:

复制到console,修改number为[true,true,true,true,true,true,true],

每提交一次增加$5000000;

账户挣够钱去买flag:)

购买Flag

提供的引用内容中未提及攻防世界misc Miscellaneous - 200 GFSJ0314的详细信息,但可从引用中获取Miscellaneous - 200的部分相关信息。该题目涉及将文本文件中的内容转换为图片,文件中的内容为RGB像素点数据,解题需借助Python的第三方图像处理库PIL(Python Image Library)来实现转换。 以下是几种解题代码示例: ```python from ast import literal_eval from PIL import Image f = open('62f4ea780ecf4e6bbef5f40d674ec073.txt', 'r') corl = [literal_eval(line) for line in f.readlines()] f.close() img = Image.new('RGB', (270, 270), '#ffffff') k = 0 for i in range(246): for j in range(246): img.putpixel([i, j], corl[k]) k = k + 1 img.save("flag.png") ``` ```python #!/user/bin/env python # -*-coding:utf-8 -*- # Author:lip from ast import literal_eval as make_tuple from PIL import Image f = open('flag.txt', 'r') corl = [make_tuple(line) for line in f.readlines()] f.close() img0 = Image.new('RGB', (270, 270), '#ffffff') k = 0 for i in range(246): for j in range(246): img0.putpixel([i, j], corl[k]) k = k + 1 img0.save("result.png") ``` ```python import math from PIL import Image with open("./62f4ea780ecf4e6bbef5f40d674ec073.txt", 'r') as file: datas = [] for line in file.readlines(): row = line.rstrip('\n').split(',') array_row = [int(pix) for pix in row] datas.append(tuple(array_row)) size = int(math.sqrt(len(datas))) img = Image.new('RGB', (size, size), '#ffffff') k = 0 for i in range(size): for j in range(size): img.putpixel((i, j), datas[k]) k += 1 img.save("res.png") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭记北宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值