ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : برسی آسیب پذیری cve-2017-8295 وردپرس



T.Toosi
May 13th, 2017, 00:28
باسلام، بیش از 8 روز است exploit جدیدی توسط legalhackers.com برای وردپرس منتشر شده است که شامل وردپرس 4.7.4 هم میشود و اتکر با استفاده از این exploit همراه با مهندسی اجتماعی قادر به دریافت لینک ریست پسورد خواهد بود.

تمامی مشکلات در لاین 326 فایل wp-includes/pluggable.php شروع خواهد شد :


if ( !isset( $from_email ) ) {
$sitename = strtol ower( $_SERVER['SERVER_NAME'] );
if ( sub str( $sitename, 0, 4 ) == 'www.' ) {
$sitename = sub str( $sitename, 4 );
}
$from_email = 'wordpress@' . $sitename;
}


همانطور که مشاهده میکنید در صورت ست نبودن متغییر $from_email هاست نیم From Email توسط $_SERVER['SERVER_NAME'] دریافت و ساخته می شود، اتکر با ارسال درخواست و Host جعلی در هیدر میتواند هاست نیم From Email را تغییر دهد :


curl -H "Host: faranevis.com" http://yoursite.com/wp/wordpress/wp-login.php?action=lostpassword

و قسمت سخت ماجرا برای اتکر، سناریو های دریافت لینک ریست پسورد :

# ارسال کپی ای از ایمیل بادی توسط autoresponders که کاربران برای ایمیل های خود فعال میکنند.
# ارسال ایمیل های "ریست پسورد" متعدد برای کاربر، که در آخر کاربر برای پیگیری ایمیل را Reply کند.


Patch فایل wp-incl udes/pluggable.php

حذف :


$sitename = strt olower( $_SERVER['SERVER_NAME'] );
if ( subs tr( $sitename, 0, 4 ) == 'www.' ) {
$sitename = sub str( $sitename, 4 );
}



جایگزین :


$sitename = parse_url( network_home_url(), PHP_URL_HOST );


حذف :


$wp_email = 'wordpress@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));


جایگزین :


$wp_email = 'wordpress@' . parse_url(network_home_url(), PHP_URL_HOST);


اگر در بالا نقطه شروع مشکل را دوباره نگاه کنید کنید در صورت ست نبودن متغییر $from_email مشکلات شروع خواهد شد، که با اضافه کردن ***** زیر در وردپرس، شرط اجرا نخواهد شد و کار به استفاده از SERVER_NAME نخواهد رسید :


add_filter( 'wp_mail_from', function( $from_email ) { return 'insert@your_email.here'; } );

چک کردن هاست نیم ها برای جلوگیری از هاست نیم های فیک :




RewriteEngine On
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]