نقل قول: آپلود شل و جلوگیری از آن
نقل قول:
نوشته شده توسط
sarapepors
سلام
برای آپلود تصاویر از توابع gd استفاده میکنیم اما اگر بخوایم فایل های دیگه رو مثل rar ،zip یا pdf آپلود کنیم به چه صورت باید این کار رو انجام بدیم؟
یه سوال هم دارم از دوستان فایل php که پسوندش تغییر کرده یعنی mimeType هم براش عوض میشه ؟ فرمتش بشه jpg نوع مایم هم میشه image/jpeg ؟
متشکرم
برای هر فرمتی که قرار هست اپلود بشه باید چیزهای خاصی چک بشه.چون شل رو حتی میشه توی فایل .mp3 و TIF , .tar.gz و ... تزریق کرد.
هر فایلی یه
header داره که ار قسمت content-type,
MIME TYPE مشخص میکنه که فایل چی هست و ....
با تغییر پسوند MIME TYPE تغییر نمیکنه
برای اپلود هم بهترین روش اینه که فایل هارو توی پوشه ی قبل از public_html اپلود کنید و دسترسی مستقیم هم ندید.فایل حتما rename بشه
** منظور از دسترسی مسقیم این هست که فایل رو به صفحه ای درون سایت اضاف نکنید**
نقل قول: آپلود شل و جلوگیری از آن
MIME TYPE از روی پسوند تشخیص داده میشه!
نقل قول: آپلود شل و جلوگیری از آن
نقل قول:
نوشته شده توسط
MMSHFE
MIME TYPE از روی پسوند تشخیص داده میشه!
خب بس جرا وقتي با وجود اينكه بسوند يه فايل رو عوض ميكنيم بازم توي نمايشش تاثيري نداره.خب از كجا ميفهمه كه بسوند اشتباست يا اينكه اولويت هدر فايل هست يا نام و بسوند(هر فايل و هرجا نه البته.اما با فرمت jpg خودم تست كردم.)?يعني دستي هم بسوند فايل رو عوض كنيم mime type عوض ميشه?تست نكردم اما فك نكنم اينجوري باشه
...
در كل الويت با بسوند هست يا هدر?تو همه ي وب سرور ها همينه يا .... .جون يه سايتي بود با jpg شل ريختن اما php اجرا شد توي فيلمي كه ديدم.يا tar.gz ريختن php اجرا شد!!
نقل قول: آپلود شل و جلوگیری از آن
الان که چک کردم حق با شماست در حالت عادی تغییر میکنه
اما وقتی مثلا فایل .jpg رو به .php تغییر دادم تاثیری روی نحوه ی نمایشش ایجاد نشد روی سیستم من حتی thumbnail هم نمایش میده
این وسط چی هست که اینارو مشخص میکنه.پسوند و mime type که عوض شدن دیگه؟!
اینجوری یه مرحله به چک کردن فایل اضاف میشه اینکه mime type حتما باید با پسوند مطابقت داشته باشه
مسئله ی دیگه ای هم که هست حتی میشه توی exif عکس کد php گذاشت.نمیدونم تا چه حد اجرایی باشه چون من تست کردم چند بار اجرا نشده اما خیلی از سایتها رو دیدم که با دمو گذاشته بودن اموزششو!!!
اطلاعاتی درباره ی exif :
http://www.gooyait.com/1390/05/11/ho...ographers.html
نقل قول: آپلود شل و جلوگیری از آن
هدر فایلها مشخص کننده نحوه اجراست. توی لینوکس که کلاً کاری به پسوند نداره و همیشه با هدرها کار میکنه و ویندوز هم فقط از پسوند برای مشخص کردن اینکه با چه برنامه ای باز بشه (File Association) استفاده میکنه. بطور کلی وقتی شما با GD تصویر جدید از روی قبلی تولید میکنید، اطلاعات EXIF هم حذف میشه.
نقل قول: آپلود شل و جلوگیری از آن
نقل قول:
نوشته شده توسط
MMSHFE
MIME TYPE از روی پسوند تشخیص داده میشه!
تا جایی که من میدونم اینطور نیست. شاید من اشتباه میکنم. لطفاً اگر منبعی برای صحت حرفتون دارید معرفی کنید.
نقل قول: آپلود شل و جلوگیری از آن
نقل قول:
نوشته شده توسط
metal gear solid 4
تا جایی که من میدونم اینطور نیست. شاید من اشتباه میکنم. لطفاً اگر منبعی برای صحت حرفتون دارید معرفی کنید.
تست کنید خب خودتون.
البه ابزاری هست که بشه هدر رو عوض کرد به تنهایی اما در حالت عادی اگر پسوند فایل رو عوض کنید mime type هم عوض میشه
من از این سایت استفاده کردم
http://mime.ritey.com/
نقل قول: آپلود شل و جلوگیری از آن
نقل قول:
نوشته شده توسط
metal gear solid 4
تا جایی که من میدونم اینطور نیست. شاید من اشتباه میکنم. لطفاً اگر منبعی برای صحت حرفتون دارید معرفی کنید.
یک فایل PHP رو تغییر نام بدین و پسوندش رو jpg. کنید و بعد از آپلود، ['FILES['upload']['type_$ رو echo کنید ببینید چی چاپ میشه.
نقل قول: آپلود شل و جلوگیری از آن
درهر صورت، من تست شل رو انجام دادم. با MimeTypeGuesser ـه Symfony حتی با تغییر پسوند، تغییر mime-type باز هم اگر تصویر واقعاً تصویر نباشه خطا برمیگردونه. نگاه نکردم از چه روشی استفاده میکنه اما حدس میزنم exif باشه.
نقل قول: آپلود شل و جلوگیری از آن
بله هدرها رو میخونه ولی اکثر کاربران با همون روش معمول یعنی آرایه FILES_$ کار میکنن و درنتیجه باید حواسشون به این موارد باشه و فکر نکنن MIME Type مورد امنی محسوب میشه. درواقع تنها امتیاز MIME Type اگه هدرها رو چک نکنیم، اینه که یکپارچگی در پسوندها ایجاد میکنه (فرضاً همه پسوندهای jpg. و jpe. و jpeg. و... با image/jpeg شناخته میشن). حتی اگه هدرها رو هم چک کنیم، باز هم باید کدهای Inject شده احتمالی رو از بین ببریم چون ممکنه فایل آپلود شده، واقعاً یک تصویر (با هدرهای استاندارد و صحیح) باشه که کد داخلش درج شده.
نقل قول: آپلود شل و جلوگیری از آن
آقا رضا حالا اگر دو تا باشه اشکال داره؟:متفکر:
تاپیک رو ادامه دهید.
شما هدفتون مگر آموزش نیست ؟ یکی از اصلی هایش زده .
ممنون میشیم ادامه دهید. :لبخندساده:
نقل قول: آپلود شل و جلوگیری از آن
نقل قول: آپلود شل و جلوگیری از آن
نقل قول:
برای اپلود هم بهترین روش اینه که فایل هارو توی پوشه ی قبل از public_html اپلود کنید و دسترسی مستقیم هم ندید.فایل حتما rename بشه
پوشه قبلشم بذارید بازم با دستورات لینوکس و اچ تی اکسس میشه بهشون دسترسی داشت ، --- حتی به سرور --- بازم از سایت دیگه ای در اون سرور میشه به سایت قربانی دسترسی پیدا کنیم . شما نباید بذارید هیچ شلی آپلود بشه .
نامشم عوض کنید با کراول و یه مقدار سر و کله زدن با آپلودر میشه نحوه کد دهیش رو پیدا کرد و براش یه (به قول برنامه نویسا ماژول اکسترنال نوشت و بهش اتک زد تا پیدا کنه :)
تنها روشش استفاده از توابع gd و مستقیما عکس رو نفرستیم به سرور ، تو صفحه اول گفتم .
طی یه سری مسائل امنیتی شخصی (علم کشی توی ایران) باز اومدم .
خداییش نیتم خیره و فقط جنبه محافظت از خودتون رو داره .
===========
خب دوستان مایلید ادامه بدم :لبخند:
نقل قول: آپلود شل و جلوگیری از آن
نقل قول:
نوشته شده توسط
رضا قربانی
پوشه قبلشم بذارید بازم با دستورات لینوکس و اچ تی اکسس میشه بهشون دسترسی داشت ، --- حتی به سرور --- بازم از سایت دیگه ای در اون سرور میشه به سایت قربانی دسترسی پیدا کنیم . شما نباید بذارید هیچ شلی آپلود بشه .
نامشم عوض کنید با کراول و یه مقدار سر و کله زدن با آپلودر میشه نحوه کد دهیش رو پیدا کرد و براش یه (به قول برنامه نویسا ماژول اکسترنال نوشت و بهش اتک زد تا پیدا کنه :)
تنها روشش استفاده از توابع gd و مستقیما عکس رو نفرستیم به سرور ، تو صفحه اول گفتم .
طی یه سری مسائل امنیتی شخصی (علم کشی توی ایران) باز اومدم .
خداییش نیتم خیره و فقط جنبه محافظت از خودتون رو داره .
===========
خب دوستان مایلید ادامه بدم :لبخند:
بعد از سال ها ....
اره ادامه بدین ...
و یه سوال که نمیدونم جواب داده شده یا نه چون یه مدت نبودم ... واسه فایل های غیر عکس چیکار کنیم ؟؟
نقل قول: آپلود شل و جلوگیری از آن
اگه وبسرورتون آپاچی هست ، توی پوشه عکس ها یا فایلها که قرار نیست هیچ فایل پی اچ پی ران بشه یک فایل htaccess. میسازید با محتوای زیر
کد HTML:
RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off
دیگه شل های پی اچ پی اجرا نمیشن :)
البته در اصل نباید اصلا بذارید آپلود بشن اما اگر احیانا هم آپلود شدن دیگه اینجا میشه بن بستشون :)
نقل قول: آپلود شل و جلوگیری از آن
خوب بود دمتون گرم ولی من که لازمه کاربر فایل php رو اپ کنه چی؟
چطوذ می شه کد های مخرب رو از بقیه کد ها جدا کرد
واسه فایل های زیپ و اونایی که واسه دانلوده ایا لینک غیر مستقیم جواب میده؟
ممنون
نقل قول: آپلود شل و جلوگیری از آن
دوستان با توجه به اینکه تاریخ نوشته این مطالب برای خیلی وقت پیشه میخواستم بدونم الان در سال 2021
آیا روش جدید و بهتری برای جلوگیری 100 درصد از هک در php
ما یه اسکریپتی رو بیشتر از یک ساله داریم مینوسیم و این سایت دوتا قسمت اپلود تصاویر داره که برای امنیتش شاید هیچ کاری نکردیم
الان تکلیف چیه ؟ کدوم قسمتارو کار کنیم ؟ ایا قسمت اپلود تصاویر رو فقط با توابع جی دی انجام بدیم حله ؟ و دیگه جای دیگه ای تغییرات لازم نیست؟