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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2018-1305 — Apache Tomcat セキュリティバイパス脆弱性 PoC | Kitploit
ツール/GitHubGitHub/pa55w0rd/cve-2018-1305
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト
GitHubpa55w0rd/cve-2018-1305

CVE-2018-1305

Apache Tomcat セキュリティバイパス脆弱性 PoC

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Apache Tomcat セキュリティ回避の脆弱性

exploit

最近、ApacheはApache Tomcat 7、8、9の複数のバージョンにセキュリティ回避の脆弱性が存在するというセキュリティアドバイザリを公開しました。攻撃者はこの問題を利用して、特定のセキュリティ制限を回避し、不正な操作を実行する可能性があり、これがさらなる攻撃に寄与する可能性があります。

Apache Tomcatのサーブレットアノテーションで定義されたセキュリティ制約は、サーブレットがロードされた後でのみ一度適用されます。このように定義されたセキュリティ制約は、URLパターンおよびその配下の任意のURLに適用されるため、サーブレットのロード順序に依存する可能性が高く、これによりリソースが不正アクセスするユーザーにさらされる可能性があります。

脆弱性番号

CVE-2018-1305

影響を受けるバージョン

Apache Tomcat < 9.0.5

Apache Tomcat < 8.5.28

Apache Tomcat < 8.0.50

Apache Tomcat < 7.0.85

脅威レベル

中リスク

脆弱性再現

Java EE は ACL 権限チェックに類似した ServletSecurity アノテーションを提供しており、サーブレットを修飾して保護するために使用できます。2つのサーブレットがある場合、Servlet1 のアクセスパスは "/servlet1/" で ServletSecurity アノテーションが追加され、Servlet2 のアクセスパスは "/servlet1/servlet2/" で ServletSecurity アノテーションはありません。初めて servlet1/servlet2 にアクセスすると、servlet1 の ServletSecurity アノテーションは有効にならず、"/servlet1/servlet2" パスを保護できません。そのため、未承認アクセスが発生する可能性があります。

もし "/servlet1/servlet2" にアクセスする前に "/servlet1" にアクセスした場合、Tomcat は ACL をロードし、"/servlet1/servlet2" に対する保護を開始するため、脆弱性は発生しません。

exploit

Servlet1 の前に ServletSecurity アノテーションを追加し、Servlet2 にはこのアノテーションはありません。

exploit

web.xml ファイル内のサーブレットに対応する url-pattern を下図のように変更した後。

exploit

このプロジェクトを実行します。初めて servlet2 の URL にアクセスすると、未承認アクセスが可能であることがわかり、servlet1 に対する ACL は有効になりませんでした。

http://localhost:8080/CVE-2018-1305/servlet1/servlet2/

exploit

2回目に servlet1 の URL にアクセスすると、アクセスが禁止され、この時点で ACL が有効になります。

http://localhost:8080/CVE-2018-1305/servlet1/

exploit

再度 servlet2 の URL にアクセスすると、アクセスが禁止されていることがわかりました。ACL が servlet2 に対して有効になるためには、servlet1 がアクセスされたことが前提条件となります。

http://localhost:8080/CVE-2018-1305/servlet1/servlet2/

exploit

脆弱性デモ

exploit

そのため、脆弱性の再現は Tomcat の起動後、"/servlet1/" にアクセスする前に "/servlet1/servlet2/" ページにアクセスした場合に限られます。以前に誰かが "/servlet1/*" ページにアクセスした場合、脆弱性は発生しません。脆弱性の危険性は高いものの、利用条件が困難であるため、影響範囲は広くありません。

関連リンク

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1305

http://blog.nsfocus.net/cve-2018-130-handling/

https://www.anquanke.com/post/id/99213

ツールをダウンロード