آی پی امداد
آی پی امداد
آریا الکترونیک parcham تکشو

آموزشی: جلوگیری از اجرای فایل های گول زننده | امنیت سایت

dbchista

کاربر
2020-12-02
494
418
آذرشهر
dbchista.ir
سلام
وقت همگی بخیر

یک راه امنیتی برای جلوگیری از اجرای فایل هایی با فرمت "گول زننده"، تغییر نام تمام فایل ها ست.

یه مثال عرض می کنم خدمتتون:

فرض کنید تو وب سایت شما لازمه که کاربران فایل هایی رو بارگذاری کنند (مثلا عکس یا هر چیز دیگه ای). حالا یکی خواسته سربه سرتون بذاره یا خودی نشون بده و یه فایل با این فرمت فرستاده تو سایت تون:
image.jpg.php
ظاهرا این یه فایل تصویریه اما در واقع یه فایل php هست که می تونه کد مخرب رو وارد سایت کنه.

بنابراین با تغییر فرمت فایل ها -یه خورده دیگه- امنیت سایت مون رو می تونیم بالا ببریم.

زندگی تون پر از برکت:angel:
 

Mersad1116

VIP+ افتخاری
کاربر
2018-11-26
448
901
اصفهان
aqayetamir.ir
سلام
وقت همگی بخیر

یک راه امنیتی برای جلوگیری از اجرای فایل هایی با فرمت "گول زننده"، تغییر نام تمام فایل ها ست.

یه مثال عرض می کنم خدمتتون:

فرض کنید تو وب سایت شما لازمه که کاربران فایل هایی رو بارگذاری کنند (مثلا عکس یا هر چیز دیگه ای). حالا یکی خواسته سربه سرتون بذاره یا خودی نشون بده و یه فایل با این فرمت فرستاده تو سایت تون:
image.jpg.php
ظاهرا این یه فایل تصویریه اما در واقع یه فایل php هست که می تونه کد مخرب رو وارد سایت کنه.

بنابراین با تغییر فرمت فایل ها -یه خورده دیگه- امنیت سایت مون رو می تونیم بالا ببریم.

زندگی تون پر از برکت:angel:

سلام بیشتر توضیح بدید لطفا، سیستم آخرین فرمت رو تشخیص میده پس این رو به عنوان یک فایل php شناسایی میکنه و آپلود نمیشه و به عنوان به فایل jpg برای آپلود تشخیص نمیده
 

Mersad1116

VIP+ افتخاری
کاربر
2018-11-26
448
901
اصفهان
aqayetamir.ir
سلام
وقت همگی بخیر

یک راه امنیتی برای جلوگیری از اجرای فایل هایی با فرمت "گول زننده"، تغییر نام تمام فایل ها ست.

یه مثال عرض می کنم خدمتتون:

فرض کنید تو وب سایت شما لازمه که کاربران فایل هایی رو بارگذاری کنند (مثلا عکس یا هر چیز دیگه ای). حالا یکی خواسته سربه سرتون بذاره یا خودی نشون بده و یه فایل با این فرمت فرستاده تو سایت تون:
image.jpg.php
ظاهرا این یه فایل تصویریه اما در واقع یه فایل php هست که می تونه کد مخرب رو وارد سایت کنه.

بنابراین با تغییر فرمت فایل ها -یه خورده دیگه- امنیت سایت مون رو می تونیم بالا ببریم.

زندگی تون پر از برکت:angel:
q.png
همبن جور که در تصویر میبینید امکان آپلود فایل به صورتی که شما فرمودین نیست، همونطور که گفتم سیستم نقطه آخر به بعد رو به عنوان فرمت فایل تشخیص میده پس سیستمی که تست کردید کد نویسیش ایراد داره تنها از طریق باگ های درون سایت میشه از طریق XSS یا LFI مدیریت محتوا رو دور زد و تزریق فایل رو انجام داد که بهتر میدونید اینو کار هرکسی نیست، مثلا باگی که درون سایت خودتون وجود داره در افزونه contact-from-7 ver 5.3.2 که آخرین ورژن هم هست اما باگ LFI داره و میشه درون سایتتون یک فایل PHP شل اجرا کرد و دسترسی گرفت.:50000000:
 
آخرین ویرایش:

forud

کاربر vip
vip
کاربر
2013-05-05
419
1,636
سلام
وقت همگی بخیر

یک راه امنیتی برای جلوگیری از اجرای فایل هایی با فرمت "گول زننده"، تغییر نام تمام فایل ها ست.

یه مثال عرض می کنم خدمتتون:

فرض کنید تو وب سایت شما لازمه که کاربران فایل هایی رو بارگذاری کنند (مثلا عکس یا هر چیز دیگه ای). حالا یکی خواسته سربه سرتون بذاره یا خودی نشون بده و یه فایل با این فرمت فرستاده تو سایت تون:
image.jpg.php
ظاهرا این یه فایل تصویریه اما در واقع یه فایل php هست که می تونه کد مخرب رو وارد سایت کنه.

بنابراین با تغییر فرمت فایل ها -یه خورده دیگه- امنیت سایت مون رو می تونیم بالا ببریم.

زندگی تون پر از برکت:angel:
تشکر از اطلاعات مفیدتون
 

dbchista

کاربر
2020-12-02
494
418
آذرشهر
dbchista.ir
بله همینطوره

اما منطق اش ممکنه برای مدیران سایتی که دانشی تو این زمینه نداشته باشند، قابل درک نباشه.

