この大会は2017/12/2 1:00(JST)~2017/12/4 1:00(JST)に開催されました。
今回もチームで参戦。結果は900点で587チーム中99位でした。
自分で解けた問題をWriteupとして書いておきます。
Portal to another world (network admin trivial vpn)
VPNで問題のページにアクセスするだけ。ページに書かれているメッセージがフラグ。
Come on!
Music for people (stegano joy)
Music Studio Producerで開き、ピアノロールを見る。
MUSIC_IS_COOL
What's inside her, Rick? (stegano)
問題ファイルはbmpファイル。0x39バイトから4バイトごとにつなげるとJPEGになりそう。
with open('what_is_inside.bmp', 'rb') as f: data = f.read() jpg = '' for i in range(0x39, len(data), 4): jpg += data[i] with open('flag.jpg', 'wb') as f: f.write(jpg)
Death!
PR me, please (web vpn)
popular.txtに載っているサイトのメインページにリンクを張ってそれを表明しなさいというような内容の問題。リファラーにpopular.txtに記載されているURLの一つを指定してアクセスする。
$ curl -e https://www.yandex.ru/ http://10.0.181.112:15110/ <!DOCTYPE html> <html lang="en"><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content=""> <meta name="author" content=""> <link rel="icon" href="http://getbootstrap.com/favicon.ico"> <title>Личный сайт Рика</title> <!-- Bootstrap core CSS --> <link href="bootstrap.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="sticky-footer.css" rel="stylesheet"> </head> <body> <!-- Begin page content --> <main role="main" class="container"> <div class="mt-1"> <h1>Личный сайт Рика</h1> <h1>(пока в стадии пиара)</h1> </div> <br> <p class="lead">Добро пожаловать, мои первые посетители!</p> <img src="1.jpg" class="img-responsive center-block"> <p>На этом сайте я буду в будущем выкладывать свои научные труды: первый материал будет о черной материи, а далее о перемещении во времени!</p> <p>Flag: yoUUGOOODhacker46466464 </p> <br> <p>Просмотров сайта за всё время: 3956</p> </main> <footer class="footer"> <div class="container"> <span class="text-muted">Супер умный Рики, 2017</span> </div> </footer> </body></html>
yoUUGOOODhacker46466464
Terry test (admin)
zipを解凍すると、さらにzipとパスワードのtxtが展開される。さらに解凍すると、同じように展開される。どうやらこれが繰り返されるようだ。プログラムで自動で解凍させる。
import os import zipfile for i in range(2, 201): txt = '%d.txt' % i zip = '%d.zip' % i with open(txt, 'r') as f: pw = f.read() zf = zipfile.ZipFile(zip, 'r') zf.setpassword(pw) zf.extractall('.') zf.close() os.remove(txt) os.remove(zip)
200回解凍すると、最後にmessage.txtにフラグが書いてあった。
bearlovehoney