Skip to content

ONHEXGROUP

اخبار دنیای امنیت سایبری

  • اخبار
    • آسیب پذیری امنیتی
    • آنالیز بدافزار
    • کنفرانس ،دوره ، وبینار ، لایو ، CTF
    • بازیگران تهدید
    • توسعه اکسپلویت
    • افشای اطلاعات
    • باگ بانتی
    • تیم آبی
    • تیم قرمز
    • امنیت وب
  • دوره های آموزشی
    • دوره رایگان مهندسی معکوس نرم افزار
  • لیست های ویژه
    • موتورهای جستجو برای امنیت سایبری
    • کاتالوگ KEV آژانس CISA
    • آسیب پذیری های وردپرس
      • آسیب پذیری پلاگین ها
      • آسیب پذیری های هسته
      • آسیب پذیری تم ها
    • محصولات خارج از پشتیبانی مایکروسافت
      • محصولات مایکروسافتی که در سال 2022 پشتیبانی نمیشن
      • محصولات مایکروسافتی که در سال 2023 پشتیبانی نمیشن
      • لیست محصولات مایکروسافتی که در سال 2024 پشتیبانی نمیشن
      • لیست محصولات مایکروسافتی که در سال 2025 پشتیبانی نمیشن
    • معرفی فیلم ها و سریالهای مرتبط با هک و امنیت
  • آموزش های ویدیویی
  • انتشارات
    • مجله
    • مقالات
    • پادکست
  • پروژه ها
    • ماشین آسیب پذیر
      • وردپرس آسیب پذیر
  • حمایت مالی ( Donate)
  • تماس با ما
 
  • Home
  • اخبار
  • آسیب پذیری امنیتی
  • اخبار
  • امنیت وب

آسیب پذیری XSS در پلاگین Advanced Custom Fields

On اردیبهشت 25, 1402
seyyid
Share
زمان مطالعه: 3 دقیقه

محققای Patchstack یه آسیب پذیری Reflected XSS به شناسه CVE-2023-30777 در پلاگین وردپرسی Advanced Custom Fields ، نسخه رایگان و پولی ، کشف و گزارش کردن.

افزونه Advanced Custom Fields یه افزونه وردپرسی هستش که بیش از 2 میلیون نصب فعال داره و امکان ایجاد فیلدهای سفارشی در صفحه ویرایش رو داره. وقتی شما یه پستی رو در وردپرس ایجاد میکنید، یسری فیلد بصورت پیش فرض در اختارتون هست، مثلا : دسته بندی ، تگ ، نویسنده و … . اگه بخوایید فیلدهای بیشتری رو داشته باشید ، مثلا اگه شما یه سایت در خصوص باگ بانتی داشته باشید، شاید علاقمند باشید تا فیلدهایی برای میزان بانتی، نوع آسیب پذیری، وضعیت گزارش و … هم ارائه بدید، بنابراین میتونید از این افزونه استفاده کنید.

آسیب پذیری از نوع Reflected XSS و شناسه CVE-2023-30777 رو داره . یه کاربر بدون احراز هویت با اکسپلویت این آسیب پذیری میتونه اطلاعات حساس رو به سرقت ببره. مهاجم میتونه با ارسال یه لینک مخرب به ادمین یا کاربر با امتیاز بالا، امتیاز خودش رو در سایت وردپسی افزایش بده یا تبلیغات نشون بده و … .

نسخه 6.1.5 و قبلش تحت تاثیر این آسیب پذیری و نسخه های 6.1.6 و 5.12.6 نسخه های اصلاح شده هستن.

 

شرح آسیب پذیری :

آسیب پذیری در function handler تابع admin_body_class هستش :

 

PHP
1
2
3
4
5
6
7
8
9
10
11
12
includes/admin/admin-internal-post-type-list.php
 
 
public function admin_body_class( $classes ) {
    $classes .= " acf-admin-page acf-internal-post-type {$this->admin_body_class}";
 
    if ( $this->view ) {
        $classes .= " view-{$this->view}";
    }
 
    return $classes;
}

 

admin_body_class به عنوان یه handler اضافی برای هوک خود وردپرس ، بنام admin_body_class ،پیکربندی شده. کار این هوک اینه که کلاسهای CSS رو برای تگ Body در ادمین ،کنترل و فیلتر میکنه.

 

PHP
1
2
3
4
ncludes/admin/admin-internal-post-type-list.php
// Add hooks.
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
add_action( 'admin_body_class', array( $this, 'admin_body_class' ) );

 

اگه به admin_body_class در هسته وردپرس نگاه کنیم، مشاهده میکنیم که خروجی هوک به درستی پاکسازی (sanitize) نشده و مستقیا در صفحه HTML ساخته میشه :

 

PHP
1
2
3
4
5
6
7
8
https://github.com/WordPress/wordpress-develop/blob/trunk/src/wp-admin/admin-header.php#L245
$admin_body_classes = apply_filters( 'admin_body_class', '' );
$admin_body_classes = ltrim( $admin_body_classes . ' ' . $admin_body_class );
?>
<body class="wp-admin wp-core-ui no-js <?php echo $admin_body_classes; ?>">
<script type="text/javascript">
document.body.className = document.body.className.replace('no-js','js');
</script>

 

در نتیجه اگه function handler هوک admin_body_class ،به درستی عمل پاکسازی رو انجام نده،احتمال وجود آسیب پذیری XSS بالاست.

بنابراین به function handler ، (کد اولی)، بر میگردیم و بررسی میکنیم که آیا عمل پاکسازی به درستی انجام شده یا نه. همونطور که مشاهده میکنید، کد مستقیما متغیر $this->view رو به متغیر $classes الحاق میکنه. متغیر $this->view هم از طریق تابع current_screen قابل کنترل هستش :

 

