آژانس هواپیمایی
pop up

درخواست کمک از اساتید برای mysql query

شروع موضوع توسط Simple Clean ‏11 جولای 2007 در انجمن PHP

  1. Simple Clean

    Simple Clean کاربر تازه وارد

    تاریخ عضویت:
    ‏16 آگوست 2005
    نوشته ها:
    283
    تشکر شده:
    2
    این تاپیک و من قبلا یه بار زدم توسط مدیر محترم (mehdi) حذف شد ...
    با توجه به این که تاپیک هیچ مشکلی نداره (چون واسه اطمینان یه کلمه هم بود ادیت کردم ) اصلا توقع ندارم بیام ببینم دسکاری شده !!!
    ----------------
    سلام
    من الان میتونم هر mysql query که بخوام با استفاده از sql injection در یک سایت اجرا کنم نام تعدادی از فیلدهای تبل mysql اون رو بلدم ولی نام تبل رو بلد نیستم اینجو اگه مثلا بخوام بزنم DROP TABLENAME نام تبل رو بلد نیستم و خلاصه هیچ کاری نمیتونم بکنم
    آیا QUERY از MYSQL وجود داره که بشه کاری کنم بدون اینکه نام تبل بخواد ؟
    یه سوال دیگه به جز علامت ; چه جوری میشه دو دستور جداگانه ی mysql رو در کنار هم داشت مثلا
    کد:
    SELECT * FROM XX WHERE ... ; DROP TABLE TABLENAME;
    
     
  2. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    شما که اینقدر واردی و هکری و از این حرفا به mysql بگو که لیست table ها رو بهت نشون بده دیگه :D ولی نکن این کارا رو. آخر عاقبت نداره.
     
  3. Simple Clean

    Simple Clean کاربر تازه وارد

    تاریخ عضویت:
    ‏16 آگوست 2005
    نوشته ها:
    283
    تشکر شده:
    2
    من هکر که نیستم
    واردم نیستم چون اگه بودم اینحا تاپیک نمیزدم( نمیدونم کحا چنین ادعایی کردم تو این تاپیک که فقط دو تا سوال پرسیدم ؟)
    ولی خوب اگه بگید بدون استفاده از php با چه کد ی میشه به mysql گفت ممنونت میشم
     
  4. Simple Clean

    Simple Clean کاربر تازه وارد

    تاریخ عضویت:
    ‏16 آگوست 2005
    نوشته ها:
    283
    تشکر شده:
    2
    اگه منظورت SHOW TABLES باشه این بعد نیاز به PHP داره که متغیر رو چاپ کنی
    قسمت دوم سوالمم اگه جواب بدید باز کارم میشه

     
  5. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    آخه سوالت خیلی سطح بالا بود ;) در مورد سوال دومت من فقط ; و سرخط رو میدونم. سوال اولت رو هم تا اونجایی که من خبر دارم راههای زیاد دیگه ای هست. اگه قوانین فوروم اجازه بده دوستان میان توضیح میدن.
     
  6. Simple Clean

    Simple Clean کاربر تازه وارد

    تاریخ عضویت:
    ‏16 آگوست 2005
    نوشته ها:
    283
    تشکر شده:
    2
    شما خودتون خواهشازحمتشو بکشین حتی اگه در حد اسمشم باشه روش که بگین خوبه
     
  7. boxilink
  8. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    48
    محل سکونت:
    Anywhere
    خروجی میتونی بگیری از نتایج ؟
    اگه بتونی خروجی بگیری , میشه اول لیست جدول هارو بدست اورد , از روی جدول ها جدول اطلاعات لاگین ادمین رو پیدا کرد , از رو اون فیلد هاشو بدست اورد , بعدش با یه کوئری یه یوزر و پس جدید بهش اختصاص داد .

    در غیر اینصورت انگار چراغ رو خاموش کردی , میخوای تو یه اتاق بزرگ دنبال یه خودکار بگردی (عجب مثالی) [​IMG]
     
  9. Simple Clean

    Simple Clean کاربر تازه وارد

    تاریخ عضویت:
    ‏16 آگوست 2005
    نوشته ها:
    283
    تشکر شده:
    2
    همونطور که تو پست 3 گفتم خروجی اگه منظور print باشه نه !!
    حالا یه چیز عجیب من فکر کنم اسم تبل رو هم بلد شدم و لی میدونید مشکل چیه ؟ اگه یه علامت ; و بخوام که هم SELECT رو انجام بده هم یه فرمان دیگه مثل DROP TABLE اررور MYSQL میده ... یعنی به این علامت ; حساسه البته امتحان کردم اگه همین علامت تو کامنت باشه یعنی #; یا /* ; اررور نمیده
     
  10. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    48
    محل سکونت:
    Anywhere
    خوب معلومه ارور میده , شما نمیتونی که سه چهار تا فرمان رو باهم انجام بدی , در ضمن وقتی میگی خروجی نمیده دستور سلکت بدرد نمیخوره , دستوری که بدردت میخوره , اینسرت هست که میتونی یه یوزر نیم جدید به دیتابیس اختصاص بدی , یا با دستور آپدیت پسورد رو ویرایش کنی !
     
  11. hidensoft

    hidensoft کاربر تازه وارد

    تاریخ عضویت:
    ‏5 ژانویه 2007
    نوشته ها:
    54
    تشکر شده:
    0
    سلام
    من هیچین کاری رو در MySQL 5.0.41 اجرا کردم. تیبل رو پاک کرد و یه warning نشون داد که فایده ای نداشت.
    دوستان من که از ورژن پایین تری از MySQL استفاده می کنند همشون گفتند که نمی شه و خطا در یافت می کردند.

    ولی این سوال برام پیش اومد
    در اکثر مواقع برنامه نویسان به دنبال کشف باگ و حفره های امنیتی برنامه هستند برای جلوگیری از نفوذ ولی اینطور که معلومه شما می خوای نفوذ کنی درسته ؟

    البته من در جایی روش مقابله با تزریق SQL رو خوندم اگه دوستان خواستند می تونم لینک منبع رو بدم.

    موفق باشید
     
  12. Behzad1984

    Behzad1984 کاربر تازه وارد

    تاریخ عضویت:
    ‏14 جولای 2007
    نوشته ها:
    13
    تشکر شده:
    0
    محل سکونت:
    Tehran, Iran
    خوشبختانه خالقین PHP آنقدر زرنگ بوده اند که مانع اجرای چندین Query با یک فراخوانی mysql_query شوند.

    امتحان کنید:
    PHP:
    mysql_query("SELECT 1; SELECT 2") or die(mysql_error());
    فرمی از SQL Injection که در PHP باید مراقب آن بود، به قسمت Where Clause از Query
    اضافه می شود، نه اینکه یک سمی کالن اضافه شود و یک Query دیگر در امتداد آن نوشته شود.
    بجز ; هم نمیتوان از کاراکتر دیگری برای نشان دادن انتهای دستورات SQL در MySQL استفاده کرد.
     
  13. Simple Clean

    Simple Clean کاربر تازه وارد

    تاریخ عضویت:
    ‏16 آگوست 2005
    نوشته ها:
    283
    تشکر شده:
    2
    پس اینجور که معلومه مام بی خیال شیم ؟ راه نداره ؟
     
  14. avajang.com .leftavajang.com.right
  15. Sirus-v

    Sirus-v کاربر تازه وارد

    تاریخ عضویت:
    ‏3 نوامبر 2006
    نوشته ها:
    45
    تشکر شده:
    0
    محل سکونت:
    Silent Hill
    اگه خروجی داشته باشی میتونی از دستور UNION استفاده کنی . با این می تونی تو PHP از 2 تا table دستور select رو اجرا کنی . البته حواست باشه که داده های که select می کنی باید از یک نوع باشند .
     
  16. Simple Clean

    Simple Clean کاربر تازه وارد

    تاریخ عضویت:
    ‏16 آگوست 2005
    نوشته ها:
    283
    تشکر شده:
    2
    این خیلی دستور محشری بود ولی اگه یه چیزی شبیه این واسه غیر از select باشه ؟؟؟