BUUCTF 梅花香之苦寒来 1

简介: BUUCTF 梅花香之苦寒来 1

BUUCTF:https://buuoj.cn/challenges

题目描述:

注意:得到的 flag 请包上 flag{} 提交

密文:

下载附件,解压得到一张.jpg图片。


解题思路:

1、用010 Editor看了一下,刚开始以为是修改宽高的题,没有想到这个方向。(想到也不会做)

在010 Editor中看到,在图片数据的后面附加了很多的无关数据。(“FF D9”为jpg文件结尾)

2、将这些数据转换一下,看看是什么文件的数据。将全部的灰色数据复制下来,新建一个txt文本,粘贴进去保存。

在010 Editor中,使用“文件”选项卡的“导入16进制文件”选项,导入刚才新建的txt文件。

得到一堆坐标数据,接下来尝试将数据转换为图像。

(这一步其实就是将16进制的数据转换为ASCII字符,使用任意转换工具都可以,这里提供一个python脚本)

with open('hex.txt', 'r') as h:     # hex.txt为要转换的文本文件
    val = h.read()
    h.close()
with open('result.txt', 'w') as re: # 转换完成后写入result.txt
    tem = ''
    for i in range(0, len(val), 2):
        tem = '0x' + val[i] + val[i+1]
        tem = int(tem, base=16)
        print(chr(tem), end="")
        re.write(chr(tem))
    re.close()

3、使用gnuplot来进行绘制图像(gnuplot下载地址,提取码:wel5),安装好gnuplot之后,需要去环境变量(查看高级系统设置)里添加变量,然后就可以在命令行里运行gnuplot了。

4、使用gnuplot之前需要先将坐标数据格式转换成gnuplot可以识别的格式,下面是Python脚本:

with open('result.txt', 'r') as res:  # 坐标格式文件比如(7,7)
    re = res.read()
    res.close()
with open('gnuplotTxt.txt', 'w') as gnup:  # 将转换后的坐标写入gnuplotTxt.txt
    re = re.split()
    tem = ''
    for i in range(0, len(re)):
        tem = re[i]
        tem = tem.lstrip('(')
        tem = tem.rstrip(')')
        for j in range(0, len(tem)):
            if tem[j] == ',':
                tem = tem[:j] + ' ' + tem[j + 1:]
        gnup.write(tem + '\n')
    gnup.close()

转换之后是这样的数据格式。

5、将gnuplotTxt.txt放到gnuplot.exe的文件夹下,启动gnuplot,在命令行使用如下命令即可绘图。

plot "gnuplotTxt.txt"

得到一张二维码图片,扫描二维码得到flag。

(原来一开始图片属性就有提示)

flag:

flag{40fc0a979f759c8892f4dc045e28b820}
目录
相关文章
|
7月前
|
数据安全/隐私保护
BUUCTF 九连环 1
BUUCTF 九连环 1
189 0
|
7月前
BUUCTF 来首歌吧 1
BUUCTF 来首歌吧 1
397 0
|
7月前
|
网络协议 数据安全/隐私保护
BUUCTF 神秘龙卷风 1
BUUCTF 神秘龙卷风 1
214 0
|
7月前
|
算法 Serverless Python
BUUCTF-rsarsa1
BUUCTF-rsarsa1
|
7月前
|
SQL 数据库
BUUCTF sqltest 1
BUUCTF sqltest 1
346 0
|
7月前
3.buuctf-rsarsa
3.buuctf-rsarsa
|
数据安全/隐私保护
BUUCTF [GXYCTF2019] CheckIn 1
BUUCTF [GXYCTF2019] CheckIn 1
280 0
|
7月前
BUUCTF [HBNIS2018]低个头 1
BUUCTF [HBNIS2018]低个头 1
67 0
|
7月前
|
数据安全/隐私保护
BUUCTF ningen 1
BUUCTF ningen 1
94 0
|
7月前
BUUCTF 另外一个世界 1
BUUCTF 另外一个世界 1
94 0