PHP Utility Belt リモートコード実行の脆弱性の検証と分析

WBOY
リリース: 2016-06-20 12:31:38
オリジナル
1209 人が閲覧しました

PHP Utility Belt は、PHP プログラム開発者向けのツールのセットで、正規表現をテストし、preg_match および preg_match_all 関数との一致を観察したり、preg_replate 関数の結果を観察したりするために使用できます。 2 つの単語、2 つの数字、大文字、記号を含むランダムなパスワードを取得し、mktime および strtotime タイムスタンプの日付形式または数値タイムスタンプをテストします。

任意の PHP コードを実行できるため、テスト環境でのみ使用でき、本番環境では実行しないでください。

この脆弱性の脆弱性番号は EDB-ID: 39554 です

ソースコードのダウンロードアドレスは: https://github.com/mboynes/php-utility-belt

ターゲットマシンの IP アドレスが 192.168.248.129、攻撃マシンの IP アドレスが 192.168.248.128 である実験環境をセットアップします

下の図は、実行後の PHP Utility Belt の動作を示しています。それは建てられています。

Metasploit はこの脆弱性に対するエクスプロイト コードを提供しています。パスは

exploit/multi/http/php_utility_belt_rce
ログイン後にコピー

攻撃マシン上でこの攻撃スクリプトを実行します

次にペイロードを設定します

次に対応するオプションを設定します

最後にエクスプロイトコマンドを実行して攻撃を開始します

メータープリッター シェルが取得され、攻撃が成功したことがわかります。

以下のように、プロセス全体でデータ パケットをキャプチャします。

POST によって渡されるパラメーターは code という名前であり、すべての攻撃コードはこの変数内にあります。脆弱性が存在するファイル ajax.php では、問題は 10 行目から 15 行目までのコードセグメントにあります

プログラムは最初に code パラメーターが設定されている場合は、eval関数に直接入れて実行します。 eval関数の機能は、入力パラメータの内容をPHPコードとして実行することです。つまり、攻撃者がコード内で指定した内容は、その値が PHP コードの構文仕様に準拠している限り、無条件に実行されます。これは典型的な eval インジェクションです。

上記のコードは、テスト環境ではプログラマの作業を容易にしますが、実稼働環境では非常に危険です。

* 投稿者: Navyofficer、FreeBuf Hackers and Geeks (FreeBuf.COM) から転載する場合はその旨を明記してください

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート