CyberRebeatCTF 参加記&Writeup
今回は9/8~9/9に開催されたCyberRebeatCTFにGrowthKeysとして参加しました。
CRCTFお疲れ様でした
— Tomohiro.pcap (@cotton392) 2018年9月9日
僕はやるだけ3問しか解けてないのでチームメイトの方に申し訳なさしかないです....
強くなりたい...
チームのsolvedはこんな感じ、順位は3432点で24位でした。
個人のsolvedは
こんな感じです。簡単な問題しか解けなくてチームメイトの方々にすごい申し訳なくなりました...ごめんなさい。
ということで自分が解いた問題のwriteupを書いておきます。
[Trivia] Monero(得点獲得時493点、最終116点)
まあこれは普通に問題文をググったらいい感じにcoinhiveが出てきます。
blog.cheena.net
flag : CRCTF{coinhive}
[Crypto] Rotation(得点獲得時392点、最終120点)
問題文を見るに{}がそのまま残っているので、まあこれは確実にflagなんだろうなと推測。
先頭の5文字が「CRCTF」になるようにクソコードを書いて終了。(ほんとにif分岐クソコードを書いてしまった...)
ソースコード
#include <bits/stdc++.h> using namespace std; int main(){ string s="P4P6S{9RN4RUNPXR45}"; for(int i=0;i<s.size();i++){ if(s[i]=='{' || s[i]=='}'){ continue; } else if(s[i]=='1' || s[i]=='2' || s[i]=='3' || s[i]=='4' || s[i]=='5' || s[i]=='6' || s[i]=='7' || s[i]=='8' || s[i]=='9' || s[i]=='0'){ s[i]+=30; } else s[i]-=13; } cout << s << endl; }
(本当にこんな読みにくいコード書いて申し訳ないです、writeupのことを完全に忘れていました...)
flag : CRCTF{WEAREHACKERS}
[Recon] Tweet(得点獲得時340点、最終113点)
これはCyberRebeatCTFの公式Twitterにflagがツイートされています。
これをコピペして終了。
CRCTF{CyberRebeatCTF_has_started!}
— CyberRebeat (@CyberRebeat) September 8, 2018
flag : CRCTF{CyberRebeatCTF_has_started!}
まとめ
今回は2回目の常設以外のCTF参加でしたが、正直webとかbinaryがどう覗いても解けなかったのでとてもつらかったです...。
いつか近いうちにやるだけ問題埋め要員から脱したいですね...。
(Opening MovieっていうCyberRebeatのOPを300回見ろって問題でチームメイトの方が12時間放置して300回再生した後flagを入手していたのには笑いましたw)
次の非常設CTFではもっと健闘できるように頑張ります!
KOSENSECCON2018 参加記
悔しい
これ割と本気で今回のkosenscに参加した感想です。
お疲れ様でした、network100しか解けなかったのアホすぎるしめっちゃ悔しい#kosensc
— Tomohiro. (@cotton392) 2018年9月2日
まあ結果は最初に言っておくとNetworkの100点を1問解いただけになってしまいました、チームメイトさん本当に申し訳ない。
どんな感じだったか
一日目は合唱部の発表があったので参加はパス...の予定だったんですがそっちのほうが14:30頃に終わったので明石高専に直行(合唱部の会場は高専のすぐ近くだったので)。
結果30分遅れで参加したんですが、控室でNetworkの問題は解法を考えてました。
しかし実際にwiresharkでpcap読んでみると結構予想とは違ってて面食らいました(これは僕の経験が浅いだけです)
Network 100 Basic認証
正直これは読むと出来ました。
pcapファイルが配布されるので中身を除くと、ログインしてflag.zipをダウンロードしてるっぽいです。調べてみるとプロトコルの種類はTCPとHTTPだけしか無いのでHTTPだけを抽出します。
とりあえずflag.zipの中身にflagが入ってると推測できるのでflag.zipを入手します。HTTPオブジェクトをエクスポートしてflag.zipを開いてみますが、パスワードを求められます。
ここでもう一度パケットを見てみると認証でもファイル要求でもないGETがあって、それのHTMLを覗いてみると(zip password is john's password.)って書いてあるので認証に使われてるbase64をデコードしてpass部分をzipパスワードに入力するとビンゴ。中のflag.txtを覗いて終了です。
Flag : SCKOSEN{B@$ic_@uth_is_un$@fe}
まあ2日目は何も解けず、最終的に僕が解けたのはこれだけです。2日目は即席でCTFの環境立ててチームメイトに適宜ツール提供してたぐらいですね(かなしい)
チームメイトが2000点以上一人で取っててびっくりしましたし、自分もここまでとは言わなくても次に出るときはもっと僕個人で解けるようにしたいなぁと思いました。
感想
とりあえずうちのチームは自分も含めてBinaryとWebにめちゃんこ弱かったです...
CryptoとWebとBinaryに弱すぎるのでどれかは解けるようになりたい
— Tomohiro. (@cotton392) 2018年9月2日
とりあえずこれが来年に向けての目標です、本来得意分野だったはずのNetworkもDigest認証も後一歩のところで解けなかったのでそっちの方も頑張って精進していきたいですね。
最後に
KOSENSECCON、来年もうちょっと強くなって帰ってくるからな!
待っとけよ!!
高専カンファレンスえぶりわん! in大阪 参加記
今日は高専カンファレンスが大阪で行われると聞いて友達を誘って行ってきました。
参加するまでの印象としては「強い人多いんだろうなぁ...怖いなぁ...」って感じだったんですが、いざ参加してみると強い人は多かった(と言うか大半がそうだった)けど面白い人が多くて、興味深い話も聞けたしすごく楽しかったです!
もともとtwitterで知ってた人に会うのも結構楽しみにしてたんですが、今回知り合った人ともかなりたくさん話せたのでいろんな話が出来て良かったです!
次の西京で開かれる高専カンファレンスはお金の問題で行けませんけど、7月の京都で行われる方は参加したいと思っています。
その時は今日よりも多い同級生といいLTのネタを連れて突撃したいなぁと思っていますので、先輩各位よろしくおねがいします(笑)
最後になりますが、今日は皆さん本当にありがとうございました!
(今日の頭の悪い人の福笑いが本当の目的じゃなくて↓みたいに数式に使われてたの本当面白かった)
初めてのPCK 感想
この記事が最初になる感じですので、そんなに編集は凝ってません。悪しからず。
○事前準備
はい。バドミントン頑張ってたのでほぼ出来てません!!
そして高専入ってから競プロを始めたのでC++はおろかプログラミングの基礎知識すらありません。
ですがまだ夏休みだったので最低限の準備をしたって感じです。
○本番当日
この日も午前中にバドミントンの練習がありましたが、流石に疲弊した状態で3時間頭を使うのはきついので休むことに。
午前の間はC++の復習とか一通りしといて、12:45頃に学校へ。
相方は大阪からきているので学校の階段で偶然合流して会場の部屋へ向かいました。
案のほとんど揃っていて「もうちょっと早く来ればよかったかなー」とか思ったり。
みんな自分用のノートPCを持ってて自分も早くノートPC欲しいなぁとか考えたり。
そんな感じで結構一年生メンバーは和やかな感じで10分ほど話してました。
それで最初に開催ページを見つけられなかったりログインできなかったりしてましたが、なんとか時間までに準備完了していざ開始。
○予選問題
一問目~三問目まではほぼ知識がない自分でも解けたので、そこまでは自分が解きました。三問目でif乱用しまくってめちゃくちゃなコーディングしてたけどACしたのでよし(良くない)。
四問目、五問目ぐらいから相方がこっちに投げてきたので拙い頭をフル回転させて考察。五問目なんかは特に紙に長方形書きまくって線引いて、何とか分かるものはないかと必死になって考えてました。
相方が八問目あたりに手を出して考えようとするも断念して、この辺で制限時間の三時間に。
○結果・感想
結果は5完11WA(半分以上自分のせい)って感じです。
今回が生まれて初めての競プロの大会だったので競プロがどんな雰囲気なのか、自分の今の実力がどんな感じなのかとかを知ることができ良かったです。
初めてで5完出来たのでうれしい反面、自分のせいでWAを増やしてしまったっていうところもあってかなり悔しいので、来年参加出来たらもっと修練を積んだ状態でがんばりたいなぁ感じです。
相方よ、すまぬ。そして来年もよければ組んでほしい、っていうのが本音です。
(最後の方で相方が冗談抜きでプロに見えた)
○まとめ
・競プロ楽しかった
・来年も参加したい