feature image

2022年4月27日 | ブログ記事

CPCTFを開催します!

参加登録

参加登録を開始しました!下のリンクから参加登録お願いします!

CPCTF22
競技プログラミングとCTFを主に新入生や、そうじゃないひとたちにも体験してもらおう!!という試みです。

CPCTFとは?

新入生の皆さんに、競技プログラミング(Competitive Programing)CTF(Capture The Flag)を体験してもらうイベントです!

競技プログラミング(Competitive Programing)とは、ある条件に沿った入力が与えられて、問題の解になるような出力をする、というのをプログラムするものです。プログラミングのスキルを上げたり、アルゴリズム数学の勉強になり、何より楽しい競技です。CPCTFでは、PPCという競技プログラミング的なジャンルになります!

詳しくはアルゴリズム班のサイトを見てください!

アルゴリズム班
アルゴリズム班では主に競技プログラミングを行う班です。 競技プログラミングとは競技プログラミングとは、与えられた問題に対して正確な回答を出力するような高速なプログラムを書きその時間を競う競技です。 問題の例A - chukodai 英小文字からなる文字列 S が与えられます。 S の先頭から a 文字目と b 文字目を入れ替えて得られる文字列を出力してください。AtCoder Beginner Contest 236 A - chukodai このような問題文が与えられ、問題文中の変数Sやaなどを入力にとるプログラムを書いていきます。そして、問題文で要求される答えを正確に出力できれば正解となり…

CTF(Capture The Flag)とは、コンピュータセキュリティ競技のことです。
CPCTFでは、機密情報に見立てたFLAG(フラッグ、旗)と呼ばれる文字列を、運営の用意したコンピュータから盗み出すのが目標です!

詳しくはCTF班のサイトを見てください!

CTF班
CTF班 CTF班は、CTF(Capture the Flag)という競技をしています。 CTF(Capture the Flag)とは、セキュリティに関する技術と知識を用いて、機密情報に見立てたFLAGを探し出す競技です。 CTF班では、個人または班内のグループで外部のCTFの大会に参加することを主な活動としています。 CTFの問題について 一口にサイバーセキュリティとっても様々な分野があり、CTFでも様々な問題が出題されますが、おおまかに以下のように分類できます。 Binary Reversing, Pwnに細分化されることもあります。 実行ファイル(elfやexeなど)を解析し…

CPCTFでは、新入生でも楽しめる難易度の問題がそろっています!気軽に参加登録しちゃいましょう!

新入生の方はもちろん、2年生以上や学外の方も歓迎です!
東工大の新入生の中で、上位5人にはささやかな景品もあります!

スケジュール

競技開始 : 5月1日(日)13:30
競技終了 : 5月1日(日)19:30
結果発表 : 5月1日(日)20:00

※スケジュールは前後する可能性があります。

レギュレーション

個人参加

CPCTFでは、チーム参加は認められません。

問題について

CPCTFでは、大学新入生向けの 易しい問題 を多く用意しています。
各問題には難易度が設定されています。Newbie, Easy, Medium, Hardの順で難しくなります。
また、各問題にヒントが用意されています。

詳しい情報は、後日公開する競技ページをご覧ください。

注意事項

この CPCTFにて求められる手法を管理者の承諾を得ていない電子計算機に対して実行すると不正アクセス行為の禁止等に関する法律に抵触することがあります。該当する手法を外部のサーバーに対して実行しないでください。

過去問をといてみよう!

CPCTFの雰囲気を楽しんでもらうために、過去問をといてみます!
実際に、自分のPCで試してもらえると嬉しいです!

各問題にはFLAGが用意されています。FLAG{*****} (*は任意の文字列)を見つけることが目標です!

Call And Response

問題文

ロリ子は推しのライブを見に来ました。そこでは、コールアンドレスポンスが行われるようです。そこでロリ子はコールアンドレスポンスの練習をすることにしました。 ロリ子にコールアンドレスポンスのお手本を見せてあげてください。具体的には、英数字の文字列Sが入力として与えられるので、Sを出力してください。

