آموزش 0 کردن حملات sql اینجکشن
سلام
گفتم این آموزش رو اینجا بزارم بلکه از شر این هکر ها یکم راحت بشین
البته اون دوستانی که برنامه نویس خوبی هستند رو نمیگم .اونایی که کمتر تسلط دارند
خوب میریم سر آموزش
نکته: این فایل رو یکی از دوستان قدیمم 4 سال پیش بهم داد به اسم مهرداد.از همینجا بازم ازش تشکر میکنم
خوب یه فایل درست کنید به نام هر چی دوست داری :دی ما خوب بزارید security.php
این کد ها رو توش بزارید و ذخیرش کنید
خوب حالا فایل رو دخیره کنید.کد PHP:<?
$REQUEST_URL = parse_url($_SERVER['REQUEST_URI']);
if ( @$REQUEST_URL["query"] != "" ) :
$PageAddress = $REQUEST_URL["query"];
$characters = array("+","`","$","/","\\","\"","'"," ","*","-","");
$array_count = count($characters) ;
for ( $i = 0 ; $i < $array_count ; $i++ )
{
if ( @substr_count($PageAddress,$characters[$i]) >= 1 )
{
exit('
<html dir="rtl">
<head>
<meta http-equiv="Content-Language" content="fa">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>گزارش حمله به سايت</title>
</head>
<body>
<p align="center">
<img border="0" src="Images/Error/sql_injection.gif" width="330" height="332"></p>
<p align="center"><font size="2" face="Tahoma">اين كار غير قابل دسترسي است</font></p>
<p align="center"><font size="2" face="Tahoma">لطفا از انجام اين كار صرف نظر
نماييد</font></p>
<p align="center"><span lang="en-us"><font size="2" face="Tahoma">
<font color="#808000">This Site Has Been Secured And Protected BY</font>
<font color="#0000FF">VahidMomtazi</font></font><font color="#0000FF"></font></span></p>
</body>
</html>
');
break;
}
}
endif;
?>
حالا تو هر فایلی که به نوعی عدد رو فراخونی میکنه
مثل : page.php?id=3 و...
یعنی صفحاتی که اخر فایل شماره و یا به نوعی فایل اصلیشون ثابته و محتوای متغیر دارند
نمیدونم منظورمو درست گفتم یا نه :دی
این فایل رو فراخونی کنید
include "security.php";
تموم شده
حالا فرض کنید که ادرس صفحه ای دارید به این صورت
[برای مشاهده لینک عضو شوید ]
اگر هکر بخواد به هر نحوی تو شماره صفحه تغییری ایجاد کنه پیغامی که تو کد ها هست رو مشاهده میکنه
همونجور که میدونید برای تزریق اس کیو ال باید با این قسمت ور رفت
تو پست بعدی یا ادامه همین پست اموزش رو کامل میکنم
یعنی وقت کسی خوست شیطونی کنه به جز اینکه نمیزاره این کار رو بکنه ایپیش رو هم بلوکه کنه و نزاره دیگه سایت رو مشاهده کنه :دی
من که نفهمیدم عزیز
اگر میشه یه بار کامل توضیح بدین ...
فروش ویژه سرور مجازی هلند مخصوص میکروتیک
فروش ویژه سرور مجازی فرانسه مخصوص ویندوز و لینوکس
Id : Bwspeeds
ببینید این کد به درد کسایی که خودشون سایت رو از پایه طراحی میکنند بدرد میخوره
مثلا شما میای یه برنامه مینویسی به زبان پی اچ پی
حالا یه صفحه اخبار مینویسی و بهش متغیر میدی و اسم صفحه رو new.php انتخاب میکنی
خوب اخبار برای اینکه به ترتیب نمایش داده بشه باید یه کد بهش اختصاص داد که هر برنامه نویس یه حور کار میکنه
یکی میاد کلا لینک را رو تغییر میده :دی
حالا به اوناش کار نداریم
همین اخبار میشه اینجوری مثلا
اخبار شماره یک new.php?id=1
اخبار شماره 2 news.php?id=2
, ...
حالا هکر هم همیشه دنبال این صفحات میگرده
خوب ما به وسیله این برنامه که یک فایل که توضیح دادم اون کد ها رو باید ذخیره کنید و هم یک خط فایل که باید ابتدای فایل های نوشته شده خودتون بیارید این حملات رو میبندیم و نمیزاریم کسی تو ادرس سایت تغییری ایجاد کنه
باز هم نمیدونم خوب توضیح دادم یا نه
من خودم تو سایتهایی که دیزاین میکنیم با یه سری کد دیگه که به این کد ها اضافه میکنم ایپی طرف رو میگیرم و تو دیتابیس ذخیره میکنم و همون لحطه به بعد اون شخص با اون ایپی برای همیشه بلوکه میشه و اجازه دیدن کل سایت رو هم نداره
سلام
در این پروگرم تمام REQUEST های دریافتی رو چک میکنه از لحاظ موجود بودن کاراکتر های :
که درون آرایه قرار گرفتند و اگر تعداد بالای 0 بود خروجی میده که ....کد PHP:array("+","`","$","/","\\","\"","'"," ","*","-","");
این هم چند نمونه Class برای جلوگیری از Sql Injection
[برای مشاهده لینک عضو شوید ]
XLHost-iWeb-PNet
**PHP-HTML-CSS/CSS3-JS/Ajax-VB6-C** **MySQl-ODBC-Access-SQLServer**
یعنی نمی شه این کد ها رو همین طوری گذاشت مثلا تو ورد پرس یا ویبولتین و ....؟
فروش ویژه سرور مجازی هلند مخصوص میکروتیک
فروش ویژه سرور مجازی فرانسه مخصوص ویندوز و لینوکس
Id : Bwspeeds
نیازی به این کار نیست
این اسکریپت ها خودشون این قدر امنیتشون بالا هستش که نیاز به این کد ها نداشته باشند
تو اول تاپیک گفتم به درد کسایی میخوره که دارند خودشون برنامه رو از پایه مینویسند
برنامه نویس سواد داشته باشه ، نیاز به کد کمکی نیست !
اصلا ان حرف شما صحیح نیست
اینجور که شما حرف میزنید ادم باید روز تولدش برنامه نویس به دنیا بیاد
شما کدوم برنامه رو دیدید که بدون مشکل کار کنه؟؟؟!!!
کدوم برنامه رو دیدی که هیچ وقت اپدیت امنیتی نشه؟؟؟
برنامه های معروف مثل جوملا ، وردپرس ، ناک و ... هیچ وقت مشکل نداشتند؟
پس دوست عزیز یاد گرفتن حتی تو موقعی که استاد هم باشی لازمه
برنامه نویس هر چقدر هم سواد داشته باشه باز باید یاد بگیره حتی لازم باشه از دست یه اماتور
این کد چند مشکل اساسی داره
1. اینکه متد post ، کوکی ها و ... صد در صد میتونند مورد حمله قرار بگیرند و فقط متد get رو بررسی شده
2. فرض کنید قرار هست از کاربر ورودی html بگیریم ، اونوقت کاربر هکر شناخته میشه ! فرض کنید در پسورد کاربر + وجود داره و ...
3. کاراکترهای خاص اصلا در نظر گرفته نشده اند
بنابراین باید بگم متاسفانه کد شما به هیچ وجه به تنهایی قابلیت مقابله با حملات رو نداره
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)