Khaled Almousawi نشر 25 مايو 2020 أرسل تقرير نشر 25 مايو 2020 (معدل) السلام علسكم ... عندي في موقعي تحميل صور + التطبيق تحميل صوره شخصيه . كيف احمي موقعي من تحميل صوره تم وضع في شفرتها برمجيات خبيثه او تحميل اي برمجيات خبيثه ؟ وكذلك تطبيقي كيف اظمن مكان الصوره الشخصيه لا يوجه برمجيات خبيثه ؟ الموقع بلغه البايثون و التطبيق كوتلن و سويفت تم التعديل في 25 مايو 2020 بواسطة Khaled Almousawi 1 اقتباس
1 سمير عبود نشر 26 مايو 2020 أرسل تقرير نشر 26 مايو 2020 مرحبا أنا أستخدم إطار العمل laravel الخاص بلغة php و عند عملية التحقق من صورة أستعمل الكود التالي <?php // .... public function store(Request $request) { $request->validate([ 'image' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048' ]); // .... } هذا بإستعمال validation image الموجودة في الإطار لكن لارافيل يتيح لنا إنشاء custom validation خاص بنا بهذا الشكل مثلا <?php Validator::extend('is_png',function($attribute, $value, $params, $validator) { $image = base64_decode($value); $f = finfo_open(); $result = finfo_buffer($f, $image, FILEINFO_MIME_TYPE); return $result == 'image/png'; }); و بعدها يمكننا استعماله بهذا الشكل <?php // .... public function store(Request $request) { $request->validate([ 'image' => 'required|is_png' ]); // .... } ستجد أشياء مماثلة لما تبحث عنه باللغة التي تريدها لأن مطورين اللغة يطورون بإستمرار على اللغة و يضيفون أشياء جديدة بالتوفيق 2 اقتباس
1 Mohamd Imran نشر 26 مايو 2020 أرسل تقرير نشر 26 مايو 2020 السلام عليكم @Khaled Almousawi يمكنك الحماية من الإختراق أو الثغرات المشابه لما ذكرت ببساطة من خلال منع الفنكشنز المسؤولة عن فك التشفير أو تنفيذ الأكواد الخبيثة على موقعك حيث يتم تشفير المحتوى الخبيث عن طريق تشفير base 64 وتستخدم الفنكشن eval (وهي المسؤولة عن هذا النوع من الثغرات)لتشغيل ذلك النص وهو عبارة عن أكواد خبيثة ,لمنع ذلك من الأساس الحل هو تعطيل تلك الفنكشن في إستضافتك أو السيرفر الخاص بك من خلال إضافة الكونفجريشن التالي إلى ملف php.ini الخاص بإستضافتك وسيعطل عمل تلك الأكواد allow_url_fopen = off allow_url_include = off disable_functions = "apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode" حيث هذه الفنكشنز معروفة بثغراتها 1 اقتباس
0 سمير عبود نشر 25 مايو 2020 أرسل تقرير نشر 25 مايو 2020 (معدل) و عليكم السلام أولا الحماية هو علم قائم بحد ذاته و لا يمكن حصره في مقال واحد أو إثنين لذلك على المبرمج أن يكون دائم الإطلاع على مستجدات الثغرات و كيفية الحماية منها أنصحك بقراءة بعض المقالات عن هذا العلم بخصوص سؤالك و هو كيفية منع المستخدم من رفع برمجيات خبيثة بدل صورة ببساطة هذا يندرج تحت التحقق من البيانات أو data validation و الأكيد و الجدير بالذكر أن أي لغة برمجية تتيح و توفر لك أدوات من خلالها تستطيع التأكد أن ما رفعه المستخدم عبارة عن صورة بالفعل ليس التحقق من اللاحقة فقط ( jpg , png , .... ) بل التحقق من الملف كامل هل هو صورة أم لا فإن كان صورة تقوم بحفظه و إستخدامه في موقعك إن كان لا تخبر المستخدم أن ما قام برفعه ليس صورة أنا لا أستعمل اللغات التي ذكرتها لكن بإمكانك الإستعانة ب Google بكتابة : Image validation in python و سيقترح عليك كيفية التحقق بالتوفيق تم التعديل في 25 مايو 2020 بواسطة عبود سمير 1 اقتباس
0 Khaled Almousawi نشر 25 مايو 2020 الكاتب أرسل تقرير نشر 25 مايو 2020 شكرا لك لكن بعض الهكر يقوم بتحويل الصوره الى كود من خلال base64 picture كما في هالموقع https://www.base64-image.de/#fallback تستطيع تحويل الصور لكود و الاكواد لصوره مره اخرى قد يدخل الهكر شفرته الى شفره الصوره و اعاده تحويلها الى صوره بامتداد jpg مثلا و رفعها للموقع يتعرف عليها الموقع كصوره لكنها محتويه لبرمجه خبيثه ما الحل ؟ ارجو ان تكون فهمتني اقتباس
0 سمير عبود نشر 25 مايو 2020 أرسل تقرير نشر 25 مايو 2020 و عليكم السلام يمكن أيضا التحقق من الصورة و هي على هيئة base64 حتى لغات البرمجة توفر أدوات من خلالها تستطيع التحقق من الصورة بشكل كامل أي المحتوى و ليس فقط اللاحقة فإن كانت تحتوي على برمجيات خبيثة يتم رفضها 1 اقتباس
0 Khaled Almousawi نشر 26 مايو 2020 الكاتب أرسل تقرير نشر 26 مايو 2020 شكرا لك ممكن مثال لطريقه التحقق من الصوره كامله ومن محتواها كامل عن طريق base64 ... حتى لو كان المثال باي لغه من لغات البرمجه لكي افهم 1 اقتباس
السؤال
Khaled Almousawi
السلام علسكم ...
عندي في موقعي تحميل صور + التطبيق تحميل صوره شخصيه .
كيف احمي موقعي من تحميل صوره تم وضع في شفرتها برمجيات خبيثه او تحميل اي برمجيات خبيثه ؟
وكذلك تطبيقي كيف اظمن مكان الصوره الشخصيه لا يوجه برمجيات خبيثه ؟
الموقع بلغه البايثون و التطبيق كوتلن و سويفت
تم التعديل في بواسطة Khaled Almousawi6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.