チャレンジ一覧

LinuxLevel 3★★★☆☆

Linux-Capabilities. SUIDに頼らない権限昇格

このシステムでは特定のバイナリにLinux capabilitiesが付与されています。SUIDビットではなくcapabilitiesを使った権限昇格の手法を探してみましょう。

LinuxLevel 3★★★☆☆

Linux-SUID悪用. findバイナリで権限昇格せよ

このシステムにはSUIDビットが付与された find コマンドのコピーがあります。GTFOBinsで知られる手法を使い、root権限のシェルを取得してください。

LinuxLevel 3★★★☆☆

Linux-procメモリ. プロセスの環境変数を覗き見よ

バックグラウンドで動き続けるデーモンプロセスがあり、その環境変数の1つにフラグが設定されています。/procファイルシステムを使ってプロセスの情報を調べてください。

LinuxLevel 3★★★☆☆

Linux-strace. システムコールを追ってファイルを暴け

標準出力にもファイルにも何も残さないバイナリが用意されています。このプログラムは隠しファイルから鍵を読み、メモリ上でフラグを復元して /dev/null へ書き込みます。straceでシステムコールを追跡し、どの引数にフラグが現れるかを突き止めてください。

LinuxLevel 3★★★☆☆

Linux-競合状態. TOCTOUの隙を突いてroot権限のファイルを奪え

rootが定期的に実行するクリーンアップスクリプトには、チェックと処理の間に隙(TOCTOU)があります。シンボリックリンクをうまく使ってこの隙を悪用してみてください。

WebセキュリティLevel 3★★★☆☆

Web-21. Secure User Searchのブラインドインジェクション

このユーザー検索アプリはユーザー名の存在有無だけを返しますが、直接的な検索結果は表示しません。エラーの発生有無やレスポンスの違いを手がかりに、隠された情報を推測できないか確認してみましょう。

WebセキュリティLevel 3★★★☆☆

Web-22. Secure Comment BoardのCSPバイパス

このコメント掲示板はContent Security Policy(CSP)で保護されており、スクリプトの実行元を自サイトと信頼済みCDNのみに制限しています。信頼されたCDNの中身まで安全とは限らない点に注目してみましょう。

WebセキュリティLevel 3★★★☆☆

Web-23. Secure Authentication Systemの型変換の罠

このログインポータルはフォームログイン・JSON API ログイン・検証コードチェックを備えています。管理者アカウントの本当のパスワードは分かりませんが、比較処理の実装次第では回避できるかもしれません。

WebセキュリティLevel 3★★★☆☆

Web-24. Secure Bankの競合状態を突く

Secure Bankではコイン残高を使ってショップで景品を購入できます。残高チェックと引き落とし処理が別々のステップで行われている場合、その間隙をどう突けるか考えてみましょう。

WebセキュリティLevel 3★★★☆☆

Web-25. Greeting Card GeneratorのSSTI

このグリーティングカード作成アプリはFlask/Jinja2で作られており、入力したメッセージをそのままテンプレートエンジンでレンダリングしています。テンプレート構文がどこまで実行されてしまうか調べてみましょう。