GG0 发表于 2016-11-16 23:29

某ctf大赛WRITEUP

MISC 1给了一个图片,在图片最后的32位有很连续的一堆字母,如下

base64解码一下得到flag,ctf{we1c0me t0 anmactf!}
re1:IDA反编译后查看,发现运行要求包含三个参数,且在其中随机选一个进行测试,这里注意md5_custom函数没有用处….经过check函数测试取内存中找下:发现字串f2332291a6e1e6154f3cf4ad8b7504d8 http://img.blog.csdn.net/20160426145235798尝试提交,成功
flag:CCTF{f2332291a6e1e6154f3cf4ad8b7504d8}re2:一个.net程序,使用Reflector反编译,得到代码 http://img.blog.csdn.net/20160426145247962发现这就是个和本地端口通信的程序,于是先去关闭了防火墙,在通过RAWPCAP本地回环抓包即可 http://img.blog.csdn.net/20160426145258283得到flag::CCTF{7eb67b0bb4427e0b43b40b6042670b55}re3:一个简单的反汇编
发现就是两个字符串的比较http://img.blog.csdn.net/20160426145307346尝试将上面那个字符串提交,发现正确.
flag:CCTF{789101112131415123456}true-or-false两个Linux程序,通过IDA反汇编,发现两个程序开始时都会调用system两次,通过ascll码知道了false会将自己覆盖到true上,true会将自己删除.
然后在false里发现了print_f函数,反汇编+凯撒加密就得到了结果的flag
PPGS{yvahk-enva-ova}
\\\\\\\\\\
CCTF{linux-rain-bin}difffffffffffuse通过IDA观察反编译出的C语言.
总共有3000个函数,3个函数为一周期。但是其中有一些周期中的,第二个函数是直接提取数据,第三个函数移位存在微小差异。通过把汇编代码提取出来生成txt文件,然后用Python读取文件模拟生成c程序,即把这3*1000个函数中的第二个函数都扒取出来,生成second.c文件程序最后会将这3000个函数加密后的40字节与现有的40字节相比较,于是我们在IDA中把这40个字节抓取出来    0x83    0xec    0x5f    0xa2    0x93    0xce    0xa3    0xfb       0x5a    0x17    0x06    0xff    0x13    0x2d    0xd7    0xc4    0xbe    0xce    0x8d    0x6a    0xb8    0x15    0x26    0xfc    0x84    0x01    0x94    0x44    0xf8    0xd7    0x23    0x1c    0x4b    0xc2    0x31    0x04    0xa6    0x33    0x08    0x57每一个字符的加密是独立运行的,也就意味着我们可以针对每一个字符进行单独的爆破,看看加密后的数据是否相同,通过简单爆破,最终得到flag:
CCTF{1f_Y0u_W4nNa_R3vEn93_____purpleroc}神秘文件1拿到forensic.7z后解压得到level1与mem.vmem两个文件,观察文件开头,经过百度后得出level1为硬盘文件,mem为内存文件
恰巧本人有一个空硬盘,于是将硬盘格式化,用bootice将level1写入了硬盘,如图所示http://img.blog.csdn.net/20160426145317034发现硬盘被Bitlocker加密,由于存在忘记密码的可能,Bitlocker提供了文件恢复密码机制,密码为48位纯数字 http://img.blog.csdn.net/20160426145338784考虑了恢复密码在内存中的可能性后,用winhex打开mem,在其中搜索Bitlocker没有找到,想起了恢复密码id提示为F2298561,搜索后找到有关内容http://img.blog.csdn.net/20160426145351175发现内存中的数据很多情况用00隔开,于是搜索F2298561的16进制数,每两个数用00隔开,最后找到了48位数字密码 http://img.blog.csdn.net/20160426145400425为046409-191059-605495-680889-626109-111617-371668-451517

http://img.blog.csdn.net/20160426145408394解锁成功!拿到flag CCTF{U_m4st_G00d_4t_F0nr4n51c}BEST_EZ_MISC拿到名为reverze.zip的压缩包,用winhex看了一下,很容易想到是zip伪加密http://img.blog.csdn.net/20160426145418650将pk 01 02 后的第5个字节改为00,发现可以解压,得到reverse打开看了一下,发现是摩丝电码,解密后得到0,9字符串,程序跑了一下算上空格一共2048个字符,由于题目提示结果是个图片,于是尝试不同的像素来观察,最终得到如图所示结果http://img.blog.csdn.net/20160426145426707
虽然不是很清楚,但是颠倒一下很容易看出flag: ctf{pixelnice}
misc100T2很简单的流量分析,打开以后尝试搜索ctf直接得到结果http://img.blog.csdn.net/20160426145434645
flag为ctf{anma_qwe3_as34_gty6}
向大神学习。。。。。

GreyChroma 发表于 2016-11-16 23:41

大赛作品,一般都有神转折,收藏下,日后再好好学习下

Sound 发表于 2016-11-16 23:46

csdn的文章 之前看过了。

五行天 发表于 2016-11-16 23:58

研究,收藏了此贴。

QingTianGG 发表于 2016-11-17 00:10

{:301_991:}研究并收藏,明天再看一遍

fq645122 发表于 2016-11-17 11:45

看不懂也要收藏

2048DDD 发表于 2016-11-19 20:50

如何评分啊,我也想给个+9999
页: [1]
查看完整版本: 某ctf大赛WRITEUP