这道题是虽然只有75分,但是做出来的队伍却很少,我们队伍也没有做出来,这次是看到了0xAWES0ME 的解题思路后才有了这篇文章。原文地址可以点击看这里,英文的

题目就是一张图片:

在网上可以找到这个图片的原图,唯一的区别就是这6条线,通过Photoshop软件可以看到它们的起始点:

  1. (1,0)     (56,55)
  2. (57,0)     (112,55)
  3. (113,0)     (168,55)
  4. (169,0)     (224,55)
  5. (225,0)     (280,55)
  6. (281,0)     (336,55)

现在起始点有了,直接取相关的像素点来看看:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#! /bin/python
# coding: UTF-8
import Image
__author__ = 'root'
img_file = 'Steg75.png'
im = Image.open(img_file, 'r')
im.load()
im_rgb = im.convert('RGB')
j = 0
while j < 6:
    n = 0
    while n < 56:
        c = im_rgb.getpixel((56*j+1+n,n))
        print "%d\t%d\t%d" % c
        n += 1
    j += 1
    print '------------------------------------------------------------------------------'

可以得到如下的数据:

 
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
86 84 1
74 70 2
103 97 3
121 113 4
102 92 5
94 82 6
93 79 7
124 108 8
110 92 9
132 112 10
114 92 11
133 109 12
91 65 13
98 70 14
96 66 15
67 35 16
106 72 17
124 88 18
122 84 19
69 29 20
111 69 21
106 62 22
88 42 23
146 98 24
115 65 25
113 61 26
104 50 27
77 21 28
107 49 29
98 38 30
108 46 31
152 88 32
111 45 33
121 53 34
117 47 35
145 73 36
116 42 37
106 30 38
120 42 39
161 81 40
130 48 41
148 64 42
147 61 43
153 65 44
122 32 45
114 22 46
146 52 47
168 72 48
138 40 49
156 56 50
140 38 51
172 68 52
155 49 53
135 27 54
116 6 55
117 5 56
------------------------------------------------------------------------------
142 28 57
130 14 58
159 41 59
177 57 60
158 36 61
150 26 62
149 23 63
180 52 64
166 36 65
188 56 66
170 36 67
189 53 68
147 9 69
154 14 70
152 10 71
122 235 72
162 16 73
180 32 74
178 28 75
124 229 76
167 13 77
162 6 78
143 242 79
202 42 80
171 9 81
169 5 82
159 250 83
132 221 84
162 249 85
153 238 86
163 246 87
208 32 88
166 245 89
176 253 90
172 247 91
201 17 92
171 242 93
161 230 94
175 242 95
217 25 96
185 248 97
204 8 98
203 5 99
209 9 100
177 232 101
169 222 102
201 252 103
224 16 104
193 240 105
212 0 106
195 238 107
228 12 108
210 249 109
190 227 110
171 206 111
172 205 112
------------------------------------------------------------------------------
197 228 113
185 214 114
214 241 115
233 1 116
213 236 117
205 226 118
204 223 119
235 252 120
221 236 121
244 0 122
225 236 123
244 253 124
202 209 125
209 214 126
207 210 127
178 179 128
217 216 129
235 232 130
233 228 131
180 173 132
222 213 133
217 206 134
199 186 135
1 242 136
226 209 137
224 205 138
215 194 139
188 165 140
218 193 141
209 182 142
219 190 143
7 230 144
222 189 145
232 197 146
228 191 147
0 215 148
227 186 149
217 174 150
231 186 151
16 223 152
241 192 153
3 206 154
2 203 155
8 207 156
233 176 157
225 166 158
1 194 159
23 214 160
249 184 161
11 198 162
251 182 163
27 210 164
10 191 165
246 171 166
227 150 167
228 149 168
------------------------------------------------------------------------------
253 172 169
241 158 170
14 185 171
32 201 172
13 180 173
5 170 174
4 167 175
35 196 176
21 180 177
43 200 178
25 180 179
44 197 180
2 153 181
9 158 182
7 154 183
234 123 184
16 158 183
34 174 184
32 170 185
236 117 188
21 155 187
17 149 190
255 130 191
56 184 192
26 152 193
24 148 194
15 137 195
244 109 196
18 136 197
9 125 198
19 133 199
62 174 200
22 132 201
32 140 202
28 134 203
55 159 204
27 129 205
17 117 206
31 129 207
71 167 208
40 135 209
58 151 210
57 148 211
63 152 212
32 119 213
25 109 214
56 139 215
78 158 216
48 127 217
66 143 218
50 125 219
82 155 220
65 136 221
45 114 222
27 93 223
28 92 224
------------------------------------------------------------------------------
53 116 225
41 102 226
70 129 227
88 145 228
69 124 229
61 114 230
59 110 229
90 138 230
76 123 231
98 142 232
80 123 233
99 139 234
57 96 235
64 101 238
62 97 239
33 66 240
72 103 241
90 119 242
88 115 243
35 60 244
77 100 245
72 93 246
54 73 247
112 128 248
81 96 249
79 92 250
70 81 251
43 52 252
73 80 253
64 69 254
74 77 255
118 120 2
77 77 3
87 85 3
83 79 4
111 105 5
82 74 6
72 62 7
86 74 8
126 113 9
96 80 10
114 96 11
113 93 12
119 97 13
88 64 14
80 54 15
112 84 16
133 104 17
104 72 18
122 88 19
106 70 20
137 100 21
121 81 22
101 59 23
82 38 24
83 37 25
------------------------------------------------------------------------------
109 61 25
97 47 26
126 74 27
144 90 28
125 69 29
117 59 30
116 56 31
147 85 32
133 69 33
155 89 34
137 69 35
156 86 36
114 42 37
121 47 38
119 43 39
90 12 40
129 49 41
147 65 42
145 61 43
92 6 44
134 46 45
129 39 46
111 19 47
169 75 48
138 42 49
136 38 50
127 27 51
99 254 52
130 26 53
121 15 54
131 23 55
175 65 56
134 22 57
144 30 58
140 24 59
168 50 60
139 19 61
129 7 62
143 19 63
184 58 64
153 25 65
171 41 66
170 38 67
176 42 68
145 9 69
136 255 70
167 28 70
189 48 71
159 16 72
177 32 73
161 14 74
193 44 75
176 25 76
156 3 77
136 237 78
137 236 79
-----------------------------------------------------------------------------

rgb的b值有一定的规律,但是到这里我们就陷入迷茫了。

看了0xAWES0ME的文章才豁然开朗:将每一条线的r-b,然后换算成ascii,组成一个字符串,再根据字符串进行下一步的操作.

 
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
#! /bin/python
# encoding:utf-8
"""
@date: 2014-07-31
@description: stego 75 test py
"""
 
import sys
 
__author__ = 'huangjacky'
 
reload(sys)
sys.setdefaultencoding('utf-8')
 
 
def GetStrFromTxt():
    f = open('steg75.txt')
    n = 0
    s = ""
    for ff in f:
        ff = ff.strip()
        if not ff:
            continue
        if '--' in ff:
            n += 1
            print '%d : %s' % (n, s)
            s = ''
        else:
            d = ff.split()
            r = int(d[0])
            g = int(d[1])
            b = int(d[2])
            x = abs(r - b)
            c = chr(x)
            s += c
 
 
def main():
    GetStrFromTxt()
 
 
if __name__ == '__main__':
    main()

最后输出的结果:

这六行当中可以看出来第一行是经过base64加密的,尝试解密一下:

这样就搞定了。

总结一下:

当初我们做题的纠结在所有数据连在一起的规律上面了,所以一直没有找到,第二就是,我们尝试r-b来换算ascii,但只是个别字符,没有全部列出来。所以做题的时候一定要把想法做下去!

