AlpacaHack Logo

Challenges

Sign InSign Up

Rows:

CHALLENGEAUTHORS

SOLVES

(CURRENT)

SOLVE RATE

(AT CONTEST TIME)

Welcome
Misc

admin

1158

solves

-

AlpacaHack Round 2 (Web)

496

solves

Top 28%

= 84/300 users

Daily AlpacaHack

353

solves

-

echo
Pwn

AlpacaHack Round 1 (Pwn)

305

solves

Top 32%

= 56/174 users

Daily AlpacaHack

252

solves

-

AlpacaHack Round 7 (Web)

241

solves

Top 15%

= 71/458 users

qrime
Crypto

AlpacaHack Round 3 (Crypto)

221

solves

Top 38%

= 91/239 users

CakeCTF 2023

199

solves

Top 33%

= 246/729 teams

AlpacaHack Round 6 (Pwn)

186

solves

Top 28%

= 57/197 users

Daily AlpacaHack

169

solves

-

AlpacaHack Round 8 (Rev)

157

solves

Top 19%

= 61/316 users

RTACTF 2023 Spring

144

solves

-

AlpacaHack Round 6 (Pwn)

132

solves

Top 20%

= 41/197 users

AlpacaHack Round 11 (Web)

130

solves

Top 29%

= 63/213 users

AlpacaHack Round 4 (Rev)

114

solves

Top 15%

= 42/279 users

AlpacaHack Round 7 (Web)

112

solves

Top 9%

= 42/458 users

AlpacaHack Round 3 (Crypto)

108

solves

Top 17%

= 42/239 users

AlpacaHack Round 10 (Pwn)

107

solves

Top 42%

= 40/95 users

AlpacaHack Round 1 (Pwn)

105

solves

Top 15%

= 27/174 users

CaaS
Web

AlpacaHack Round 2 (Web)

82

solves

Top 4%

= 13/300 users

Rows:

Emojify

Daily AlpacaHack
169 solves
Web

Author:

:pizza: -> 🍕

初心者向けヒント①: 難易度について
  • この問題は Web カテゴリー、すなわちWebアプリケーションに関する問題です。
  • また、難易度は昨日の問題の Easy と異なり、 Medium になっています。
  • Daily AlpacaHack では現在、問題の難易度を Easy, Medium, Hard, Very Hard の 4 段階で定めています。
  • Medium は Easy より一段階難しく、特に Daily AlpacaHack で初めて CTF を知った方は自力で解くことは難しいでしょう。
  • ですので、詰まった場合は適宜 AI も駆使して、解法の糸口を見つけることをおすすめします。
  • もし解けなくても、終了後に他のプレイヤーが公開する解法(writeupと言います)を見て、ぜひ復習してみてください。
  • 問題公開から 24 時間後に writeup タブが下のタブ一覧に追加されます。
初心者向けヒント②: ローカルでの問題サーバーの立ち上げ
  • 添付ファイルを解凍すると、compose.yamlDockerfile に加えて、3つのサービスのディレクトリが含まれています。
  • 現代の CTF では、添付ファイルに Docker Compose ファイルが含まれており、プレイヤーがローカル環境でリモート環境を再現できるケースが多く見られます。
  • 配布ファイルのディレクトリ直下で docker compose up を実行してみてください。
  • デフォルトの設定であれば、 http://localhost:3000/ で問題サーバーが起動します。
  • このサーバーは、脆弱性の調査や、作成したソルバーの動作確認に活用できます。
初心者向けヒント③: 問題を解くまでのアプローチ
  • まずはどのようなWebサービスが動いているかをソースコードを読んで把握するところから始めてみましょう。
  • ローカルで立ち上げた問題サーバーの振る舞いを確認しながら読むと理解が早いです。
  • サービスの挙動をおおよそ理解したら今度はゴールが何かを確認することをおすすめします。
  • フラグがどこにあって、何ができたらそのフラグを取得できるのかを考えると、その「何ができたら」を達成するのがこの問題の趣旨であるとわかります。
  • また、今回の問題サーバーはJavaScriptで書かれています。
  • JavaScriptの関数の細かい挙動などをあれこれ確認するには、JavaScriptを実行可能な対話環境があると便利です。
  • 手元のターミナルでnodeコマンドを実行して色々実験してみましょう。
  • 合わせて、使われているJavaScriptの関数の仕様を調べてみるのも有効でしょう。
  • MDNのドキュメント(https://developer.mozilla.org/ja/docs/Web )は情報の精度や網羅性がしっかりしているので、情報リソースとしては有用です。
emojify.tar.gz
descriptionsolveswriteups