قالب وردپرس قالب وردپرس آموزش وردپرس قالب فروشگاهی وردپرس وردپرس
یکشنبه , خرداد ۲۶ ۱۳۹۸
خانه / برنامه نویسی / php / امنیت سایت در php – بخش اول باگ xss

امنیت سایت در 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  آشنا میکنیم

 

درباره ی شاهین احمدزاده

شاهین احمدزاده هستم مهندس کامپیوتر در گرایش نرم افزار علاقه مند به برنامه نویسی و طراحی سایت . شماره تلفن : 09195227837 ایمیل : shahin.ahmadzadeh795@gmail.com

مطلب پیشنهادی

بررسی Git و Git Hub

در دنیای برنامه‌نویسی، درک و مدیریت نسخه‌های کد و پروژه‌های شما که شب و روز روی آن سخت کار می‌کنید ، ضروری است. در این مقاله، من شما را با Git و GitHub اشنا می‌کنم، یکی از سیستم های کنترل نسخه (version control) معروف که توسط بسیاری از توسعه دهندگان در سرتاسر جهان استفاده می‌شود، و همچنین چند دستور پایه Git، و اینکه چگونه یک local و یا ریموت (remote repository) را در GitHub با استفاده از ترمینال کامپیوتر MAC راه‌اندازی کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *