انجمن تیم امنیتی ایران سایبر

Security بررسی نوع خاص حملات Sql Injection

شروع موضوع توسط 0x3a ‏26/10/16 در انجمن Database Hacking

  1. لطفا فایل های خود را جهت ماندگاری در انجمن اپلود کنید در صورت مشاهده لینک اپلود خروجی , تاپیک حذف خواهد شد .
    بستن اطلاعیه
بستن اطلاعیه


درود مهمان گرامي؛

مهمان گرامي، براي مشاهده تالار با امکانات کامل ميبايست از طريق ايــن ليـــنک ثبت نام کنيد .

حامی مسابقات و برگزار کننده دوره های پیشرفته ارزیابی امنیت برای سازمان ها فتح پرچم (CTF)
  1. 0x3a
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏22/6/15
    ارسال ها:
    395
    تشکر شده:
    2,182
    جنسیت:
    محل سکونت:
    ایران ، خوزستان ، اهواز
    Name:
    Taha
    Main os:
    Windows
    به نام خدا
    موضوع بحث از نام تاپیک مشخص هست اما زیاد خاص نیست اما جدیدا زیاد برخورد کردم گفتم شما هم آشنا بشید
    فایل ویدیو پیوست شد
     

    پیوست ها:

    • Sqli.rar
      اندازه فایل:
      2.7 MB
      دانلودها:
      69
    rohan، R.M، Mr_Security و 6 نفر دیگر از این ارسال تشکر کرده اند.
  2. 0x3a
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏22/6/15
    ارسال ها:
    395
    تشکر شده:
    2,182
    جنسیت:
    محل سکونت:
    ایران ، خوزستان ، اهواز
    Name:
    Taha
    Main os:
    Windows
    تصمیم بر این شد روش های مفید در زمینه WAF Bypassing در اختیار عزیزان قرار بدهیم

    #1
    در بعضی اوقات هنگام انجام حملات SQLi موقعی که می خواهید Variable ها را تست بزنید ممکن هست با کاراکتر ' ( تک کوتیشین ) با Error یا تغییر در صفحه مواجه نشوید که این جلوگیری از تغییرات توسط WAF انجام می شود. برای جلوگیری می توانید از کاراکترهای دیگر مانند :
    کد:
    "
    /
    \
    .
    
    که می توانید تغییرات را مشاهده کنید.

    یاعلی 53.gif
     
    jafar_fayyaz، rohan، R.M و 6 نفر دیگر از این ارسال تشکر کرده اند.
  3. 0x3a
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏22/6/15
    ارسال ها:
    395
    تشکر شده:
    2,182
    جنسیت:
    محل سکونت:
    ایران ، خوزستان ، اهواز
    Name:
    Taha
    Main os:
    Windows
    #2
    در بعضی مواقع WAF هنگام اینجکت IP شما را بلاک می کند و شما را از ادامه حمله باز می دارد
    راهی که در حدود 98% مواقع جواب داده ( به جز Incapsula WAF ) به شرح زیر است :
    ابتدا با برنامه های مختلف یا افزونه ها IP خود را Hide کنید ( یا از فیلترشکن یا VPS استفاده کنید ) سپس در قسمت Code Comment به جای استفاده از -- از :
    کد:
    -- -
    استفاده کنید. این روش ها تجربی هست پس ممکن هست در مواردی هم کار نکند پس ...

    یا علی53.gif
     
    rohan، Mr_Security، R.M و 4 نفر دیگر از این ارسال تشکر کرده اند.
  4. 0x3a
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏22/6/15
    ارسال ها:
    395
    تشکر شده:
    2,182
    جنسیت:
    محل سکونت:
    ایران ، خوزستان ، اهواز
    Name:
    Taha
    Main os:
    Windows
    #3
    اکثر دوستانی که بر روی حملات SQL Injection سرمایه گذاری می کنند با زبان SQL آشنایی ندارند :D ( حتی خودم ...! )
    یعنی زمانی که WAF دستور Order By را فیلتر کرد ناگزیر به سراغ Target های بعدی می روند.
    در بسیاری از مواقع WAF نسبت به دستورات حساسیت نشان می دهد و خاصیت Case Sensitive دیگر جواب نمی دهد در این مواقع باید از خاصیت جایگزینی دستورات استفاده کرد یعنی به جای استفاده از دستور Order By از :
    کد:
    Group By
    توضیحات کامل دادم مشکلی پیش نیاد
     
    rohan، jafar_fayyaz، Mr_Security و 3 نفر دیگر از این ارسال تشکر کرده اند.
  5. 0x3a
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏22/6/15
    ارسال ها:
    395
    تشکر شده:
    2,182
    جنسیت:
    محل سکونت:
    ایران ، خوزستان ، اهواز
    Name:
    Taha
    Main os:
    Windows
    #4
    سلام دوستان در بعضی مواقع WAF به فاصله گذاری Command ها گیر می دهد ( یعنی به خود Command ها کاری ندارد ) و در نتیجه هنگامی که فاصله نباشد Command ها اجرا نخواهند شد پس می توان فاصله بین Command ها را به Hexadecimal تبدیل کرد و به صورت زیر به کار برد :
    کد:
    WWW.Site.com/Vul.php?vul=1%A0Order%A0By%A01--
    
    که A0% همان Space هست که به صورت HexaDecimal هست و WAF تشخیص نخواهد داد

    ایام به کام 53.gif
     
    rohan، Mr_Security، jafar_fayyaz و 4 نفر دیگر از این ارسال تشکر کرده اند.
  6. 0x3a
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏22/6/15
    ارسال ها:
    395
    تشکر شده:
    2,182
    جنسیت:
    محل سکونت:
    ایران ، خوزستان ، اهواز
    Name:
    Taha
    Main os:
    Windows
    #5
    در بعضی موارد بعد از استفاده از دستور Union Select هیچ چیزی نشان داده نمی شود :
    کد:
    www.site.com/vul.php?id=-1+Union+Select+1,2,3,4,5--
    هیچ چیز نشان داده نمی شود
    تنها راه این است به صورت تک تک یک متن ( مثلا ICG ) را به جای هر یک از اعداد بالا قرار دهید سپس Source را نگاه کرده و با Ctrl + F دنبال کلمه ICG بگردید زمانی که ICG به جای Table آسیب پذیر قرار بگیرد در Source نمایش داده می شود.

    کد:
    www.site.com/vul.php?id=-1+Union+Select+ICG,2,3,4,5--
    www.site.com/vul.php?id=-1+Union+Select+1,ICG,3,4,5--
    www.site.com/vul.php?id=-1+Union+Select+1,2,ICG,4,5--
    www.site.com/vul.php?id=-1+Union+Select+1,2,3,ICG,5--
    www.site.com/vul.php?id=-1+Union+Select+1,2,3,4,ICG--
    
    هر کدام که آسیب پذیر باشد متن مورد نظر در Source به نمایش در می آید.
    موفق باشید 53.gif
     
    rohan، Mr_Security، jafar_fayyaz و 3 نفر دیگر از این ارسال تشکر کرده اند.
  7. 0x3a
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏22/6/15
    ارسال ها:
    395
    تشکر شده:
    2,182
    جنسیت:
    محل سکونت:
    ایران ، خوزستان ، اهواز
    Name:
    Taha
    Main os:
    Windows
    #6
    پیرامون جلسه قبل اگر Ascii Text جواب نداد می توانید از Binary استفاده کنید
    به این صورت که Text مورد نظر را به Binary Code تبدیل کنید و بدین صورت استفاده کنید :
    کد:
    www.site.com/vul.php?id=-1+Union+Select+0b010010010100001101000111,2,3,4,5--
    www.site.com/vul.php?id=-1+Union+Select+1,0b010010010100001101000111,3,4,5--
    www.site.com/vul.php?id=-1+Union+Select+1,2,0b010010010100001101000111,4,5--
    www.site.com/vul.php?id=-1+Union+Select+1,2,3,0b010010010100001101000111,5--
    www.site.com/vul.php?id=-1+Union+Select+1,2,3,4,0b010010010100001101000111--
    که اگر توجه کنید می بینید همانطور که برای استفاده از Hexadecimal از 0x استفاده می کنیم در Binary Code هم از 0b استفاده می کنیم و مراحل را مانند جلسه قبل پیش می بریم

    موفق باشید
    53.gif
     
    rohan، Mr_Security، jafar_fayyaz و 4 نفر دیگر از این ارسال تشکر کرده اند.
  8. 0x3a
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏22/6/15
    ارسال ها:
    395
    تشکر شده:
    2,182
    جنسیت:
    محل سکونت:
    ایران ، خوزستان ، اهواز
    Name:
    Taha
    Main os:
    Windows
    #7
    معرفی Raptor WAF : این WAF در تاریخ 12 نوامبر 2015 توسط شخصی به نام Antonio Costa که از محققین و سخنرانان کنفرانس های OWASP و YSTS هست به زبان C ساخته شده است. زبان C موجب فزایندگی قدرت این WAF شده است.
    این WAF در تاریخ 29 اکتبر 2016 توسط PacketStormSecurity عرضه گردید.
    ویژگی های این WAF :
    • مهار کردن حملات مبتنی بر SQL ، XSS و Path Teraversals
    • Block کردن IP های دلخواه
    • پشتیبانی از IPv4 و IPv6
    آموزش نصب :
    توجه :

    1. نیازمند کامپایلر Gcc و فایل Make
    2. ورژن فعلی فقط بر روی سرور های لینوکس قابل اجرا می باشد
    3. در ورژن Beta امکان Report Bug نیز وجود دارد
    برای نصب کدهای زیر را به ترتیب وارد کنید :
    کد:
    wget git clone https://github.com/CoolerVoid/raptor waf
    cd raptor waf; make; bin/Raptor
    تصویری مانند تصویر زیر نمایان خواهد شد :
    [​IMG]

    راهنما :

    1. اگر قصد بلاک کردن IP خاصی را دارید می توانید از مسیر raptor_waf-0.3\config\blacklist_ip.txt یک یا چند IP را به این فایل اضافه کنید تا Block شوند
    2. با دقت در برنامه نویسی این WAF (match_list_request.txt) متوجه خواهید شد که این WAF تمام Request هایی که مشخص کرده است را Block می کند به عنوان مثال هر صفحه ای با اسامی r57.php و c99.php ( اولین ضعف ) را بلاک می کند و Request های برنامه های Sqlmap ، Httrack و Nikto را Block کرده است ( دومین ضعف ( Request های برنامه Havij و سایر را Block نکرده است )) ولی از آن جایی که Open Source هست خودتان می توانید اضافه کنید
    3. این برنامه تقریبا 501 تست Payload های مختلف XSS و SQLi را با موفقیت رد کرده است و تمامی دستورات Union , Select , Load_File ، @@version و Eval ، Script ، Onstart ، Onerror و... را Block کرده است

    دوستان عزیز امیدوارم از این تحقیق تمامی استفاده های لازم را برده باشید 53.gif
    سعی کنیم جز کوچکی از یک چیز بزرگ باشیم تا جز بزرگ از یک چیز بزرگ ( مولا علی (ع) )

    خستگی تایپ را با تشکر هایتان از ما بگیرید
    یا علی 53.gif

     

    پیوست ها:

    F4LL3N، rohan، MOHAMAD-NOFOZI و 3 نفر دیگر از این ارسال تشکر کرده اند.
  9. 0x3a
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏22/6/15
    ارسال ها:
    395
    تشکر شده:
    2,182
    جنسیت:
    محل سکونت:
    ایران ، خوزستان ، اهواز
    Name:
    Taha
    Main os:
    Windows
    #8
    هنگام استفاده از دستور Union Select مشاهده می شود که هیچ چیز نمایش داده نمی شود ( مانند تاپیک 5# ) یکی از روش هایی که مورد استفاده قرار می گیرد به صورت زیر است :
    به جای استفاده از :
    کد:
    www.site.com/vul.php?id=1+Union+Select+1,2,3,4,5,6--
    از :
    کد:
    www.site.com/vul.php?id=1+Union+Select+"1","2","3","4","5","6"--
    استفاده باید کرد. این دو دستور تقریبا با هم تفاوتی ندارند ! اما بسیاری از WAF ها این موضوع را ندیده می گیرند.
     
    JOK3R، Mr_Security، F4LL3N و 2 نفر دیگر از این ارسال تشکر کرده اند.
  10. encrypt
    کاربرتازه وارد

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏2/3/17
    ارسال ها:
    11
    تشکر شده:
    3
    جنسیت:
    Name:
    ramin
    Main os:
    Linux
    دوستان ممنون میشم یكی انو برام انجیكت كنه‌
    برای نمایش این قسمت باید وارد سیستم شوید یا اینکه ثبت نام نمایید
     
  11. mownten
    کاربرتازه وارد

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏20/7/18
    ارسال ها:
    2
    تشکر شده:
    3
    جنسیت:
    Name:
    Sepehr
    Main os:
    Windows
    9#
    هنگام استفاده از دستور Union Select میتوان بجای استفاده از عدد از تعداد Null هم استفاده نمود.
    نمونه کد:
    کد:
    www.site.com/vul.php?id=1+UNION+ALL+SELECT+null,null,null,null,null,null--+-
     
    blackops و Unkn0wn از این پست تشکر کرده اند.
بارگذاری...
به انجمن تخصصی امنیت ایران سایبر خوش آمدید . برای مشاهده تمامی تالار ها و امکانات ثبت نام کنید .