PHP
1
2
3
4
5
6
7
8
9
10
includes/admin/admin-internal-post-type-list.php
public function current_screen() {
    // Bail early if not the list admin page.
    if ( ! acf_is_screen( "edit-{$this->post_type}" ) ) {
        return;
    }
 
    // Get the current view.
    $this->view = isset( $_GET['post_status'] ) ? sanitize_text_field( $_GET['post_status'] ) : ''; //
-------------------------------------

 

همونطور که مشاهده میکنید، برای پاکسازی از تابع sanitize_text_field استفاده کرده که میتونست برای امنیت بیشتر از esc_attr استفاده کنه. این تابع برای جلوگیری از حملات XSS کافی نیستش ، چون میشه از یه پیلود DOM XSS استفاده کرد. اگه همه موارد رو کنار هم بزاریم، میشه پیلود زیر رو برای این آسیب پذیری استفاده کرد :

 

1
http://<WORDPRESS_SITE>/wp-admin/edit.php?post_type=acf-field-group&post_status=xxxxxxx" onload=alert(document.domain) xxx="

 

خروجی در HTML بصورت زیر خواهد بود:

 

1
<body class="wp-admin wp-core-ui no-js acf-admin-5-3 acf-browser-chrome acf-admin-page acf-internal-post-type acf-admin-field-groups view-xxxxxxx\" onload=alert(document.domain) xxx=\" edit-php auto-fold admin-bar post-type-acf-field-group branch-6-2 version-6-2 admin-color-fresh locale-en-us no-customize-support no-svg">

 

 

حمله هکرها:

بعد از اینکه جزییات آسیب پذیری منتشر شد، تلاش ها برای اسکن و اکسپلویت هم شروع شده ، بطوریکه Akamai SIG تونسته بعد از 48 ساعت از انتشار اصلاحیه (24 ساعت بعد از انتشار PoC) ، حملات XSS رو شناسایی کنه.

این محققین یه نمونه از این حملات که مرتبط با یه بازیگر تهدید هستش رو بررسی کردن. نکته جالب اینه که این بازیگر تهدید ، خود PoC منتشر شده توسط Patchstack رو کپی کرده و شروع به اسکن و اکسپلویت با اون کرده.

 

اکسپلویت advanced-custom-fields-plugins

 

در این حمله دو تا نکته وجود داره، یکی اینکه زمان پاسخ به حملات به شدت داره کاهش پیدا میکنه، همونطور که مشاهده کردید، 48 ساعت بعد از انتشار جزییات آسیب پذیری، حمله شروع شده. نکته بعدی اینکه با توجه به شدت حمله و زمان شروع حمله و محبوبیت این پلاگین، تقریبا 31 درصد ادمینها، در زمان نگارش این پست، از نسخه 6.1 استفاده میکنن، یعنی 69 درصد از کاربران این افزونه، حتی آخرین نسخه آسیب پذیر رو هم ندارن.

 

منابع

patchstack

akamai

 

 

 

 

اشتراک در شبکه های اجتماعی :

Facebook
Twitter
Pinterest
LinkedIn
In آسیب پذیری امنیتی اخبار امنیت وبIn DOM XSS , Patchstack , Reflected XSS , sanitize_text_field , پلاگین , وردپرس

راهبری نوشته

نگاهی به باج افزارها : آوریل 2023
چطوری در سال 2023، Cloudflare دور بزنیم

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته‌ها

  • Osint
  • آسیب پذیری امنیتی
  • آموزش های ویدیویی
  • آنالیز بدافزار
  • اخبار
  • افشای اطلاعات
  • امنیت وب
  • انتشارات
  • اینترنت اشیاء
  • بازیگران تهدید
  • باگ بانتی
  • پادکست
  • پروژه ها
  • توسعه اکسپلویت
  • تیم آبی
  • تیم قرمز
  • دوره های آموزشی
  • فازینگ
  • کنفرانس ،دوره ، وبینار ، لایو ، CTF
  • لیست های ویژه
  • ماشین آسیب پذیر
  • مجله
  • مقالات
  • مهندسی معکوس نرم افزار

پست های مرتبط

  • آسیب پذیری امنیتی
  • اخبار
seyyid
On خرداد 30, 1402

اصلاح چندین آسیب پذیری در روترهای ASUS

  • آنالیز بدافزار
  • اخبار
  • بازیگران تهدید
seyyid
On اسفند 21, 1401فروردین 28, 1402

نسخه جدید Xenomorph ،خطرناکترین بدافزار بانکی اندرویدی

  • اخبار
  • مقالات
seyyid
On شهریور 11, 1403شهریور 11, 1403

پشت صحنه ی ماجرای دستگیری پاول دوروف

  • Osint
  • اخبار
  • افشای اطلاعات
  • بازیگران تهدید
seyyid
On بهمن 8, 1402

محکومیت 64 ماهه برای یکی از توسعه دهندگان Trickbot

درباره ما

بعد از چندین سال فعالیت تو حوزه امنیت سایبری و تولید محتوا در شبکه های اجتماعی ، بالاخره تصمیم گرفتیم تا یه سایت راه اندازی کنیم و مطالب رو ساده تر ، در یک محیط منسجم و طبقه بندی شده به دست مخاطب برسونیم. امیدوارم که قدمی در راستای رشد امنیت سایبری کشورمون برداشته باشیم.

تگ ها

0day APT command injection Deserialization of Untrusted Data Directory Traversal FBI Fortinet Heap buffer overflow integer overflow kali LockBit Memory Corruption nuclei Off By One Security out-of-bounds write Out of bounds read Patch Tuesday PWN2OWN Stack Buffer overflow type confusion use after free vulnerable wordpress XSS ZDI vulnerability آموزش اکسپلویت نویسی ارز دیجیتال اندروید اپل اکسپلویت باج افزار تلگرام زیرودی سیسکو فارنزیک فورتی نت فیشینگ لاک بیت مایکروسافت هوش مصنوعی وردپرس وردپرس آسیب پذیر ویندوز پلاگین کروم گوگل

شبکه های اجتماعی

    • Instagram
    • Telegram
    • Twitter
    • GitHub
    • YouTube
    • LinkedIn
      کپی مطالب با ذکر منبع بلامانع است | 1401-1404