سری 1 آموزش های امنیتی چت روم

گلریزوب

مرجع اسکریپت و کد نویسی

محل نمایش تبلیغات شما کسب درآمد محل نمایش تبلیغات شما محل نمایش تبلیغات شما

میزکار کاربری
Panel

عضویت سریع
نام کاربری
رمز عبور
تکرار رمز
ایمیل
کد تصویری
ورود کاربران
نام کاربری
رمز عبور

محصولات پر بازدید
Favorite Posts

لینک های سایت
Links

صفحات جداگانه
Extra Pages

آخرین محصولات
Recently Posts

آخرین نظرات کاربران
Recently Comments

رها
رها درتاریخ 1398/3/28 گفته :
میشه برام ایمل کنید نیتونم دان کنم .با تشکر
amin
amin درتاریخ 1398/3/15 گفته :
نظر من تایید نشد ولی باگ گیری کنید بک خوبیه
مهران
مهران درتاریخ 1398/3/14 گفته :
ارسال ویس نداره به درد نمیخوره
محمد مهدی
محمد مهدی درتاریخ 1398/3/11 گفته :
این باگه یا اسکریپ
البته تاپ طرح اسکریپ نداره این مال یزد طرحه
amin
amin درتاریخ 1398/2/8 گفته :
این بک کلا نصب نمیشه کلا اررومیده من نصب کردم اررو سرور داد
آخرین ارسال های تالار گفتمان
هر آنچه که در انجمن در حال رخ داد است !

http://s5.picofile.com/file/8163780926/l01dqhbaz2x00hwqk4q6.png

باگ sql زمانی رخ می دهد که برنامه نویس داده های ورودی را بدون کنترل مورد پردازش قرار دهد. نفوذگران از همین موضوع استفاده کرده و کنترل کامل سرور و یا تمامی سرور های موجود در آن شبکه را تحت کنترل خود در می آورند. پس هرکدی که از ورودی های کاربر برای جستجو در بانک اطلاعاتی بدون بررسی استفاده شود احتمال یک حمله موسوم به SQLI را دارد.
حال خواه این ورودی از طریق URL باشد( متد GET). خواه از طریق ارسال پست(متد POST).

در زیر شما کد مستعد SQLI را مشاهده می نمایید:

 

<?php
$q="select * from TABLE where id=".$_GET['id'];
$q1=mysql_query($q);
?>

 

همانطور که مشاهده می کنید این کد همان ورودی که از URL را دریافت میکند به طور مستقیم مورد پردازش قرار می دهد و این یعنی نفوذگر می تواندبه طور مستقیم دستورات خود را وارد نماید تا توسط سرور مورد پردازش قرار گیرد. این یعنی فاجعه! زیرا باگ SQLI یکی از خطرناک ترین باگهاست.

اگر نفوذگر کد زیر را به انتهای URL خود وارد کند چه اتفاقی می افتد؟؟؟

 

union select user from admin

بوسیله دستور union دو دستور select را به هم اضاف می کند و باعث می شود یوزرهایی که در جدول ادمین قرار دارند را مشاهده کند!

 

روش های جلوگیری از حمله:

1- روش های رایج و معمول: در خیلی از مواقع تاکتیکی که خیلی از دوستان برنامه نویس برای جلوگیری از حمله انجام می دهند، تاکتیک چک کردن ورودی و تبدیل آن به کاراکتر های دیگه!

مثلا تبدیل کدهای ورودی به نوع int و گرفتن ورودی به صورت عددی... و یا اضافه کردن یک کاراکتر / به ورودی و...

کد زیر را در نظر داشته باشید:

 

 <?php
$q="select * from TABLE where id=".$_GET['id'];
$q1=mysql_query($q);
?> 

 

روشهای معمول ایمن سازی به صورت زیر است:

1-استفاده از تابع int:
کد اصلاح شده با این متد:

 

 <?php
$id=(int)$_GET['id'];
$q="select * from TABLE where id='".$id."'";
$q1=mysql_query($q);
?> 

 

2- اعتبار سنجی ورودی به وسیله تابع ctype_digit() که تقریبا کار بالا رو انجام میده:
کد اصلاح شده با این متد:

 

 <?php
$id=$_GET['id'];
if(isset($id) AND ctype_digit($id)){
$q="select * from TABLE where id='".$id."'";
$q1=mysql_query($q);
}
?> 

 

 

3- استفاده از escape
کد اصلاح شده با این متد:

 

 <?php
$id=$_GET['id'];
$q="select * from TABLE where id='".mysql_real_escape_string($id)."'";
$q1=mysql_query($q);
?> 

 

این کد تمامی ورودی های مضر را خنثی می کنه!
متد escape روش های دیگه هم داره که خیلی ایمن نیستند اما من بخاطر اینکه تاپیک جامع هست آنها را می آورم:
استفاده از تابع addslash , str_replace:

 

 <?php
$id=$_GET['id'];
$q="select * from TABLE where id='".addslashes($id)."'";
$q1=mysql_query($q);
?> 

 

این روش یک / به کد ورودی اضفه می کنه...

و برای str_replace:

 

 <?php
$id=$_GET['id'];
$q="select * from TABLE where id='".str_replace("'","''",$id)."'";
$q1=mysql_query($q);
?> 

 

همانطور که می دانید این یک تابع تبدیل هست و آرگومنت اول را به آرگومنت دوم تبدیل می کنه...


 

 


طراحی چت روم

دسته : نکات و دستورات چت روم , ,
می پسندم نمی پسندم
تاریخ : جمعه 24 / 10 / 1393 ساعت : 16:9
نظرات
نظرات مرتبط با این پست
برای دیدن نظرات بیشتر روی شماره صفحات در زیر کلیک کنید
نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه:







درباره سایت
About Us

سلام دوستان گلم خوش امدید لحظات خوشی را برای شما ارزومند هستیم امیدوارم از مطالب ما استفادهی کافی رو برده باشید
دسترسی آسان
Easy Access
آمار سایت
Statistics
تعداد مطالب : 2046
تعداد نظرات : 3906
تعداد کاربران : 1645
امروز :
تعداد اعضای سایت : 1645
تعداد اعضای آنلاین : 6
بازدید امروز : 15377
بازدید دیروز : 12637
بازدید هفته : 36356
بازدید ماه : 193628
بازدید سال : 1365592
بازدید کل : 11124672
نویسندگان
Author
امکانات وب
Codes

خبرنامه وب سایت: