#PHP_Shell_Obfuscation
آیا برای شما هم پیش آمده که شلی را در سروری که دارای #WAF هستش آپلود کرده و بعد از آپلود پاک شود؟
یکی از راه حل های همیشگی این مسائل مبهم سازی #Shell هستش, یکی از راه های بسیار جالب مبهم سازی بر بستر زبان #PHP استفاده از پیوست کاراکتری هستش که البته بصورت مستیم نباید انجام بشه, قبل از توضیح کامل دو نکته را به یاد داشته باشید مقدار
[]
معادل
Array
میباشد میتوید با دستور زیر خودتان تست کنید,
root@unk9vvn:~#
php -r "echo ''.[];"
PHP Notice: Array to string conversion in Command line code on line 1
Arrayroot@unk9vvn:~#
نکته دوم, در تصویر پست به این گونه عمل شده که اول رشته
Array
را درون متغییرهای پویا ریخته و سپس مقدار 0 رو با استفاده از تکنیک
'@'=='!'
که چون شرط صحیح درخواهد آمد بدست آوردیم, در مراحل بعدی شروع به پیمایش کاراکتر اول
Array
که خانه 0 هستش کردیم که معادل حرف A هستش این پیمایش به قدری انجام میشود که به کاراکتر مورد نظر ما برسد, و بدین ترتیب همانطور که در انتهای کد میبینید رشته
()ASSERT
و
[_]POST_$
را ساخته تا از ویژگی تابع
()ASSERT
به عنوان شل استفاده کنیم.
@Unk9vvN