CUIT CTF WriteUp-BP断点
来源:互联网 发布:五笔输入法linux 编辑:程序博客网 时间:2024/06/10 18:00
我就不对此题进行任何评价了,在开赛3分钟的时候就发现png了
当时由于没想到爆破长宽就没做了,直到第二天早上才搞定,下面说说此题的解题步骤
首先,文件down下来后发现是张无法显示的bm,用winhex或者其他16进制编辑器打开
搜索半天,在数据尾部发现了IEND
对该标记只有PNG图片才有,果断搜了下有没有PNG文件头,发现还真有,直接将PNG整个部分提取出来,保存为aaa.png
打开aaa.png发现什么都没有,果断继续16进制编辑
分析和检查了一些东西后,发现它的长宽有问题
然后就意识到可能要调整长宽,又想到一般出题人不会更高CRC(改了就吐血了~!)
So果断写个脚本Crack长宽,代码如下
#!/usr/bin/env python# -*- coding: utf-8 -*-__author__ = 'RickGray'import zlibimport struct crc32key = 0x80BF36CC # target CRC# 4948445200000100000000000806000000for i in range(0, 1366): width = struct.pack('>i', i) for j in range(0, 1366): hieght = struct.pack('>i', j) # pack to 4 bytes with Big-Endian # CRC: CD952277 s = '\x49\x48\x44\x52' # IHDR s += width # width 4 bytes s += hieght # hieght 4 bytes s += '\x08\x06\x00\x00\x00' crc32result = zlib.crc32(s) & 0xffffffff if crc32result == crc32key: print 'Crack over!' print 'Width: ', struct.unpack('>i', width)[0] print 'Hieght: ', struct.unpack('>i', hieght)[0] raw_input('\nFinished!')
运行该脚本后,很快就Crack出长宽400×400
更改aaa.png长宽后,果断地弹出了flag:T7i5Is7h3R3411yK3y_!@#()
0 0
- CUIT CTF WriteUp-BP断点
- CUIT CTF WriteUp-Code100
- CUIT CTF WriteUp-初中数学题
- CUIT CTF WriteUp-女神的秘密
- CUIT CTF WriteUp-最简单的题目
- CUIT CTF WriteUp-鬼子进村
- CUIT CTF WriteUp-最简单的加解密
- CUIT CTF WriteUp-小白和小黑的故事
- 360 CTF Writeup
- 0ctf simpleapk writeup
- 0ctf r0ops writeup
- 0ctf flagen writeup
- 0ctf login writeup
- 9447 ctf writeup
- 32c3 ctf writeup
- 2017 火种CTF Writeup
- 2017ctf writeup
- CTF writeup:开发者工具
- 【Vegas原创】控制文件损坏,使用trace文件恢复DB
- 【Vegas原创】sqlplus时,配置显示用户名和实例信息
- 【Vegas原创】sqlplus时,配置显示用户名和实例信息
- 【Vegas原创】用x$kvit视图查内部参数设置
- 【Vegas原创】用x$kvit视图查内部参数设置
- CUIT CTF WriteUp-BP断点
- 【Vegas转帖】外企九年
- 【Vegas转帖】外企九年
- 【Vegas转帖】云中漫步——迎接云计算时代的到来
- 【Vegas转帖】云中漫步——迎接云计算时代的到来
- 【Vegas转帖】关于云计算 - Larry Ellison and Scott McNealy
- 【Vegas转帖】关于云计算 - Larry Ellison and Scott McNealy
- 转载:震惊世界的中国秘方————里面的方子都是一个老中医几十年的心血!!!
- 转载:震惊世界的中国秘方————里面的方子都是一个老中医几十年的心血!!!