-
February 5th, 2012, 14:31
#1
آموزش 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";
تموم شده
حالا فرض کنید که ادرس صفحه ای دارید به این صورت
http://yourdomain.com/page.php?id=2
اگر هکر بخواد به هر نحوی تو شماره صفحه تغییری ایجاد کنه پیغامی که تو کد ها هست رو مشاهده میکنه
همونجور که میدونید برای تزریق اس کیو ال باید با این قسمت ور رفت
تو پست بعدی یا ادامه همین پست اموزش رو کامل میکنم
یعنی وقت کسی خوست شیطونی کنه به جز اینکه نمیزاره این کار رو بکنه ایپیش رو هم بلوکه کنه و نزاره دیگه سایت رو مشاهده کنه :دی
-
تعداد تشکر ها ازvahidmom به دلیل پست مفید
-
February 5th, 2012 14:31
# ADS
-
February 5th, 2012, 14:57
#2
عضو انجمن
پاسخ : آموزش 0 کردن حملات sql اینجکشن
من که نفهمیدم عزیز
اگر میشه یه بار کامل توضیح بدین ...
نصب و کانفینگ : WebSitepanel . DirectAdmin
فروش ویژه سرور از : فرانسه . کانادا . آلمان
ID : Bwspeeds
-
-
February 5th, 2012, 16:15
#3
پاسخ : آموزش 0 کردن حملات sql اینجکشن
ببینید این کد به درد کسایی که خودشون سایت رو از پایه طراحی میکنند بدرد میخوره
مثلا شما میای یه برنامه مینویسی به زبان پی اچ پی
حالا یه صفحه اخبار مینویسی و بهش متغیر میدی و اسم صفحه رو new.php انتخاب میکنی
خوب اخبار برای اینکه به ترتیب نمایش داده بشه باید یه کد بهش اختصاص داد که هر برنامه نویس یه حور کار میکنه
یکی میاد کلا لینک را رو تغییر میده :دی
حالا به اوناش کار نداریم
همین اخبار میشه اینجوری مثلا
اخبار شماره یک new.php?id=1
اخبار شماره 2 news.php?id=2
, ...
حالا هکر هم همیشه دنبال این صفحات میگرده
خوب ما به وسیله این برنامه که یک فایل که توضیح دادم اون کد ها رو باید ذخیره کنید و هم یک خط فایل که باید ابتدای فایل های نوشته شده خودتون بیارید این حملات رو میبندیم و نمیزاریم کسی تو ادرس سایت تغییری ایجاد کنه
باز هم نمیدونم خوب توضیح دادم یا نه
من خودم تو سایتهایی که دیزاین میکنیم با یه سری کد دیگه که به این کد ها اضافه میکنم ایپی طرف رو میگیرم و تو دیتابیس ذخیره میکنم و همون لحطه به بعد اون شخص با اون ایپی برای همیشه بلوکه میشه و اجازه دیدن کل سایت رو هم نداره
-
تعداد تشکر ها از vahidmom به دلیل پست مفید
-
February 5th, 2012, 16:28
#4
عضو انجمن
پاسخ : آموزش 0 کردن حملات sql اینجکشن
سلام
در این پروگرم تمام REQUEST های دریافتی رو چک میکنه از لحاظ موجود بودن کاراکتر های :
کد PHP:
array("+","`","$","/","\\","\"","'"," ","*","-","");
که درون آرایه قرار گرفتند و اگر تعداد بالای 0 بود خروجی میده که ....
این هم چند نمونه Class برای جلوگیری از Sql Injection
sql injection - PHP Classes
-
تعداد تشکر ها از amirlord به دلیل پست مفید
-
February 5th, 2012, 16:38
#5
عضو انجمن
پاسخ : آموزش 0 کردن حملات sql اینجکشن
یعنی نمی شه این کد ها رو همین طوری گذاشت مثلا تو ورد پرس یا ویبولتین و ....؟
نصب و کانفینگ : WebSitepanel . DirectAdmin
فروش ویژه سرور از : فرانسه . کانادا . آلمان
ID : Bwspeeds
-
-
February 5th, 2012, 16:39
#6
پاسخ : آموزش 0 کردن حملات sql اینجکشن
نیازی به این کار نیست
این اسکریپت ها خودشون این قدر امنیتشون بالا هستش که نیاز به این کد ها نداشته باشند
تو اول تاپیک گفتم به درد کسایی میخوره که دارند خودشون برنامه رو از پایه مینویسند
-
-
February 5th, 2012, 19:00
#7
پاسخ : آموزش 0 کردن حملات sql اینجکشن
برنامه نویس سواد داشته باشه ، نیاز به کد کمکی نیست !
-
تعداد تشکر ها از MihanTech به دلیل پست مفید
-
February 5th, 2012, 20:19
#8
پاسخ : آموزش 0 کردن حملات sql اینجکشن

نوشته اصلی توسط
MihanTech
برنامه نویس سواد داشته باشه ، نیاز به کد کمکی نیست !
اصلا ان حرف شما صحیح نیست
اینجور که شما حرف میزنید ادم باید روز تولدش برنامه نویس به دنیا بیاد
شما کدوم برنامه رو دیدید که بدون مشکل کار کنه؟؟؟!!!
کدوم برنامه رو دیدی که هیچ وقت اپدیت امنیتی نشه؟؟؟
برنامه های معروف مثل جوملا ، وردپرس ، ناک و ... هیچ وقت مشکل نداشتند؟
پس دوست عزیز یاد گرفتن حتی تو موقعی که استاد هم باشی لازمه
برنامه نویس هر چقدر هم سواد داشته باشه باز باید یاد بگیره حتی لازم باشه از دست یه اماتور
-
تعداد تشکر ها از vahidmom به دلیل پست مفید
-
February 6th, 2012, 23:36
#9
عضو دائم
پاسخ : آموزش 0 کردن حملات sql اینجکشن
این کد چند مشکل اساسی داره
1. اینکه متد post ، کوکی ها و ... صد در صد میتونند مورد حمله قرار بگیرند و فقط متد get رو بررسی شده
2. فرض کنید قرار هست از کاربر ورودی html بگیریم ، اونوقت کاربر هکر شناخته میشه ! فرض کنید در پسورد کاربر + وجود داره و ...
3. کاراکترهای خاص اصلا در نظر گرفته نشده اند
بنابراین باید بگم متاسفانه کد شما به هیچ وجه به تنهایی قابلیت مقابله با حملات رو نداره
-
تعداد تشکر ها ازRezash به دلیل پست مفید
-
February 6th, 2012, 23:42
#10
پاسخ : آموزش 0 کردن حملات sql اینجکشن

نوشته اصلی توسط
Rezash
این کد چند مشکل اساسی داره
1. اینکه متد post ، کوکی ها و ... صد در صد میتونند مورد حمله قرار بگیرند و فقط متد get رو بررسی شده
2. فرض کنید قرار هست از کاربر ورودی html بگیریم ، اونوقت کاربر هکر شناخته میشه ! فرض کنید در پسورد کاربر + وجود داره و ...
3. کاراکترهای خاص اصلا در نظر گرفته نشده اند
بنابراین باید بگم متاسفانه کد شما به هیچ وجه به تنهایی قابلیت مقابله با حملات رو نداره
ممکنه حق با شما باشه
خوب من میتونم این برنامه رو یه جا اجرا کنم و ببینم تاثیر داره با نه
3 سال پیش این برنامه رو رو یه سایت اجرا کردم و به فروم آشیانه که گذاشتم کسی نتونست کاری کنه
از ارسال نطرتون هم تشکر میکنم
-