CpawCTF
Q17.[Recon]Who am I ?
Twitterのアカウント名とゲーム名で検索すればいい.
Q18.[Forensic]leaf in forest
fileコマンドにかけると,pcapファイルであることがわかる.
stringsコマンドで文字列を取り出すと,大量のlovelive!
という文字列に混ざって,文字が3つ連なっている箇所がある.
順番に1つ1つ書き出すか,スクリプトを書いて抽出すればフラグが現れる.
一応記録に残すために拙いコードを載せる.
def extract_three(string):
ans = ''
for i in range(len(string)-2):
if string[i] == string[i+1] and string[i] == string[i+2]:
ans += string[i]
return ans.lower()
if __name__ == '__main__':
with open('//Users/katsuya2019/ctf/tmp_20190425.txt') as f:
lines = f.readlines()
ans = extract_three(lines[0])
print(ans)
extract_threeで3つ連続している文字を取り出している.
Q19.[Misc]Image!
与えられたzipファイルをfileコマンドで調べると,OpenDocument Drawing
と出る.
Microsoft Wordで開いたら,黒い長方形の横に文字列が書いてあった.
それをcpaw{}で囲んでフラグをゲット.
後で他の人のwrite-upを見たらLibreOfficeで開けばよかったらしい.
本来は長方形の下に文字列が隠れていることになっていた.
Q20.[Crypto]Block Cipher
cのソースが与えられる.
中身を見ると,1つ目の引数に文字列を,2つ目の引数に整数値を取る.
見るからにシーザー暗号っぽかったので,コンパイルして,
./crypto100 暗号文 数字
で数字の部分を1から増やしていったら文章が現れてフラグ獲得.
Q21.[Reversing]reversing easy!
ELFバイナリが与えられる.
Ubuntu環境で実行しても動作せず.
stringsコマンドにかけると,cpawという文字列に続いて断片的にフラグと思われる文字が出現する.
1文字ずつ繋げるとフラグになる.
Q22.[Web]Baby's SQLi - Stage 1-
与えられたURLにアクセスすると,SQL文を入力してフラグを探すように要求される.
palloc_homeというテーブルにフラグがあることが書かれている.
select * from palloc_home
と入力すればフラグを得ることができる.
Q28.[Network] Can you login?
pcapファイルが与えられる.
Wiresharkで開くと,FTPでやり取りしている様子が見える.
宛先URLとID,パスワードを拾って,FTPで接続を試みる.
macだとFTPコマンドが使えなかったので,Ubuntuで実行.
ログインしてディレクトリ取得,dummyというファイルを開くことまではできたが,フラグのあるファイルまでたどり着くことができず,write-upを参考にした.
パッシブモードに切り替えてls -a
を実行すると隠しファイルの存在を確認できる.
ダウンロードして開くとフラグが.