-
April 6th, 2014, 10:36
#1
3 مورد خطرناک برای امنیت php در وب هاست اشتراکی
اگر چه PHP یک زبان وب سایت همه کاره میباشد که اجازه ساخت و ساز سریع محتوای پویا وب سایت مانند سبدهای خرید و RSS را می دهد ولی وب سایت شما را هم می تواند در معرض خطر بگذارند خصوصا انهایی که از یک هاست مشترک برای هاستینگ وب سایت خود استفاده می کنند و استفاده از هاست اشتراکی خطرات زیادی برای امنیت PHP دارد. هکرها می دانند که چگونه می توانند از نقاط ضعف PHP مثل برگردانند داده های مشتریان و غیره بهره برداری کنند. بنابراین خود را آماده کنید برای فهمیدن خطرات امنیتی PHP و بروز رسانی کد های خود برای جلوگیری و به حداقل رساندن نفوذ هکرهای به وب سایت خود.
SQL Injection
یکی از شایع ترین خطرات امنیتی مربوط به PHP تزریق SQL و یا ( SQL Injection ) نامیده می شود. Sql injection یک تکنیک که یک هکر با تزریق کدهای مخرب sql در کوئری تعبیه شده در وب سایت می تواند به وب سایت شما آسیب برساند. به عنوان مثال ممکن است هکر SQL را در صفحه فورم شما درج کند در نتیجه همه معلوماتی که ممکن است یک کاربر در این فورم برای ارسال به شما درج کند با ارزش زمینه آن از طریق کیوری SQL به هکر ارسال خواهد شد.
به عنوان مثال فرض کنید وب سایت شما از کاربر آدرس ایمیل او را طلب کند تا شما بتوانید معلومات او را داشته و در صورت نیاز با او تماس بگیرید. با این حال کاربر بر فرض مثال یک هکر باشد و می خواهد همه اطلاعات مربوط به کاربران شما را بدست بیاورد بنابراین به جای تایپ کردن ایمیل خودش در فیلد فورم ‘y’ = ‘y’ را تایپ کند.
در اصل کیوری شما این گونه است
Select Email
From User-Table
Where Email.Address = EmailField_Value
می شود
Select Email
From User-Table
Where Email.Address = ‘y’ = ‘y’
کلاس ‘y’ = ‘y’ همیشه مقدار true را دارد. با این کار هکر به تمام آدرس ایمیل های کاربران شما دسترسی پیدا می کند.
حفظ و محافظت خود از تکنیک SQL Injection ساده میباشد. تنها با فراخوانی یک تابع که وظیفه آن چک کردن داده ها قبل از ارسال از طریق کیوری میباشد. برای اطلاعات بیشتر می توانید به Open Web Application Security Project مراجعه کنید.
2 ) XSS Cross Site Scripting
معمولا به عنوان XSS Cross Site Scripting اشاره می شود. هنگامی که یک هکر logic خود را در HTML logic وب سایت شما درج می کند.
مثال بالا را در نظر بگیرید.هکر برای ارسال پیام در وب سایت ثبت نام می کند و سپس پست پیام خود را با Javascript routine فرمت می کند که باعث جریان پی در پی popups می شود تا بر روی صفحه نمایش کاربران یک فروم ظاهر شود. با این کار کاربران مجبور هستند یا بر popups کلیک کنند یا مرورگر خود را ببندند.
به طور معمول XSS از طریق لینک های مخرب اجرا می شود. حتی بدتر از آن cross-site scripting معمولا طبیعی به نظر می رسد و آن هم به این دلیل که به عنوان بخشی از قابلیت وب سایت به حساب می آید. نتیجه نهایی آن این است که شما کاربران بلقوه خود را از دست خواهید داد به این دلیل که آنها وب سایت شما را به عنوان یک تهدید خواهند دید.
مانند SQL Injection شما باید تمام کدهای کاربران خود را چک کنید و اطمینان حاصل کنید که هیچ کدام یک از آنها از کد های مخرب استفاده نکنند. برای کسب اطلاعات بیشتر می توانید در Microsoft چک و بررسی کنید.
3 ) Register_Globals
تنظیمات پیکربندی PHP به عنوان Register_Globals شناخته می شود که به طور خودکار تمام متغیرات برنامه را در یک محیط جهانی جایگزینی می کند تا آن را برای توسعه دهندگان وب آسان و سرعت آن را در بازیابی برای کاربران دنیا بیشتر کنید.
مشکل این کار این است که سایت شما را ممکن است در معرض تهدیدات امنیتی جدی قرار دهد . به عنوان مثال یک هکر بالقوه می تواند با یک پارامتر $_GET یک کالا را به صورت رایگان با استفاده از سبد خرید فروشکاه وب سایت شما سفارش و خرید کند.
PHP معمولا با این تنظیمات خاموش می شود و برای اطمینان از آن فایل محلی PHP.ini ( local PHP.INI ) را چک کنید.
منبع:
3 مورد خطرناک و ریسکی برای امنیت PHP در هاست اشتراکی
-
تعداد تشکر ها ازmaryamhost به دلیل پست مفید
arman_2, ehteshami.developer, Film Plus, ictpars, jahromweb, jvd, lordcrazy, mosavi1376, omid3963, sahelll, shaparakpay, thanker
-
April 6th, 2014 10:36
# ADS
-
April 6th, 2014, 11:07
#2
عضو انجمن
پاسخ : 3 مورد خطرناک برای امنیت php در وب هاست اشتراکی
از اشتراک گذاریتون متشکرم ولی این مشکلات ابدا به php ارتباط ندارن.
وب سایت هایی که با asp نوشته شدن باگ sql injection ندارن!؟
-
تعداد تشکر ها ازhamid.soltani92 به دلیل پست مفید
-
December 27th, 2014, 10:17
#3
عضو انجمن
پاسخ : 3 مورد خطرناک برای امنیت php در وب هاست اشتراکی
دوست من SQL Injection و XSS Cross Site Scripting هر دو ارتباطی را php تنها ندارند ! در سرورهایی که Register_Globals هم on هست شما می تونید با برنامه نویسی صحیح این مسئله رو حل کنید.
Designer and Consultant of e-Government Services / CRM-HRM-ERP-MIS / Web & Windows & Mobile Application
-
تعداد تشکر ها ازspsgorgan به دلیل پست مفید
-
December 27th, 2014, 15:05
#4
عضو انجمن
پاسخ : 3 مورد خطرناک برای امنیت php در وب هاست اشتراکی
دوست عزیز با تشکر از شما ولی باید بگم این جور هک ها خیلی ابتدایی هست ممنون میشم روش هایپیچیده تر و نحوه جلوگیری از ان تا را توضیح دهید . باز هم ممنون
-
تعداد تشکر ها ازyeganehha به دلیل پست مفید
-
December 27th, 2014, 15:12
#5
عضو انجمن
پاسخ : 3 مورد خطرناک برای امنیت php در وب هاست اشتراکی
با سلام و احترام.
همونطور که بقیه گفتند فقط مربوط به PHP نیست !
اما برای جلوگیری از استفاده از باگ Sql Injection می تونید از تابع آماده ای که وجود داره استفاده کنید مثل : addslashes راه بعدی که بسیار توصیه می شه،با $_SERVER['QUERY_STRING'] مقادیر را بررسی کنیم و دستورات
Sql را ببندیم.
-
تعداد تشکر ها ازshahinmq به دلیل پست مفید
-
January 1st, 2015, 20:04
#6
عضو انجمن
پاسخ : 3 مورد خطرناک برای امنیت php در وب هاست اشتراکی
روش ها جامع بود و با کمترین مطلب بهترین بازدهی رو داشت
دوستان خواهشا مراعات کنین
بازم خوب تونستن مبحث مد نظرشونو به اشتراک بزارن...
-
تعداد تشکر ها ازmohammadali3517 به دلیل پست مفید
-
February 10th, 2015, 15:47
#7
پاسخ : 3 مورد خطرناک برای امنیت php در وب هاست اشتراکی
سلام میشه یه سایت معرفی کنین که کامل در مورد جلوگیری از sql injection باشه ؟
-
تعداد تشکر ها از bestsitedesign به دلیل پست مفید
-
March 13th, 2015, 14:26
#8
عضو انجمن
پاسخ : 3 مورد خطرناک برای امنیت php در وب هاست اشتراکی
نوشته اصلی توسط
XZA
سلام
میشه نحوه جلوگیری از این مشکل را ذکرکنید؟
باتشکر
نوشته اصلی توسط
bestsitedesign
سلام میشه یه سایت معرفی کنین که کامل در مورد جلوگیری از sql injection باشه ؟
خیلی راحت می تونید از تابع addslashes استفاده کنید ، همچنین شما بیاید روی دستورات Sql حساس کنید برنامتون رو مثل : select,union,join,where,or,and,xor,not و ...
خیلی راحت می تونید جلوی این نوع از حملات رو بگیرید.
البته تابعی که گفتم فقط روی تک کوتیشن ( ' ) حساس هستش ، بهتره خودتون بقیه موارد را وارد کنید
-
تعداد تشکر ها ازshahinmq به دلیل پست مفید