برگزیده های پرشین تولز

sqlتزریق

hmsn

کاربر تازه وارد
تاریخ عضویت
17 آگوست 2006
نوشته‌ها
196
لایک‌ها
0
سن
37
محل سکونت
تو يه خونمون
سلام خدمت همه دوستای خوبم تویه pt
من می خواستم که اگه بشه یه مقدار اطلاعات درباره این روش بدست بیارم(تزریق sql) :happy: حالا از دوستان اگه کسی اطلاعاتی داره ا مقاله دار یا هر چیزی اینجا بذاره:blush:
ممنون از همه :eek:
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
منظورت sql inject هست نه
ببین چیز خاصی نیست معمولا با استفاده از دادن ' میشود اطلاعات رو با or اضافه داد بیشتر از دستور های شبیه union استفاده میشه
در صورت خوب دونستن دستورات دستورات sql هست حتی باش فایل هم میشه Terminate کرد روی هاست
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
فرض كن چنين query داري :

کد:
"INSERT INTO students (name) VALUES ('$_POST[student_name]')"

كاربر در ورودي فرم student_name اينو وارد ميكنه :

کد:
x'); DELETE FROM students; INSERT INTO students (table_name) VALUES ('y.

نتيجتاً query اول ميشه اين :

کد:
INSERT INTO students (name) VALUES ('x'); DELETE FROM students; INSERT INTO students (name) VALUES ('y')

بقيه اش ديگه مشخص هست
 

hmsn

کاربر تازه وارد
تاریخ عضویت
17 آگوست 2006
نوشته‌ها
196
لایک‌ها
0
سن
37
محل سکونت
تو يه خونمون
ببخشید آقا حامد من منظورتون رو از Terminate نفهمیدم اگه می شه یکم بیشتر بگین
از شماهم ممنون اقای firebird
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
گفتم باید دستورات sql رو خوب بدونی دستوری به نام terminate که مقدار رو میدیم و INTO OUTFILE 'shell.php'
که مقدار رو میریزه توی فایل
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
روش جلوگیریش چیه؟
همون htmlspecialchars کافیه؟
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
نه یه فانکشن بنویس که ' " ; > < / \ رو برداره از روی ارسال
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
راههاي مختلفي هست يكي از اين راهها mysql_real_escape_string هست
 

hmsn

کاربر تازه وارد
تاریخ عضویت
17 آگوست 2006
نوشته‌ها
196
لایک‌ها
0
سن
37
محل سکونت
تو يه خونمون
اینم 4تا راه برای مقابله که اینجا گفته
۱- محدود کردن سطح دسترسی کاربری که با آن اطلاعات وب را برای کاربر از بانک اطلاعاتی استخراج مینماید، بدین منظور بهتر است به چنین نام کاربری، تنها سطح دسترسی SELECT و INSERT برای جداولی که به چنین سطح اجرای دستوراتی نیاز دارند داده شود.
۲- با استفاده از دستور Replace مقادیر مربوط به کوتیشن ‘ را پیش از ارسال مقادیر دریافت شده از طرف کاربر بر روی سرور، از جملات مربوطه حذف نماییم.
۳- کلمات کلیدی و معنادار برای SQL مانند: Drop, Delete, Update و – را از ورودی های دریافت شده از کاربر حذف نماییم.
۴- طول پارامتر ورودی توسط کاربر را محدود نماییم.
 

hmsn

کاربر تازه وارد
تاریخ عضویت
17 آگوست 2006
نوشته‌ها
196
لایک‌ها
0
سن
37
محل سکونت
تو يه خونمون
حالا یه سوال دیگه
مثلا من می خوام از این روش اتوماسیون دانشگاهمون رو هک کنم بعد اونا می تونن منو پیدا کنن؟
آخه یه بندا خدایی می گفت این sql ها(sql200 ) یه استمپ برا هر کاری که می شه می زنه و مشخص می کنه کی بود !
حالا این درسته ؟
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
اینم 4تا راه برای مقابله که اینجا گفته
۱- محدود کردن سطح دسترسی کاربری که با آن اطلاعات وب را برای کاربر از بانک اطلاعاتی استخراج مینماید، بدین منظور بهتر است به چنین نام کاربری، تنها سطح دسترسی SELECT و INSERT برای جداولی که به چنین سطح اجرای دستوراتی نیاز دارند داده شود.
۲- با استفاده از دستور Replace مقادیر مربوط به کوتیشن ‘ را پیش از ارسال مقادیر دریافت شده از طرف کاربر بر روی سرور، از جملات مربوطه حذف نماییم.
۳- کلمات کلیدی و معنادار برای SQL مانند: Drop, Delete, Update و – را از ورودی های دریافت شده از کاربر حذف نماییم.
۴- طول پارامتر ورودی توسط کاربر را محدود نماییم.
آخه اینا که میگی همه ممکنه مشکل ساز بشن!!
ممکنه لازم باشه یوزر تو مثلا ادیتور کامنت از یه کلمه مثلا delet استفاده کنه!!
راه استانداردی نداره؟!
 

hmsn

کاربر تازه وارد
تاریخ عضویت
17 آگوست 2006
نوشته‌ها
196
لایک‌ها
0
سن
37
محل سکونت
تو يه خونمون
سلام دوستا اگه می شه
با فکر همین تزریق یه نگاهی بندازین ببنید یه راهی هست یا نه
http://sess.shirazu.ac.ir/sess/login.aspx
حتما همون اول نمی خوام برم به جای ادمین بشینم فقط یه کم
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39

Mehdi

مدیر بازنشسته
تاریخ عضویت
1 آگوست 2004
نوشته‌ها
5,602
لایک‌ها
49
محل سکونت
Anywhere
تااونجا که من میدونم مای اسکیوال خودش این کاراکترهای خطرناک رو تبدیل میکنه !
ندیدم تو مای اسکیو ال اینجکشن صورت بگیره .
درضمن برا دیلت و نمیدونم اینسرت و این کارا فکر نمیکنید لازم باشه که اسم فیلد ها و تیبل ها لازمه ؟
این مبحث خیلی خیلی قدیمی شده , یکی از دوستام هم یه پی دی اف حرفه ای دراین مورد نوشته بود , نمیدونم کجا گزاشتم , اگه پیدا کردم میزارم
smoke.gif
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
چرا توی php هم میشه فیلتر نمی کنه
ندیدی باگ های sql inject روی phpbb-mybb فراووننه
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
تااونجا که من میدونم مای اسکیوال خودش این کاراکترهای خطرناک رو تبدیل میکنه !
ندیدم تو مای اسکیو ال اینجکشن صورت بگیره .
درضمن برا دیلت و نمیدونم اینسرت و این کارا فکر نمیکنید لازم باشه که اسم فیلد ها و تیبل ها لازمه ؟
این مبحث خیلی خیلی قدیمی شده , یکی از دوستام هم یه پی دی اف حرفه ای دراین مورد نوشته بود , نمیدونم کجا گزاشتم , اگه پیدا کردم میزارم
smoke.gif
من هم به هوای اینکه خودش اینکار می کنه کنترلی روش نکردم !‌ سیستم پکید :D یعنی هک شد
از اون موقع به بعد عادت کردم خودم کارش رو انجام بدم نه اینکه از بقیه برنامه های انتظار داشته باشم
 
بالا