امنیت سایت در php – بخش اول باگ xss
.امنیت در php
ضعف های برنامه نویسی گاهی اوقات منجر به به وجود آمدن مشکلات امنیتی در سیستم می شود .
که در نهایت منجر به نفوذ در سیستم خواهد شد .
هر برنامه نویس حرفه ای ملزم است که این باگ ها را بشناسدو راه های مقابله با آن را فرابگیرد .
در این پست شما را با باگ xss آشنا میکنیم و راه های مقابله با آن را توضیح میدهیم .
باگ xss :
باگ xss در واقع مخفف Cross site Scripting که برای آن که با CSS اشتباه گرفته نشود آن را XSS نامیدند .
در این نوع حمله هکر کد مخرب خود را که حاوی جاوا اسکریپت است به سایت تزریق میکند و کاربر با اجرا کردن صفحه هکر را به هدفش میرساند .
این نوع حملات اصولا به دلیل فیلتر نشدن ورودی ها صورت میپذیرد .
سناریو هک با باگ xss :
سایت های بسیاری دارای قسمت نظرات هستند حال اگر این نظرات فیلتر نشود یک کاربر میتواند نظری با محتوای جاوا اسکریپت وارد سایت کند .
یا اینکه هکر اعتماد شما رو جلب کندو بعد از شما بخواهد صفحه ای را باز کنید .
هکر در آدرس داده شده با استفاده از دستور get دستورات مد نظر خود را اجرا میکند .
نمونه کد آسیب پذیر از باگ xss:
<?php echo $_GET["user"] ; ?>
در کد بالا کاربر هر عبارتی در ایندکس یوزر متد گت وارد کند اجرا میشود که این امر منجر به باگ میشود.
راه حل چیست ؟!
راه حل پاکسازی ورودی ها از دستورات خطرناک است .
برای اینکار از تابع htmlspecialchars استفاده میکنیم .البته توابع دیگری هم هست مثل htmlentitle یا غیره . برای این تابع به شکل زیر عمل کینیم :
<?php echo htmlspecicalchars($_GET['user']); ?>
در پست بعدی شما را با نحوه مقابله با حملات SQL Injection آشنا میکنیم