酱油之旅--CCTF

<–more–>

Base 安码

##MIsc

misc100_1

后面将附上打包好的文件

用winhex打开图片发现奇怪的代码

Y3Rme3dlMWMwbWUgdDAgYW5tYWN0ZiF9

Base64解密即得flag

###misc100_2

这是一题流量包分析 还好数据不大可以取巧
想到当初在某篇writeup看到神奇的命令 strings

解码就得到了flag

##Reverse

Reverse_100T1

这个很简单 其实打开就看到了flag,问题脑洞大我以为这是md5加密并没有直接提交 谁知道….

Reverse_100T2

这题让我知道有时候是需要监听的 还有第一次使用IL spy好紧张

需要监听 本地 31337端口
nc -l -p 31337

然后你就看到flag CTF{7eb67b0bb4427e0b43b40b6042670b55}

Reverse_100T3

这题告诉我要静下心来 看看是不是有算法

然后直接上龙哥的图了 龙哥的注释杠杠的

这里需要字符串拼接 拼接结果是 4 2 3 1


Misc

##Best_Easy_Misc

我不服!!!为什么他们都能直接解压缩而我不行呢
不知为什么我解压不出来 但是右键属性看到了加密 于是我去百度了一下伪加密,发现可以用手机解压。。。。我还是不服

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78

解压出来是一个txt文件
打开一串的-.-.-
![](http://7xt21h.com2.z0.glb.clouddn.com/Bsst.jpg)
如图

这时候怎么办 刚开始觉得有点像莫尔斯密码 然后又和马师傅一起说出了培根...其实都无所谓的...
解法1
把"-" 换成1 把"."换成0 仔细看了看发现是1024个字符,刚好是32的次方,于是排列成排一个方格,然后就看了flag
![](http://7xt21h.com2.z0.glb.clouddn.com/cctf_best1.jpg)


解法2
用脚本跑吧
这是我从别人那copy过来的..

``` bash
# -*- coding: utf8 -*-
#author:pcat
#必须先安装Image模块
import Image

dct={
'A':'.-','B':'-...','C':'-.-.','D':'-..','E':'.','F':'..-.','G':'--.',
'H':'....','I':'..','J':'.---','K':'-.-','L':'.-..','M':'--','N':'-.',
'O':'---','P':'.--.','Q':'--.-','R':'.-.','S':'...','T':'-','U':'..-',
'V':'...-','W':'.--','X':'-..-','Y':'-.--','Z':'--..',
'0':'-----','1':'.----','2':'..---','3':'...--','4':'....-',
'5':'.....','6':'-....','7':'--...','8':'---..','9':'----.',
'.':'.-.-.-',':':'---...',',':'--..--',';':'-.-.-.','?':'..--..',
'=':'-...-',"'":'.----.','/':'-..-.','!':'-.-.--','-':'-....-',
'_':'..--.-','"':'.-..-.','(':'-.--.',')':'-.--.-','$':'...-..-',
'&':'.-...','@':'.--.-.','+':'.-.-.'
}

def readRe():
f=open('reverse','rb').read().strip()
lst=f.split(' ')
#键值交换
dct2={v:k for k,v in dct.items()}
#摩斯密码解密
for i in xrange(len(lst)):
lst[i]=dct2[lst[i]]
return "".join(lst)

def foo():
#读取reverse文件
s=readRe()
#绘制图
n=32
width,height=n,n
bgcolor=(255,255,255)
im= Image.new('RGB',(width,height),bgcolor)
pix=im.load()
i=0
for x in xrange(0,height):
for y in xrange(0,width):
if s[i]=='9':
pix[x,y]=(0,0,0)
i+=1
#图像旋转180度
out=im.rotate(180)
out.show()
pass

if __name__ == '__main__':
foo()
print 'ok'
```

接着据生成了我要的falg

## True or False?

这题马师傅吓死我了 居然过来问我有没有思路 受宠若惊 受宠若惊

hint说了他是一个压缩文件 然而尝试了各种压缩果断放弃...
之后又放出hint Bz2 果断百度豁然开朗

然后又傻逼了一回,没有加文件头难怪死活解压不出来
用winhex打开

百度一下BZ2压缩文件的文件头加上

1
tar   -jxvf    aaaa.tar.bz2

命令解压缩…
得到两个Bin文件

稍微逆向看一下
因为IDA不是很熟悉 在这里我学习到了IDA不仅仅有F5这个功能还有R键….这里上龙师傅的图

OK 按顺序拼接就得到falg了


然后酱油就打到这里了~

酱油党要睡觉了…

明天看完WP有想法再来更新….

文件

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. Base 安码
    1. 1.0.1. misc100_1
    2. 1.0.2. Reverse_100T1
    3. 1.0.3. Reverse_100T2
    4. 1.0.4. Reverse_100T3
  • 2. Misc
  • ,