Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Nginx-CVE-2013-4547 — Dockerベースのラボで、Nginx CVE-2013-4547のURI解析の脆弱性を実演し、権限バイパスとコード実行のための段階的な悪用手順を提供します。 | Kitploit
ツール/GitHubGitHub/cyberharsh/nginx-cve-2013-4547
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト設定ミス学習と教育
GitHubcyberharsh/nginx-cve-2013-4547

Nginx-CVE-2013-4547

Dockerベースのラボで、Nginx CVE-2013-4547のURI解析の脆弱性を実演し、権限バイパスとコード実行のための段階的な悪用手順を提供します。

リポジトリを見る
3146年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Nginx のファイル名ロジック脆弱性(CVE-2013-4547)

脆弱性の説明

影響バージョン:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

参考リンク:

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4547
  • https://blog.werner.wiki/file-resolution-vulnerability-nginx/
  • http://www.91ri.org/9064.html

脆弱性の説明

この脆弱性は実際にはコード実行とはあまり関係がなく、主な原因はリクエストURIを誤って解析し、ユーザーがリクエストしたファイル名を誤って取得したことにより、権限バイパスやコード実行といった付随的な影響が発生するというものです。

例えば、Nginxが.phpで終わるリクエストにマッチすると、fastcgiに送信して解析させます。一般的な書き方は次のとおりです。

root@kitploit:~
location ~ \.php$ {
    include        fastcgi_params;

    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
    fastcgi_param  DOCUMENT_ROOT /var/www/html;
}

通常の状態(pathinfoをオフにしている場合)では、.php拡張子のファイルのみがfastcgiに送信されて解析されます。

一方、CVE-2013-4547が存在する場合、をリクエストすると、このURIは正規表現にマッチし、このLocationブロックに入ることができます。しかし、入った後、Nginxはリクエストされたファイルがであると誤って判断し、それをの値としてfastcgiに送信します。

1.gif[0x20][0x00].php
\.php$
1.gif[0x20]
SCRIPT_FILENAME

fastcgiはSCRIPT_FILENAMEの値に基づいて解析するため、最終的に解析の脆弱性が発生します。

したがって、スペースで終わるファイルをアップロードするだけで、PHPにそれを解析させることができます。

もう一つ例を挙げると、多くのWebサイトでは管理画面(バックエンド)へのアクセスをIPで制限しています。

root@kitploit:~
location /admin/ {
    allow 127.0.0.1;
    deny all;
}

次のようなURIをリクエストできます:/test[0x20]/../admin/index.php。このURIはlocationの後ろの/admin/にはマッチしないため、そのIP検証をバイパスできます。しかし最終的にリクエストされるファイルは/test[0x20]/../admin/index.php、すなわち/admin/index.phpであり、バックエンドへのアクセスに成功します。(この前提として、test という名前のディレクトリが存在する必要があります。これはLinuxシステムの特徴です。存在しないディレクトリの場合、上の階層に遷移してもファイルが存在しないエラーが発生します。Windowsではこの制限はありません)

脆弱性のテスト

脆弱性環境を起動します:

root@kitploit:~
docker-compose build
docker-compose up -d

環境の起動後、http://your-ip:8080/にアクセスするとアップロードページが表示されます。

この環境はブラックリスト検証のため、php拡張子のファイルはアップロードできません。CVE-2013-4547を利用する必要があります。1.gif をアップロードします。末尾のスペースに注意してください:

http://your-ip:8080/uploadfiles/1.gif[0x20][0x00].phpにアクセスすると、PHPが解析されていることが確認できます:

注意:[0x20]はスペース、[0x00]は\0です。これらの2つの文字はエンコードする必要はありません。

ツールをダウンロード