اسکریپت باران
بزرگترین مرجع دانلود سورس و اسکریپت های برنامه نویسی
یکی از حملاتی که هکرها می توانند به سایت ما داشته باشند، حمله XSS می باشد. عبارت XSS از Cross-site scripting گرفته شده است که برای عدم اشتباه گرفتن آن با CSS ، حرف اول آن به جای C ، برابر X در نظر گرفته شده است. در این نوع حمله، هکر کدهای مورد نظر خود را در میان کدهای صفحه سایت ما قرار می دهد و بنابراین این کدها، در مرورگر کاربران سایت اجرا خواهد شد.
شاید بتوان ساده ترین حالت از حمله XSS را به این صورت در نظر گرفت که هکر، در قسمت نظرات کاربران، به جای نوشتن یک متن معمولی، یک سری کد می نویسد، آن کدها در پایگاه داده سایت ذخیره می شود تا بعدا به کاربران، به عنوان نظرات کاربران قبلی، نمایش داده شود. بنابراین کاربرانی که به آن بخش از سایت می روند و به طور طبیعی، باید نظرات به آنها نمایش داده شود، کدهای هکر در مرورگرشان اجرا می شود. راه حل این مورد، فیلتر کردن ورودی های کاربران در قسمت نظرات می باشد (و یا در هر بخش دیگری از سایت که کاربر توسط یک فرم، اطلاعاتی را وارد می کند).
برای فیلتر کردن ورودی کاربران از کدهای مخرب، باید از تابع htmlspecialchars در PHP استفاده کنیم. در واقع در میان کدهایی که برای پردازش ورودی های کاربر نوشته ایم، اولین مرحله، دریافت ورودی توسط این تابع می باشد.
یک حالت دیگر این است که هکر، لینکی را به کاربران نمایش می دهد تا کاربران بر روی آن کلیک کنند، لینک به صفحه ای از سایت ما اشاره می کند که در آن، از روش GET برای دریافت مقدار یک ورودی استفاده کرده ایم، بنابراین هکر، در آدرس لینک، کدهای مخرب مورد نظر خود را به جای مقدار آن متغیر قرار می دهد. مثلا هکر آدرس لینک را به صورت زیر تعیین می کند :
1 |
http://www.scriptbaran.com/index.php?input=HackerCodes |
در آدرس فوق، هکر به جای عبارت HackerCodes ، یک سری کد مخرب خواهد نوشت که به عنوان مقدار متغیر input در نظر گرفته می شود. حال فرض کنید که کدهای صفحه مورد نظر که ما نوشته ایم، به صورت زیر باشد :
1 2 3 |
<?php echo $_GET['input']; ?> |
بنابراین چون مقدار متغیر input را (که البته همان کدهای مخرب هکر است) با دستور echo به خروجی صفحه می دهیم، بنابراین کدهای هکر، در صفحه و در مرورگر کاربر، اجرا خواهد شد.
برای جلوگیری از این مورد، باید با تابع htmlspecialchars در PHP ، ورودی تعیین شده به عنوان مقدار متغیر را از کدهای مخرب، فیلتر کنیم، یعنی این بار کدها را به صورت زیر می نویسیم :
1 2 3 |
<?php echo htmlspecialchars($_GET['input']); ?> |
کانال تلگرامی اسکریپت باران
برای اطلاع از آپدیت های این سورس و سورس های دیگر اسکریپت باران، در کانال تلگرام ما عضو شویدبرنامه نویسی را معنایی دوباره بخشیم !