السلام عليكم ورحمة الله وبركاته
احييكم جميعا
بطلب من الاخوة والاساتذة الكرام بعمل شرح مصور للمشكلة و حلها باذن الله راح اشرح بالصور والاكواد
طبعا كنت اواجه مشكلة في سكربت الزينفورو عند التعديل على اي قالب تظهر هذه المشكلة
كما في الصورة
سبب المشكلة :- المود سكيورتي Mod Security
المود سكيورتي يصدها ويعتبرها محاولة اختراق او هجمة
الحل لو انت لست صاحب السيرفر , فيجب اخبار صاحب السيرفر بالمشكلة وطلب حلها
اما لو انت صاحب السيرفر فسوف اشرح الموضوع للمبتداين
( لاني واحد منهم )
طبعا بامكانك عن طريق الشل او السي بنل او لوحات مجانية ( كما في حالتي
)
بالبداية
نبحث عن سبب المشكلة في ملف الايرور كيف؟ تابع معي
عن طريق الشل ssh
اكيد لازم تدخل الشل باليوزر يعني root
بعدين نبحث عن
كود:
cd /usr/local/apache/domlogs/
للذهاب الى ملفات اللوج logs على السيرفر
لعرض الملفات الموجودة في الفايل (للتاكد من اسم ملف الدومين وبانه موجود بالفعل )
بعد اختيار الدومين التي توجد المشكلة به ولنفرض جوجل google.com
نحاول ان نقرا او نعدل على الاخطاء في هذا الملف واللي راح يكون في نهاية اسمه google.com.error.log
كود:
nano /usr/local/apache/domlogs/google.com.error.log
راح تظهر كل اخطاء الدومين طبعا مش حتقراها كلها انزل الى اخر شي ثم حاول تقرا من تحت لفوق
او عن طريق قراءة اخر 5 او 10 اخطاء تقريبا اذا ما اخطات للدومين عن طريق
كود:
tail /usr/local/apache/domlogs/google.com.error.log
طبعا راح تجد مثل هذا الكود
كود:
[Fri Apr 19 22:48:24.359772 2019] [:error] [pid 5420:tid 140247182567168] [client 0.0.0.0:43646] [client 0.0.0.0] ModSecurity: Access denied with code 403 (phase 2). Pattern match "(?i:<form.*?>)" at ARGS:template. [file "/usr/local/apache/modsecurity-owasp-old/base_rules/modsecurity_crs_41_xss_attacks.conf"] [line "516"] [id "973329"] [rev "2"] [msg "IE XSS Filters - Attack Detected."] [data "Matched Data: <form action=\\x22{{ link('search/search') }}\\x22 method=\\x22post\\x22 class=\\x22menu-content\\x22 data-xf-init=\\x22quick-search\\x22> found within ARGS:template: <!DOCTYPE html> <html id=\\x22XF\\x22 lang=\\x22{$xf.language.language_code}\\x22 dir=\\x22{$xf.language.text_direction}\\x22 data-app=\\x22public\\x22 data-template=\\x22{$template}\\x22 data-container-key=\\x22{$containerKey}\\x22 data-content-key=\\x22{$contentKey}\\x22 data-logged-in=\\x22{{ $xf.visitor.user_id ? 'true' : 'false' }}\\x22 data-coo..."] [ver "OWASP_CRS/2.2.9"] [maturity "8"] [accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/XSS"] [tag "WASCTC/WASC-8"] [tag "WASCTC/WASC-22"] [tag "OWASP_TOP_10/A2"] [tag "OWASP_AppSensor/IE1"] [tag "PCI/6.5.1"] [hostname "www.google.com"] [uri "/vb/admin.php"] [unique_id "XLo0GB6vvBwYALH-ClA1sQAAAA0"], referer: http://www.google.com/vb/admin.php?templates/page_container.1604/edit&style_id=12
ببداية الامر اليوم , الشهر , التاريخ, الساعه, والسنة
[client 0.0.0.0:43646] بعدين للتاكد من انه خطا وليس هجوم تاكد من 0.0.0.0 هو الاي بي الخاص بك انت ( لانه لو اي بي غيرك معناتها محاولة اختراق او هجمة )
ModSecurity: Access denied with code 403 يخبرك بانه المود سكيورتي رفض هذه العملية
[line "516"] [id "973329"] طبعا هذا هو رقم المعرف الاي دي id اللي المفروض يجب وضعه في اللائحة المسموح بها في المود سكيورتي
اللي هو هذا الرقم 973329 ولكن يجب ان يكون بهذا الشكل SecRuleRemoveById 973329
الى هنا انتهت معلوماتي عن طريق الشل
للاسف
هناك طريقة اخرى عن طريق برنامج winscp هو عبارة عن ftp ولكن بامكانك ايضا الدخول على ملفات السيرفر باكملها وتصفحها من دون الاوامر فوق
ادخل فقط على
كود:
/usr/local/apache/domlogs/
ثم قم بتحميل ملف google.com.error.log الى كمبيوترك وافتحه عن طريق النوت باد كما في حالتي
google.com
اسم دومينك
الان نبدا عن طريق لوحات التحكم
بالنسبة للوحة اللي استخدمها اسمها سنتوس ويب بنل centos web panel مجانية والنسخه البرو بدولار ونص شهريا سعرها تقريبا
المهم نتابع كما في الصورة
نذهب اولا الى
1- نضغط على قسم Security
2- Mod Security نختار المود سكيورتي
3- disabled rules تعطيل الاوامر او القوانين
ثم نضيف باخر شي
كود:
SecRuleRemoveById 973321
SecRuleRemoveById 973314
SecRuleRemoveById 973348
SecRuleRemoveById 973310
SecRuleRemoveById 973329
ثم حفظ save changes كما في الصورة
اكيد بعد هذه العملية يجب اعادة تشغيل الاباتشي
للسينتوس 7
كود:
systemctl restart httpd
للسنتوس 6
كود:
service httpd restart
ملاحظة اول مرة ظهر لي الخطا فقط id "973329" هذا الاي دي بعد السماح له ظهر تباعا الاي ديهات الاخرى ( واحد بعد الاخر , اسمح للاول يظهر الثاني وهكذا )
اكيد كما اسلفت انا مبتدا
ولكن هذه الطريقة تم حل المشكلة مع السكربت
إن أحسنت فمن الله، وإن أسأت أو أخطأت فمن نفسي والشيطان
لا نسالكم سوى الدعاء
الرجاء عند النقل ذكر المصدر
سبحانك اللهم وبحمدك اشهد ان لا اله الا انت استغفرك واتوب اليك
السلام عليكم