
PrimeFaces 5.x ELインジェクション (CVE-2017-1000486) の概念実証エクスプロイト
PrimeFaces 5.x ELインジェクション(CVE-2017-1000486)の概念実証エクスプロイトです。このRCE脆弱性を利用して、ターゲット上でリモートコード実行が可能です。
脆弱性の詳細な説明は、Minded Securityブログをご覧ください。
このエクスプロイトには、重要なパラメータを表示するヘルプ機能があります。
./primefaces.py --help
PrimeFaces 5.x EL injection exploit (CVE-2017-1000486) by MOGWAI LABS
=====================================================================
usage: primefaces.py [-h] [-t] [-e EXTENSION] url [payload]
PrimeFaces 5.x EL injection exploit
positional arguments:
url The target URL (http/https)
payload File with the JavaScript (Rino/Nashorn) code to
execute or OS command
optional arguments:
-h, --help show this help message and exit
-t, --test Test mode (off by default)
-e EXTENSION, --extension EXTENSION
Extension of the target (xhtml, jsf)
このエクスプロイトには、ターゲットが実際に脆弱かどうかを確認するためのシンプルなテストモード(-tパラメータ)が用意されています。これは、以下のEL式をターゲットに送信することで動作します。この式によりHTTPレスポンスに追加のヘッダーフィールドが追加され、エクスプロイトがそのヘッダーを確認します。
${facesContext.getExternalContext().setResponseHeader("MOGWAILABS","CHKCHK")}
実際の悪用は、Java VMにバンドルされているJavaScriptインタプリタを呼び出すことで行われます。これにより、JavaScriptから任意のJavaコードを実行できます。
このエクスプロイトには、2つの例示ペイロードが含まれています。
これらの例はいずれも、コマンドの出力を提供しないことに注意してください。