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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/captain-woof/cve-2017-12629
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストリモートアクセスツール
GitHubcaptain-woof/cve-2017-12629

cve-2017-12629

Apache Solr 7.1 より前のバージョンと Apache Lucene 7.1 より前のバージョンでは、XXE と Config API の add-listener コマンドを併用して RunExecutableListener クラスに到達することで、リモートコード実行が発生します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

README

Apache Solr 7.1 より前 (Apache Lucene 7.1 より前) では、XXE と Config API の add-listener コマンドを組み合わせて RunExecutableListener クラスに到達することで、リモートコード実行が発生します。Elasticsearch は Lucene を使用していますが、この脆弱性の影響を受けません。なお、XML 外部エンティティ展開の脆弱性は XML Query Parser で発生します。これはデフォルトで、deftype=xmlparser パラメータを指定した任意のクエリリクエストで利用可能であり、悪用すると /upload リクエストハンドラに悪意のあるデータをアップロードしたり、ftp ラッパーを使用した Blind XXE として Solr サーバー上の任意のローカルファイルを読み取ったりすることができます。また、2番目の脆弱性は、影響を受けるすべてのバージョンの Solr で利用可能な RunExecutableListener を使用したリモートコード実行に関係しています。

使い方

コマンドの出力は OOB で外部に送信する必要があります。この POC は Hex と Base32 の両形式をサポートしており、どちらも大文字と小文字を区別しません。

root@kitploit:~
usage: rce.py [-h] -ue URL_BASE_EXTERNAL -ui URL_BASE_INTERNAL [-b {curl,wget,ftp,ping,nc,ncat,nslookup,dig}] -e EXFIL
              [-f {hex,base32}]

POC for CVE-2017-12629 (RCE via internal SSRF via XXE) by @realCaptainWoof

options:
  -h, --help            show this help message and exit
  -ue, --url-base-external URL_BASE_EXTERNAL
                        External URL base of the vulnerable application; e.g, 'https://vulnerable.app/solr'
  -ui, --url-base-internal URL_BASE_INTERNAL
                        Internal URL base of the vulnerable application; e.g, 'https://127.0.0.1:8983'; default:
                        'https://127.0.0.1:8983'
  -b, --bin {curl,wget,ftp,ping,nc,ncat,nslookup,dig}
                        How to exfiltrate command output from target; default: 'curl'
  -e, --exfil EXFIL     Destination to exfil to. Make sure this corresponds to '--bin'; e.g, if '--bin' is 'curl', '--exfil' can
                        be 'http://EXFIL.myserver.com/EXFIL'. Must specify injection point via 'EXFIL' keyword.
  -f, --exfil-format {hex,base32}
                        Format in which to exfil the command output; default: 'base32'

参照

  • https://www.exploit-db.com/exploits/43009
ツールをダウンロード