Pwnium CTF2014 – MatterOfCombination writeup的更多相关文章

  1. 2016第七季极客大挑战Writeup

    第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...

  2. ISCC2016 WriteUp

    日期: 2016-05-01~ 注:隔了好久才发布这篇文章,还有两道Pwn的题没放,过一阵子放上.刚开始做这个题,后来恰巧赶上校内CTF比赛,就把重心放在了那个上面. 这是第一次做类似于CTF的题,在 ...

  3. 参加 Tokyo Westerns / MMA CTF 2nd 2016 经验与感悟 TWCTF 2016 WriteUp

    洒家近期参加了 Tokyo Westerns / MMA CTF 2nd 2016(TWCTF) 比赛,不得不说国际赛的玩法比国内赛更有玩头,有的题给洒家一种一看就知道怎么做,但是做出来还需要洒家拍一 ...

  4. 爱春秋之戏说春秋 Writeup

    爱春秋之戏说春秋 Writeup 第一关 图穷匕见 这一关关键是给了一个图片,将图片下载到本地后,打开以及查看属性均无任何发现,尝试把图片转换为.txt格式.在文本的最后发现这样一串有规律的代码: 形 ...

  5. 《安全智库》:48H急速夺旗大战通关writeup(通关策略)

    作者:ByStudent   题目名字 题目分值 地址 MallBuilder2 350 mall.anquanbao.com.cn MallBuilder1 200 mall.anquanbao.c ...

  6. iscc2016 pwn部分writeup

    一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...

  7. We Chall-Training: Encodings I -Writeup

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  8. We Chall-Encodings: URL -Writeup

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  9. We Chall-Training: ASCII—Writeup

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

随机推荐

  1. 洛谷P1784 数独

    To 洛谷.1784 数独(类似(或者说相同)题:CODEVS.4966 简单数独(4*4数独) CODEVS.2924 数独挑战) 题目描述 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数 ...

  2. [HackerRank]Choosing White Balls

    [HackerRank]Choosing White Balls 题目大意: 有\(n(n\le30)\)个球排成一行,每个球的颜色为黑或白. 执行\(k\)次操作,第\(i\)次操作形式如下: 从\ ...

  3. 常用类及 LeetCode 每日一题

    1 日期时间类 在 Java 语言中,是通过时间戳来表示时间的.所谓的时间戳,在 Java 中就是指当前时间距离历元(1970-01-01 00:00:00)的时间间隔,单位是毫秒,所以 Java 中 ...

  4. Spark MLlib 之 aggregate和treeAggregate从原理到应用

    在阅读spark mllib源码的时候,发现一个出镜率很高的函数--aggregate和treeAggregate,比如matrix.columnSimilarities()中.为了好好理解这两个方法 ...

  5. __x__(24)0907第四天__ display 和 visibility

    <a>百度</a>    也是内联元素,无法设置width和height <img>可以设置width和height,但是不会占用一行,所以是典型的行内块元素inl ...

  6. C# 8.0的新的using语法——Using declarations

    我们在代码中经常使用using保障非托管资源的释放 static void Main(string[] args) { using (var options = Parse(args)) { if ( ...

  7. C、C++、C#、Java、php、python语言的内在特性及区别

    C.C++.C#.Java.PHP.Python语言的内在特性及区别: C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作 ...

  8. 【linux】linux下对java程序生成dump文件,并使用IBM Heap Analyzer进行分析,查找定位内存泄漏的问题代码

    1.首先,java程序启动在linux,怎么生成dump文件? 1>第一步,首先你需要得到java程序的PID,最简单的方法使用如下命令 ps -ef|grep java 或者如果是docker ...

  9. App架构师实践指南六之性能优化三

    App架构师实践指南六之性能优化三 2018年08月02日 13:57:57 nicolelili1 阅读数:190   内存性能优化1.内存机制和原理 1.1 内存管理内存时一个基础又高深的话题,从 ...

  10. js获取浏览器版本信息整理

    一.Navigator 对象 JavaScript Navigator 对象包含了有关访问者浏览器的所有信息.接下来我们学习 Navigator 对象的两个属性. appName 保存浏览器类型 ap ...