AlpacaHack Logo

Challenges

Sign InSign Up

Rows:

CHALLENGEAUTHORS

SOLVES

(CURRENT)

SOLVE RATE

(AT CONTEST TIME)

Welcome
Misc

admin

1351

solves

-

Daily AlpacaHack

996

solves

-

Daily AlpacaHack

625

solves

-

AlpacaHack Round 2 (Web)

544

solves

Top 28%

= 84/300 users

Daily AlpacaHack

441

solves

-

Daily AlpacaHack

414

solves

-

Daily AlpacaHack

375

solves

-

echo
Pwn

AlpacaHack Round 1 (Pwn)

328

solves

Top 32%

= 56/174 users

Daily AlpacaHack

282

solves

-

Daily AlpacaHack

262

solves

-

Daily AlpacaHack

259

solves

-

AlpacaHack Round 7 (Web)

258

solves

Top 15%

= 71/458 users

Daily AlpacaHack

258

solves

-

Daily AlpacaHack

253

solves

-

Daily AlpacaHack

251

solves

-

🐈
Web

Daily AlpacaHack

244

solves

-

qrime
Crypto

AlpacaHack Round 3 (Crypto)

243

solves

Top 38%

= 91/239 users

Daily AlpacaHack

239

solves

-

Daily AlpacaHack

232

solves

-

Daily AlpacaHack

222

solves

-

Rows:

Emojify

Daily AlpacaHack
441 solves
Web

Author:

:pizza: -> 🍕

Beginner Hint 1: About Difficulty
  • This challenge is in the Web category, i.e., web applications.
  • Unlike yesterday's challenge, which was Easy, this one is Medium.
  • Daily AlpacaHack currently defines four difficulty levels: Easy, Medium, Hard, and Very Hard.
  • Medium is one step above Easy. If Daily AlpacaHack is your first exposure to CTF, solving it may be tough.
  • If you get stuck, feel free to lean on AI to find a starting point for the solution.
  • Even if you can't solve it, check other players' solutions (writeups) afterward to review and learn.
  • 24 hours after release, a writeup tab will appear in the tab bar below.
Beginner Hint 2: Running the Challenge Locally
  • After extracting the attachment, you'll find compose.yaml, Dockerfile, and directories for three services.
  • Modern CTFs often ship a Docker Compose file so players can reproduce the remote environment locally.
  • From the root of the distribution, run docker compose up.
  • With default settings, the challenge server will start at http://localhost:3000/.
  • Use this local server to investigate vulnerabilities and to test the solver you build.
Beginner Hint 3: 問題を解くまでのアプローチ
  • まずはどのようなWebサービスが動いているかをソースコードを読んで把握するところから始めてみましょう。
  • ローカルで立ち上げた問題サーバーの振る舞いを確認しながら読むと理解が早いです。
  • サービスの挙動をおおよそ理解したら今度はゴールが何かを確認することをおすすめします。
  • フラグがどこにあって、何ができたらそのフラグを取得できるのかを考えると、その「何ができたら」を達成するのがこの問題の趣旨であるとわかります。
  • また、今回の問題サーバーはJavaScriptで書かれています。
  • JavaScriptの関数の細かい挙動などをあれこれ確認するには、JavaScriptを実行可能な対話環境があると便利です。
  • 手元のターミナルでnodeコマンドを実行して色々実験してみましょう。
  • 合わせて、使われているJavaScriptの関数の仕様を調べてみるのも有効でしょう。
  • MDNのドキュメント(https://developer.mozilla.org/ja/docs/Web )は情報の精度や網羅性がしっかりしているので、情報リソースとしては有用です。
emojify.tar.gz
descriptionsolveswriteups