CMS ها، به طور اتوماتیک، این پیغام رو به کاربر میدن که "بارگذاری این پرونده بنا به دلایل امنیتی مجاز نیست" و در حالت عادی کاربرها نمی تونند فایل php بارگذاری کنند. اما بعضی وقت ها بنا به ضرورت حالت پیش فرض پسوندهای مجاز رو تغییر میدن که در این صورت با درک این موضوع که چه اتفاقی ممکنه برای سایت شون بیفته، مسایل امنیتی رو بیشتر رعایت می کنند.

از طرف دیگه ممکنه کسی از CMS ها استفاده نکنه و از پایه کدنویسی کنه.
یه طراح سایت باید در نظر داشته باشه که کد امن بنویسیه و تو طراحیش فرمت های مجاز برای بارگذاری فایل رو تعریف کنه و هر پسوندی قابل بارگذاری نباشه
 

dbchista

کاربر
2020-12-02
494
418
آذرشهر
dbchista.ir
تو سوال قبلی تون پاسخ داده شد

این آموزش برای اینه که منطق موضوع هم درک بشه
و کسایی که وب سایت دارند متوجه بشند چرا نباید هر فرمتی قابل بارگذاری باشه

همین طور کسایی که طراحی سایت رو با کدنویسی انجام میدن به این موضوع هم توجه کنند
 
  • Like
واکنش‌ها[ی پسندها]: forud

Mersad1116

VIP+ افتخاری
کاربر
2018-11-26
448
901
اصفهان
aqayetamir.ir
تو سوال قبلی تون پاسخ داده شد

این آموزش برای اینه که منطق موضوع هم درک بشه
و کسایی که وب سایت دارند متوجه بشند چرا نباید هر فرمتی قابل بارگذاری باشه

همین طور کسایی که طراحی سایت رو با کدنویسی انجام میدن به این موضوع هم توجه کنند
بله اما شما در پست اول فرمودین که فایلی به شکل image.jpg.php رو آپلود میکنن و در ظاهر تصویر هست، اما الان در ادامه فرمودین که چرا نباید همه ی فرمت ها آپلود بشن، الان منظور شما از مثالی که زده بودید فایل به صورت php آپلود میشه؟ یا imgae? چون گفتید که در ظاهر یه فایل jpg هست و آپلود میشه اما در واقع php روی سرور اجرا میشه ، من الان دقیقا متوجه نشدم
 

dbchista

کاربر
2020-12-02
494
418
آذرشهر
dbchista.ir
ببینید اگه از CMS ها مثلا وردپرس استفاده کنند اصلا اجازه آپلود بهشون داده نمیشه (حالت پیش فرض همین هست). اما اگه حالت های پیش فرض بنا به هر دلیلی تغییر داده بشن امکان بارگذاری با پسوندهای غیرمجاز (مثلا php) فراهم میشه و نتیجه اش ممکنه قابل کنترل نباشه

همین طور اگه کسی مایله 0 تا 100 طراحی سایت رو با کدنویسی انجام بده باید توجه کنه کنه که غفلت از محدود کردن بارگذاری فرمت ها، ممکنه چقدر گرون تموم بشه براش

بنابراین تو مثال ما اگه همچین فایلی رو به وردپرس پیشنهاد بدند، وردپرس اصلا قبول نمیکنه (البته تا وقتی که حالت های پیش فرض تغییر داده نشده اند) اما اگه سایت مون توسط یه کدنویس بی تجربه طراحی شده باشه ممکنه محدودیت بارگذاری فرمت ها وجود نداشته باشه و یه کاربر شیطنت کنه و کار دست مون بده
 

Mersad1116

VIP+ افتخاری
کاربر
2018-11-26
448
901
اصفهان
aqayetamir.ir
ببینید اگه از CMS ها مثلا وردپرس استفاده کنند اصلا اجازه آپلود بهشون داده نمیشه (حالت پیش فرض همین هست). اما اگه حالت های پیش فرض بنا به هر دلیلی تغییر داده بشن امکان بارگذاری با پسوندهای غیرمجاز (مثلا php) فراهم میشه و نتیجه اش ممکنه قابل کنترل نباشه

همین طور اگه کسی مایله 0 تا 100 طراحی سایت رو با کدنویسی انجام بده باید توجه کنه کنه که غفلت از محدود کردن بارگذاری فرمت ها، ممکنه چقدر گرون تموم بشه براش

بنابراین تو مثال ما اگه همچین فایلی رو به وردپرس پیشنهاد بدند، وردپرس اصلا قبول نمیکنه (البته تا وقتی که حالت های پیش فرض تغییر داده نشده اند) اما اگه سایت مون توسط یه کدنویس بی تجربه طراحی شده باشه ممکنه محدودیت بارگذاری فرمت ها وجود نداشته باشه و یه کاربر شیطنت کنه و کار دست مون بده

خب پس نیاز نیست به این شکل باشه image.jpg.php وقتی محدودیتی در بارگزاری فرمت ها نباشه، یباره کاربر میاد image.php آپلود میکنه، مشکلی نیست که بخواد image.jpg.php آپلود کنه
یک مروری به پست اول این تاپیک مجدد بکنید، برداشت من این بوده که شما گفتید کاربر میاد سایت رو فریب میده و یک فایل phpرو در قالب یک تصویر آپلود میکنه، در صورتی که طبق گفته شما اصلا همچین چیزی نیست کاربر وقتی image.jpg.php رو آپلود کنه در واقع داره یک فایل با فرمت php آپلود میکنه که اسمش (image.jpg)هست و اون .jpg فرمت حساب نمیشه اینجا و جزو اسم فایل هست
 
بالا