WordPress 4.8.3 SQLインジェクション対策

10月31日にWordPress4.8.3がリリースされましたね。
SQLインジェクションの問題に対してのアップデートが緊急度の高い内容となります。

内容としてはDBからデータを取得する際のprepare関数に直接値を渡している部分があるということでしょうか。
こんな感じに。引用元:https://blog.ircmaxell.com/2017/10/disclosure-wordpress-wpdb-sql-injection-technical.html

$where = $wpdb->prepare(" WHERE foo = %s", $_GET['data']);

具体的なソースコードの場所は探せば出てくると思います。たぶん
確かにこれだと、こんな感じのデータが来たらアウトですよね。

$_GET['data'] = "123456789 or 1 = 1;";

※全条件TRUEになるので全部データ取得できる。

WordPress利用者は基本的に全員アップデートした方がいい内容です。
エンジニアから見れば容易に不正アクセスできる内容にもなりますしね。

あと引用元サイトにも記載ありますが、プラグイン開発者はprepare関数には
直接ユーザーからGET、POSTされた内容をエスケープ処理せず渡すのを気をつけるよう注意喚起されてます。

やっぱり基本はよく守らないとね!

引用元:https://blog.ircmaxell.com/2017/10/disclosure-wordpress-wpdb-sql-injection-technical.html

シェアする

  • このエントリーをはてなブックマークに追加

フォローする