制約

入力

入力は以下の形式で標準入力から与えられる。

S

出力

Sを出力せよ

サンプル

入力例1

CPCTF

出力例1

CPCTF

解いてみる

問題文を読み解くと、与えられた入力をそのまま出力すればできそうです!

比較的簡単で、東工大の授業でも使われているPythonという言語で、この問題を解いていきます。

ジャッジサーバーはPython以外の言語にも対応しています。詳しくは、後日公開する競技ページをご覧ください。

CPCTFでは、Google検索を使うことができるので、「Python 入力」や「Python 出力」などでたくさん検索しましょう!

すると、input()や print()などを使った記事が見つかったと思います。Pythonではinput()を使って、入力を得ることができ、print()を使うことで出力することができるので、答えは下のようになります!

s = input()
print(s)

競技中であれば、上のプログラムを提出することでFLAGを得ることができ、点数を獲得できます!

作問者writeupはこちらです。(※解説のようなもの)

CPCTF2021 作問者writeup by xxpoxx
はじめに こんにちは、19Bのxxpoxxです。 いつもは部内サービスの開発をしています。 本日、4/25にCPCTF、競プロとCTFの体験会が開催され、大盛況にて幕を閉じました(予定(じゃなくなった))。 当日レポートはこちら 参加してくださった皆さん、ありがとうございました。 私は16問、最大獲得可能点数合計2530点分の作問およびスコアサーバーの開発をしていました。 この記事では、CPCTF2021の作問者writeupを書いていきます。スコアサーバーの話は後日記事に出るので、お楽しみに! 作問者writeup 以下の16問を作問しました。うち1問はCPCTF2019からの…

この調子で他ジャンルもやってみましょう!

Do you know Julius Caesar ?

問題文

換字式暗号のひとつにシーザー暗号というものがあります。シーザー暗号は非常に簡単な暗号で、元々ある文字列をいくつかずらすといった暗号になります。

例えばanyという文字列を、それぞれの文字に対して、5 つずつアルファベット順にずらすという行為を行いましょう。zを超えた場合はaに戻ります。すると、afになり、nsになり、ydになります。よって暗号化するとfsdといった形になります。

これを復号するには、逆にfsdという文字列を 5 つ前に戻してあげればいいということになりますね。

いくつずらすかは暗号化のたびに変わります。上記の例では 5 つずらしましたが、いつも 5 つずらすとは限りません。いくつずらしたかを予想して復号するわけですね。

それではこれを踏まえて、以下の暗号を復号してみましょう。(ずらすのはアルファベットだけです。)

SYNT{Nyrn_wnpgn_rfg}

解いてみる

問題文を読んでみると、どうやらシーザー暗号を使った問題みたいです。前の問題と同じようにシーザー暗号について色々検索してみます!

「シーザー暗号 復号」などで検索してみると、シーザー暗号を自動で復号してくれるサイトが見つかります。

1から復号してみます。13で復号してみるとFLAG{Alea_jacta_est} を得ることができました!

今回は総当りでやってみましたが、FLAGが必ずFLAG{*****} であることを利用すると、もっと楽に解くことができます。Sは必ずFになるので、13文字ずれていることがわかります。復号するためには、同じ文だけ逆方向にずらせばいいので、13文字前に戻すとFLAGを得ることができます!

作問者writeupはこちらです。(※解説のようなもの)

CPCTF2021作問者write up(?) by nambatsu
はじめに こんにちは18Bのnambatsuです。普段は音ゲーとバイトばかりしている大学生です。2020年度はICTSCという大会に出る以外でtraPの活動をしていませんでした。しかし2021年度は(こそは?)活動したい! という気持ちでいて、早速CPCTFの作問に参加しました。 実際に4/25にCPCTFが開催され多くの人々が参加してくださいました!非常に感謝です! 僕は全部で14問の問題を出題しました。以下で僕が作った問題を取り上げてコメントしていこうかと思います。 write upとは書いて有りますが、解法はCTFページのヒント3まで開ければ見えるので簡単にしかしません・・・ ヒン…

もっと解いてみる

CPCTFでは、今回解いてみたPPCや、Crypto以外にもたくさんのジャンルがあります!

PPCをもっとやりたいという人は、AtCoderをやってみましょう!

AtCoder:競技プログラミングコンテストを開催する国内最大のサイト
プログラミング初級者から上級者まで楽しめる、競技プログラミングコンテストサイト「AtCoder」。オンラインで毎週開催プログラミングコンテストを開催しています。競技プログラミングを用いて、客観的に自分のスキルを計ることのできるサービスです。

CTFの問題をときたい人は、CpawCTFや picoCTFに挑戦してみましょう!

CpawCTF - Main page
picoCTF - CMU Cybersecurity Competition
picoCTF is a free computer security education program with original content built on a capture-the-flag framework created by security and privacy experts at Carnegie Mellon University.

CPCTF関連記事

過去のCPCTFに関する記事をいくつかピックアップしました!

CPCTFタグから他の記事を読むことができます!

CPCTFを支えたビジュアライザ
おはようございます、19のFogrexです。 この記事では4/25に開催された、traP主催のCPCTFという大会で使用されたビジュアライザについて紹介します。今更ですが読んでいただければ嬉しいです。 制作者はFogrex, N, temmaの三人です。 CPCTFにおけるビジュアライザCPCTF当日レポート皆さん、本日は参加していただいてありがとうございます! 本記事では、開催中の様子や各種統計情報を紹介します。 参加者 今回の参加者は156人(内、点数を獲得したのは107名)でした。事前登録者数が少なくてドキドキしていましたが、直前に登録してくれる方が多くて安心しました。 ユーザー数の推移…
CPCTF visualizer2019
こんにちは、uynetです CPCTFも無事終わったので、僕が関わったヴィジュアライザについて書きます (新歓ブログリレーではありません) CPCTFとは ゲーム大会と並ぶtraP新歓メインイベントの一つ、「競プロとCTFの体験会」です 1~2ヶ月掛けて準備する最も力の入ったイベントとなります。 で、例年ヴィジュアライザというものを用意します。これは競技の様子を可視化したものです。 その歴史は3年に遡ります。 2017年 初年度のヴィジュアライザです。円グラフは解いた問題ジャンルの割合みたいです。 作:ふぁいたん ゆいちゃんをさがせ! 得点をするとぽよぽよアニメーション…
CPCTF2021 作問者writeup by sappi_red
はじめに こんにちは、19の翠(sappi_red)です。 いつもはSysAd班で部内サービスの開発・保守をしています。 CPCTFへのご参加ありがとうございました。 ぼくはWeb問の4つ(最大獲得可能点数合計1200点分)の作問と、スコアサーバーのフロントエンドの開発をしていました。 この記事では、CPCTF2021の作問者writeupを書いていきます。スコアサーバーの記事は後日出ます! 作問者writeup Web/Are you still using IE 8? (200点) Web/Line to line (200点) Web/Offline compatible (3…

さいご

CPCTFは初心者の方から上級者の方まで楽しめるイベントになっています!
ヒントも3段階用意されているので、初心者の方も是非臆せず参加してみてください!
みなさんの参加をお待ちしています!

tesso icon
この記事を書いた人
tesso

anko icon
この記事を書いた人
anko

21B/理学院物理学系 CTFがすきなヲタク

hijiki51 icon
この記事を書いた人
hijiki51

20B/理学院 Go書いたり競プロしたり

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2021年5月19日
CPCTF2021を実現させたスコアサーバー
xxpoxx icon xxpoxx
2021年5月16日
CPCTFを支えたインフラ
mazrean icon mazrean
2021年4月18日
ベズー係数とN項の拡張ユークリッドの互除法
0214sh7 icon 0214sh7
2019年4月22日
アセンブリを読んでみよう【新歓ブログリレー2019 45日目】
eiya icon eiya
2018年12月12日
多重スリーブの世界と,各種進捗報告。
Silviase icon Silviase
記事一覧 タグ一覧 Google アナリティクスについて