AlpacaHack Logo

Challenges

Sign InSign Up

Rows:

CHALLENGEAUTHORS

SOLVES

(CURRENT)

SOLVE RATE

(AT CONTEST TIME)

AlpacaHack 2100
Misc

Daily AlpacaHack

admin

1659

solves

-

1548

solves

-

Daily AlpacaHack

891

solves

-

AlpacaHack Round 2 (Web)

612

solves

Top 28%

= 84/300 users

Daily AlpacaHack

597

solves

-

Daily AlpacaHack

572

solves

-

SECCON Beginners CTF 2024

511

solves

Top 73%

= 683/928 teams

Daily AlpacaHack

394

solves

-

Daily AlpacaHack

388

solves

-

echo
Pwn

AlpacaHack Round 1 (Pwn)

358

solves

Top 32%

= 56/174 users

Daily AlpacaHack

358

solves

-

Daily AlpacaHack

347

solves

-

Daily AlpacaHack

334

solves

-

Daily AlpacaHack

329

solves

-

Encoding Basics
Misc
Crypto

Daily AlpacaHack

324

solves

-

Daily AlpacaHack

322

solves

-

Daily AlpacaHack

315

solves

-

🐈
Web

Daily AlpacaHack

315

solves

-

Bars
Web

Daily AlpacaHack

302

solves

-

108
Misc

Daily AlpacaHack

296

solves

-

Rows:

One More Login Challenge

Daily AlpacaHack
94 solves
Web

Author:

またログイン?! (注: Another Login Challenge を先に解く必要はありません)

初心者向けヒント1: 問題の概要
  • index.js では、簡易的なログイン機能が実装されています。
  • MongoDBを利用して、送られたusernamepasswordのユーザーが存在するかチェックしているようです。
  • 自分でユーザーを作ることはできなさそうです。また、adminというユーザーが登録されていますが、そのパスワードを推測することも不可能でしょう。
初心者向けヒント2: 問題のアプローチ
  • コメントにもある通り、application/x-www-form-urlencodedapplication/jsonの両方の形式でデータを送ることができるようです。したがって、JSONを利用すればusernamepasswordに文字列以外のデータを送れます。
  • ログイン画面の機能だけでは意図したデータを送れないかもしれません。ブラウザ以外の方法でデータを送る方法については、I wanna be the AdminのWriteup を参考にしてください。
初心者向けヒント3: 本当に詰まった時は
  • MongoDB インジェクション、あるいはNoSQL インジェクションで検索してみましょう。
one-more-login-challenge.tar.gz
descriptionsolveswriteups