Tomcatの任意のファイル読み取りの脆弱性の再現、ID:CVE-2020-1938

序文:Tomcat-AJP

ここに画像の説明を挿入

Tomcatは
Apache Software Sun のJakarta プロジェクトの中核プロジェクトであり、Apache、Sun、その他の企業や個人によって開発されました。Tomcatはテクノロジーが高度で、パフォーマンスが安定しており、無料であるため、Java愛好家に愛され、一部のソフトウェア開発者に認められ、人気のWebアプリケーションサーバーになっています。

AJP(Apache JServ Protocol)は、ダイレクトパケットプロトコルです。パフォーマンス上の理由から、読み取り可能なテキストの送信にはバイナリ形式が使用されます。WEBサーバーは、TCP接続を介してSERVLETコンテナーに接続されています。

CVE番号:CVE​​-2020-1938
CNVD番号:CNVD-2020-10487

影響バージョン

Tomcatの6
tomcat7〜7.0.100
tomcat8〜8.5.51
tomcat9〜9.0.31

脆弱性プロファイル

この脆弱性はファイルインクルードの脆弱性であり、攻撃者は悪意のあるリクエストパッケージを作成して、この脆弱性を利用し、構成ファイルやソースコードなどのwebappディレクトリ内のファイルを読み取ることができます。
CNVDプラットフォームは、中国でのApache Tomcat AJPプロトコルの分布をカウントします。結果は、中国のIPの数が約555,000であることを示しています。技術テストを通じて、中国の合計43197台のサーバーがこの脆弱性の影響を受け、影響率は約7.8%であることがわかりました。

再び現れる

复现过程在私人渗透测试环境下完成!

1.環境を構築する

ここに画像の説明を挿入
バージョンを見て
ここに画像の説明を挿入
完成する設定、ここで使用されているのTomcat 8.5.32バージョン。
ここに画像の説明を挿入
デフォルトのWebディレクトリ(ROOT)にテストテキストを作成し、テスト文字を書き込む

2.オペレーション

さて、上記は準備ができています、開始

ファイル読み取りコマンド:

python tomcat.py read_file --webapp=ROOT /test.txt 127.0.0.1
パラメータ:

read_file操作(ファイルの読み込み)webapp指定したWebディレクトリの/test.txtファイルディレクトリ

ここに画像の説明を挿入

WEB-INF / web.xmlファイルを読んでください
ここに画像の説明を挿入

使用例:https : //github.com/hypn0s/AJPy

解決策

  1. 安全なバージョンにアップグレードする
  2. AJPプロトコルポートを一時的に無効にし、conf / server.xml構成ファイルの<Connector port = "8009"
    protocol = "AJP / 1.3" redirectPort = "8443" /> をコメントアウトするか、ファイアウォールがAJPポート制限をパブリックネットワークに追加しますオープン
  3. 認証を制限するためにajp構成でsecretRequiredおよびsecret属性を構成します

リトル

  1. https://github.com/0nise/CVE-2020-1938
  2. https://github.com/hypn0s/AJPy
  3. https://github.com/xindongzhuaizhuai/CVE-2020-1938

関連情報:https : //www.cnvd.org.cn/webinfo/show/5415

リリース6元記事 ウォンの賞賛0 ビュー275

おすすめ

転載: blog.csdn.net/heartsk/article/details/105452908