تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 10 از 10

نام تاپيک: جلوگیری از sql injection

  1. #1
    حـــــرفـه ای MrGee's Avatar
    تاريخ عضويت
    May 2008
    محل سكونت
    کرج
    پست ها
    3,693

    پيش فرض جلوگیری از sql injection

    سلام دوستان

    من یه فایل php دارم که خیلی ساده‌اس و از چند خط تشکیل شده.
    تو یکی از خطها یه ورودی رو به این شکل می گیره :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و یه فایل هم به این شکل درست می کنه:
     
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا می خواستم ببینم که چه کدی رو باید به فایل اضافه کنم تا مشکلی پیش نیاد
    ممنون...........

  2. #2
    اگه نباشه جاش خالی می مونه L u K e !'s Avatar
    تاريخ عضويت
    Mar 2009
    محل سكونت
    Qazvin
    پست ها
    441

    پيش فرض

    خوب اين چه ربطي به Sql injection‌داره ؟
    من كه دستور Sql اي نمي بينم

  3. #3
    حـــــرفـه ای MrGee's Avatar
    تاريخ عضويت
    May 2008
    محل سكونت
    کرج
    پست ها
    3,693

    پيش فرض

    منظورم روش های مشابه بود.

    مثلا ../.. که بره به دو دایرکتوری بالاتر و دستور های مشابه که می تونه خطرناک باشه

  4. #4
    آخر فروم باز MaSoUd555's Avatar
    تاريخ عضويت
    Jul 2009
    محل سكونت
    تهران
    پست ها
    1,117

    پيش فرض

    خب اینکه هیچکدوم تابع Include نداره

    کلا باعث و بانیه باگ های LFI و RFI دو تا تابع هستشrequire و include

  5. #5
    حـــــرفـه ای neopersia's Avatar
    تاريخ عضويت
    Oct 2006
    پست ها
    3,580

    پيش فرض

    سلام دوستان

    من یه فایل php دارم که خیلی ساده‌اس و از چند خط تشکیل شده.
    تو یکی از خطها یه ورودی رو به این شکل می گیره :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و یه فایل هم به این شکل درست می کنه:
     
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا می خواستم ببینم که چه کدی رو باید به فایل اضافه کنم تا مشکلی پیش نیاد
    ممنون...........
    این کد زیاد خطر ناک نیست ولی بدون مشکل هم نیست!

    مشکل اولش اینه که با آدرس دهی از پوشه web/ توی سرور لینوکس مشکل پیدا میکنید. چون مبنای آدرس رو دایرکتوری ریشه لینوکس در نظر میگیره نه دایرکتوری ریشه حساب کاربری شما!

    مشکل بعدیش هم این هست که طرف میتونه هر فایل txt رو که شما توی سرور بتونید با php بهش دسترسی داشته باشید با دستکاری متغیر توی آدرس خراب کنه!

    باید متغیری رو که از آدرس میگیره چک کنید تا مقدارش معتبر باشه بعد به تابع بدید همین!
    برای مثال از این روش میتونید استفاده کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  6. این کاربر از neopersia بخاطر این مطلب مفید تشکر کرده است


  7. #6
    داره خودمونی میشه tehro0n's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    یادم نیست!
    پست ها
    40

    پيش فرض

    این کد زیاد خطر ناک نیست ولی بدون مشکل هم نیست!

    مشکل اولش اینه که با آدرس دهی از پوشه web/ توی سرور لینوکس مشکل پیدا میکنید. چون مبنای آدرس رو دایرکتوری ریشه لینوکس در نظر میگیره نه دایرکتوری ریشه حساب کاربری شما!

    مشکل بعدیش هم این هست که طرف میتونه هر فایل txt رو که شما توی سرور بتونید با php بهش دسترسی داشته باشید با دستکاری متغیر توی آدرس خراب کنه!

    باید متغیری رو که از آدرس میگیره چک کنید تا مقدارش معتبر باشه بعد به تابع بدید همین!
    برای مثال از این روش میتونید استفاده کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این @ ^ رو میشه یه توضیح کوتاه بدی که کاراییشون چیه؟ مدل های مختلفی دیدم و چیزایی هم فهمیدم اما نه کامل

  8. #7
    حـــــرفـه ای neopersia's Avatar
    تاريخ عضويت
    Oct 2006
    پست ها
    3,580

    پيش فرض

    @ دلیمیتر هست و فرقی نمیکنه چه کاراکتری باشه فقط باید یک علامت باشه که اول و آخر الگو قرار بگیره
    ^ هم جزو پترن رجکس هست که با اول متن مورد جستجو مچ میشه. یعنی فقط اگر الگو رو در اول متن پیدا کنه تابع true بر میگردونه

  9. #8
    داره خودمونی میشه tehro0n's Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    یادم نیست!
    پست ها
    40

    پيش فرض

    @ دلیمیتر هست و فرقی نمیکنه چه کاراکتری باشه فقط باید یک علامت باشه که اول و آخر الگو قرار بگیره
    ^ هم جزو پترن رجکس هست که با اول متن مورد جستجو مچ میشه. یعنی فقط اگر الگو رو در اول متن پیدا کنه تابع true بر میگردونه
    پس اینی که نوشتی در کل اینطوری میشه که به جای /web/:
    اگر اول هر کاریکتری که بود و سپس حروف a تا z حروف کوچک یا بزرگ یا . یا _ و در آخر هر کاراکتری که بود آن را نمایش دهد؟
    نقطه هم حتما باید اسلش قبل و بعد داشته باشه ؟ /./

    اگه نکته دیگه هم هست بگی خوشحال میشم
    مثلا علامتای دیگه که به کار برده نشده

  10. #9
    حـــــرفـه ای neopersia's Avatar
    تاريخ عضويت
    Oct 2006
    پست ها
    3,580

    پيش فرض

    پس اینی که نوشتی در کل اینطوری میشه که به جای /web/:
    نه این فقط متغیر Name رو از آدرس چک میکنه که کاراکتر غیر مجاز داخلش نباشه و یک نام پوشه معتبر باشه

    اگر اول هر کاریکتری که بود و سپس حروف a تا z حروف کوچک یا بزرگ یا . یا _ و در آخر هر کاراکتری که بود آن را نمایش دهد؟
    بله

    نقطه هم حتما باید اسلش قبل و بعد داشته باشه ؟ /./
    در اینجا بله چون نقطه در رجکس معنی خاصی داره ولی من انجا منظورم خود نقطه بود باید قبلش اسلش قرار میدادم
    البته بک اسلش فقط قبل از نقطه هست اونی که بعدش گذاشتم برای دش بود که البته فکر میکنم بدون اون اسلش هم کار کنه اما من عادت دارم که از اسلش قبلش استفاده میکنم


    اگه نکته دیگه هم هست بگی خوشحال میشم
    مثلا علامتای دیگه که به کار برده نشده
    بله تعداد بسیار زیادی از علامتهای دیگه هم هست که در این الگو به کار برده نشده!
    این فهرستش هست میتونید مطالعه کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by neopersia; 30-07-2010 at 15:00.

  11. 2 کاربر از neopersia بخاطر این مطلب مفید تشکر کرده اند


  12. #10
    در آغاز فعالیت
    تاريخ عضويت
    May 2013
    محل سكونت
    تهران - اندیشه فاز 1
    پست ها
    2

    پيش فرض

    چند تا راه کار می خواستم برای جلوگیری از SQL Injection - چطور میشه جلوی نرم افزارهای مثل هویج و غیره رو بست . بخدا این احمق های بیسواد امان ما رو بریدن با این SQL Injection

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •