تالار گفتمان nCIS.ir

نسخه‌ی کامل: کشف حفره در استفاده از توابع GD برای پاکسازی کدهای خطرناک از تصاویر
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
میدونید که با یه همچین کدهایی میامدیم تصاویر رو از کدهای خطرناک احتمالی پاکسازی میکردیم:

<?php

error_reporting(E_ALL);
ini_set('display_errors', '1');

$r=imagecreatefromjpeg('test.jpg');

imagejpeg($r, 'test2.jpg');

?>


ولی حالا این روش هم دیگه امن بنظر نمیرسه:


https://github.com/d0lph1n98/Defeating-P...atefromgif

https://github.com/d0lph1n98/Defeating-P...tefromjpeg


پ.ن:
کپی رایت: http://forum.iranphp.org/Thread-%D8%A7%D...7#pid63407
چند وقت پیش این لینکها رو دیده بودم. برای اطمینان اومدم با ImageMagick تصویر رو دوباره ساختم و دیدم اونجا هم یه جورایی این مشکل وجود داره. برای اطمینان توصیه میکنم حتماً از پذیرفتن پسوندهای چندگانه توی اسم فایل خودداری کنید و ترجیحاً همه dot ها بجز آخری رو به dash تبدیل کنید و ضمناً از اجرای PHP بصورت mod_php جداً خودداری کنید.
آره اساسا جلوگیری از خطر سمت سرور که مشکلی نداره اصلا نیاز جدی به GD هم نبود از اول، ولی یک جنبهء خطرش بخاطر سمت کلاینت هست بخصوص با نسخه های قدیمی تر IE، که البته فکر کنم دیگه این مشکل الان کمتر جدی باشه.
سلام
میشه دوست عزیز Eshpilen یه مقاله آموزشی از چگونگی آپلود امن فایل ها به صورت فارسی قرار بدین.
خیلی ممنون
(14-06-1394، 10:05 ق.ظ)ADMIN نوشته: [ -> ]از اجرای PHP بصورت mod_php جداً خودداری کنید.

منظورتون رو از این متن بیان می کنید.
من دقیقا این رو متوجه نشدم.
ممنون
منظورم اینه که PHP رو حالت FastCGI اجرا کنید نه بصورت ماژول آپاچی.
ببخشین من سوال زیاد می پرسم.
الآن روی لوکال هاست چطوری اجرا میشه اگه بخوایم به FastCGI تغییر بدیم باید چیکار کنیم.
خیلی ممنون
توی phpinfo مشخص شده که PHP شما چطور داره اجرا میشه.