رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کشف حفره در استفاده از توابع GD برای پاکسازی کدهای خطرناک از تصاویر
#1
میدونید که با یه همچین کدهایی میامدیم تصاویر رو از کدهای خطرناک احتمالی پاکسازی میکردیم:

<?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
پاسخ
تشکر شده توسط: olampiad , YN97
#2
چند وقت پیش این لینکها رو دیده بودم. برای اطمینان اومدم با ImageMagick تصویر رو دوباره ساختم و دیدم اونجا هم یه جورایی این مشکل وجود داره. برای اطمینان توصیه میکنم حتماً از پذیرفتن پسوندهای چندگانه توی اسم فایل خودداری کنید و ترجیحاً همه dot ها بجز آخری رو به dash تبدیل کنید و ضمناً از اجرای PHP بصورت mod_php جداً خودداری کنید.
پاسخ
تشکر شده توسط: olampiad
#3
آره اساسا جلوگیری از خطر سمت سرور که مشکلی نداره اصلا نیاز جدی به GD هم نبود از اول، ولی یک جنبهء خطرش بخاطر سمت کلاینت هست بخصوص با نسخه های قدیمی تر IE، که البته فکر کنم دیگه این مشکل الان کمتر جدی باشه.
پاسخ
تشکر شده توسط:
#4
سلام
میشه دوست عزیز Eshpilen یه مقاله آموزشی از چگونگی آپلود امن فایل ها به صورت فارسی قرار بدین.
خیلی ممنون
پاسخ
تشکر شده توسط:
#5
(14-06-1394، 10:05 ق.ظ)ADMIN نوشته: از اجرای PHP بصورت mod_php جداً خودداری کنید.

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




کاربران در حال بازدید این موضوع: 3 مهمان