
CVE-2024-33911の概念実証エクスプロイト。The School Management WordPressプラグインv10.3.4の認証後SQLインジェクション脆弱性で、admin-ajax.phpエンドポイントを介した任意のSQLコマンド実行を可能にします。
エクスプロイトタイトル: The School Management 10.3.4 - 認証後SQLインジェクション
日付: 2024年4月29日
エクスプロイト作者: Ivan Spiridonov (xbz0n)
ベンダーホームページ: https://theschool-management.com
バージョン: 10.3.4
テスト環境: Ubuntu 22.04
CVE: CVE-2024-33911
The School Managementプラグイン、バージョン10.3.4(WeblizarがWordPress向けに開発)は、/wp-admin/admin-ajax.phpエンドポイントの「order%5B0%5D%5Bdir%5D」パラメータを介して、認証後SQLインジェクションに対して脆弱です。この脆弱性は、ユーザー指定パラメータのエスケープが不十分であり、SQLクエリが適切に準備されていないことに起因します。このような脆弱性により、認証済みの攻撃者が任意のSQLコマンドを注入・実行でき、データベース情報への不正アクセスや改ざんにつながる可能性があります。
この脆弱性は、管理AJAXエンドポイント内の「order%5B0%5D%5Bdir%5D」パラメータに存在します。このパラメータを操作することで、認証済みの攻撃者がSQLコマンドを注入でき、時間ベースのSQLインジェクション脆弱性につながります。
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: localhost
[Additional Headers]
draw=3&[Other Parameters]&order%5B0%5D%5Bdir%5D=asc%2c(select*from(select(sleep(20)))a)
サーバーの応答が約20秒遅延した場合、時間ベースのSQLインジェクションの悪用が成功したことを示し、この脆弱性が確認されます。
The School Management v10.3.4のユーザーは、影響を受けるエンドポイントへのアクセスを制限し、プラグインを最新バージョンに更新することを強く推奨します。さらに、適切な入力検証とサニタイズチェックを実装することが重要です。SQLコマンドを処理する際にプリペアドステートメントやパラメータ化クエリを使用することで、このような脆弱性を軽減できます。