WordPress向けに無料で配布されているテーマ「Simple Perfect」のfunction.phpに、なにやら情報をとあるメールアドレスへ送信するコードが仕込まれているという話をみかけたので、実際にダウンロードして調べてみました。
フムフムφ(・ω・` ) 457行目に、なにやらSQLを作っているっぽいstringの中に「@」が。。。
(※改行は私が入れました)
$sq1="SELECT DISTINCT ID, post_title, post_content, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,
SUBSTRING(comment_content,1,$src_length) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID)
WHERE comment_approved=\"1\" AND comment_type=\"\"
AND post_author=\"li".$issep."vethe".$com_types."mas".$issep."@".$comments_approved.
"gm".$com_author."ail".$issep.".".$issep."co"."m\"
AND post_password=\"\" AND comment_date_gmt >= CURRENT_TIMESTAMP()
ORDER BY comment_date_gmt DESC LIMIT $src_count";
長いstringを作った後に、471行目で
$text_s=substr($sq1, stripos($sq1, "live"), 20);
でメールアドレスを取り出して、
483行目で
$sq1="SELECT DISTINCT ID, comment_post_ID, comment_author,
comment_date_gmt, comment_approved, comment_type,
SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID)
WHERE comment_approved=\"1\" AND comment_type=\"\"
AND comment_content=". call_user_func_array($getcommtext, array($text_s, $f_home, $f_types)) ."
ORDER BY comment_date_gmt DESC LIMIT $src_count";
また長いstringに紛れ込ませつつ、call_user_func_arrayでwp_mailを実行する
という流れのようです。
送信先は「livethemas@gmail.com」で、
送信内容は、get_option(“home”)で得られるブログのアドレス。
送信内容が、ブログhomeのアドレスとは、いったい何目的なのでしょうか?
テーマをダウンロードした人が、実際どのように使っているのか見たかったのでしょうか?
実際にfunction.phpを見るとわかるのですが、怪しいコードの行末にはわざわざ「#」が打ってあり、悪のりなイタズラのような気もします。
どのような目的なのかはわかりませんが、このような可能性もあるということで注意しないといけないですね。