抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

废柴训练题

一次图片隐写训练题记录

一开始还不知道怎么发文章,还是没找到,我只能爬爬爬爬

一,简单属性(这不有手就行.jpg

题目2.png

右击属性一把梭

属性.png

二, IHDR(图片的长宽高被修改)

IHDR.png

先打开010editor,康康有没有输出类似的东西

out.png

如果有这种类似的输出的话,就代表有些参数被修改了

在010里看到IDHR的值和正常的不匹配,(其实你可以稍微加大图片尺寸,改大一点

010IHDR.png

或者利用exp直接一把梭就可以知道原来的分辨率多少了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import os
import binascii
import struct
misc = open("IHDR.png","rb").read()
#print(misc[0x0c:0x0f+1])
# 爆破高

crc32_bytes = misc[0x1d:0x20+1]# 读出bytes
crc32_hex_eval = eval('0x' + crc32_bytes.hex())#bytes串 -> hex串 -> 值
print(crc32_hex_eval)
for i in range(4096):
data = misc[0x0c:0x0f+1] + misc[0x10:0x13+1] + struct.pack('>i',i)+ misc[0x18:0x1c+1] #IHDR数据
crc32 = binascii.crc32(data) & 0xffffffff
if crc32 == crc32_hex_eval : #IHDR块的crc32值
print(i)
print("height_hex:"+ hex(i))

010IHDR.png
tu.jpeg

图片格式小知识

010.png

三,grep命令分离出flag

grep.png

懒得开vm,所以直接用我的小米6的termux当作环境

grep -a “BJD” lsb/grep.jpeg
直接一把梭

out.png

有手就行.jpg

评论