سلام دوستان توی این پست بخش اول از آموزش کامل هک سایت های دارای باگ SQL با استفاده از نرم افزار هویج را که قولش رو بهتون داده بودم قرار دادم این پست بخش اول از این آموزش هست که برای شما قرار میدهم و بخش های بعدی را در پست های بعد می نویسم .
نکته مهم : این مقاله فقط برای آموزش و هست و اینجانب هیچگونه مسئولیتی را در استفاده نادرست از این آموزش برعهده نمی گیرم و تمام مسئولیت استفاده نادرست از این آموزش بر عهده خود شماست .
اگر این آموزش مشکلی داشت با من در میان بگذارید
و هر مشکلی داشتید توی نظرات بگید
نرم افزار را می توانید از بخش نرم افزار های هک این وبلاگ دانلود کنید
نرم افزار هویج چیست ؟
هویج یک ابزار شناسایی و بهره برداری از آسیب پذیری تزریق SQL یا همان SQL Injection می باشد . هویج این امکان را فراهم میسازد تا تنها با چند کلیک تمام فرایند تست و بررسی وجود آسیب پذیری و همچنین اکسپلویت کردن آن را به صورت خودکار انجام دهید .
تزریق SQL یا SQL Injection چیست ؟
تزریق SQL یک آسیب پذیریر شایع در وب سایت ها می باشد که ناشی از عدم بررسی کافی بر روی ورودی های کاربر است . در این آسیب پزیری نفوذگر با تزریق جملاتی به دستور SQL نوشته شده توسط برنامه نویس می تواند نتیجه ی پرس و جو (query) را تغییر دهد و دستورات دلخواه خود را اجرا کند . به این کار Exploit کردن این آسیب پذیری می گویند که می تواند منجر به افشای اطلاعات حساس , حذف اطلاعات و یا حتی دسترسی کامل به سیستم شود .
چه کسی باید از نرم افزار هویج استفاده کند ؟
نرم افزار هویج برای متخصصان امنیت ، مدیران سایت ها ، برنامه نویسان تحت وب ، متخصصان تست نفوذ ، علاقه مندان به هک و امنیت و تمامی کسانی که مایلند امنیت سایت خود را مورد آزمایش قرار دهند قابل استفاده است .
شروع کار با نرم افزار :
شروع سریع استفاده از هویج :
نرم افزار هویج به گونه ای طراحی شده تا برای استفاده از آن به دانش فنی زیادی احتیاج نباشد در عین حال تنظیمات زیادی برای افراد حرفه ای دارد . برای شروع کار با نرم افزار هویج تنها به ادرس یک صفحه ی اسیب پذیر به SQL Injection احتیاج دارید
چگونه یک سایت اسیب پذیر به SQL Injection پیدا کنیم ؟ برای اینکار می توانید از برنامه های جستجوی آسیب پذیری و ابزارهای نوشته شده برای این کار و Google استفاده کنید . در ضمن لازم نیست تا از آسیب پذیر بودن صفحه مطمئن باشید زیرا نرم افزار هویج این کار را انجام می دهد .
آدرس صفحه ی آسیب پذیر را در قسمت Target وارد کنید و Analyze را کلیک کنید و منتظر نتیجه بمانید . هویج تمام کارها را به صورت اتوماتیک انجام می دهد و در صورت موفق شدن و با توجه به سایت مورد هدف امکاناتی از قبیل دریافت اطلاعات ، مشاهده ی دیتابیس و اطلاعات آنها ، خواندن فایلها و حتی اجرای دستورات بر روی سیستم هدف را در اختیار شما قرار می دهد .
چرا باید آدرس صفحه ی ورودی به شکل
http://www.target.com/index.asp?id=123
باشد ؟
بدلیل آنکه صفحه ی آسیب پذیر حداقل باید یک ورودی داشته باشد تا برنامه بتواند عمل تزریق (Injection) را در آن انجام دهد
ذخیره و بازیابی اهداف
برای سهولت و استفاده از برنامه و سرعت بخشیدن به روند تزریق در اهداف خود می توانید در هر مرحله از تزریق ، تمام کار انجام شده را ذخیره کنید تا بعدا بتوانید ادامه ی کار را دنبال کنید و نیازی به تکرار آن از اول نداشته باشید .
برای ذخیره ی یک پروژه بعد از انجام تزریق بر روی save در زیر Anahyze کلیک کرده و یک فایل برای ذخیره سازی انتخاب کنید .
برای بازخوانی مجدد کافی است تا از گزینه ی Load استفاده کنید تا کل پروژه در همان مرحله که قبلا ذخیره کرده بودید بازخوانی شود و بتوانید کار را ادامه دهید .
دریافت اطلاعات (Info) :
بعد از اینکه عمل Analyze بر روی هدف مورد نظر به اتمام رسید در صورت موفق بودن تزریق گزینه ی Info در بالای برنامه فعال می شود . با استفاده از این گزینه می توانید اطلاعاتی مانند ورژن سرور دیتابیس سایت آسیب پذیر ، نام کاربری ، نام دیتابیس و . . . را مشاهده کنید .
برای اینکار بر روی Info کلیک کرده تا صفحه ی مورد نظر نمایش داده شود سپس بر روی Get کلیک کنید تا اطلاعات دریافت شوند . با استفاده از گزینه Save می توانید اطلاعات بدست آمده را ذخیره کنید .
استخراج اطلاعات جدول و دیتابیس ها
با استفاده از منوی Tables در بالای برنامه شما می توانید اطلاعات جداول و ستون های دیتابیس سایت هدف را بدست آورید . برای اینکار بر روی منوی Tables کلیک کنید تا صفحه ی مربوطه نمایش داده شود . در پنجره ی سمت چپ دیتابیس ها و جداول آنها نمایش داده می شود و در پنجره ی سمت راست اطلاعات جداول نمایش داده می شود . پس از تزریق در سایت هدف دیتابیس پیش فرض سایت در پنجره ی سمت راست انتخاب می شود . برای دریافت سایر دیتابیس ها بر روی Get DBs کلیک کنید .
توجه : ممکن است کاربر جاری دیتابیس به بعضی از دیتابیس ها دسترسی نداشته باشد!
برای مشاهده ی جداول دیتابیس ها دیتابیس مورد نظر خود را از لیست سمت چپ انتخاب کرده و تیک بزنید و بر روی Get Tables کلیک کنید . جداول در زیر دیتابیس نمایش داده می شوند .
برای دریافت ستون های جداول ابتدا جداول مورد نظر خود را انتخاب کرده و سپس بر روی Get Columns کلیک کنید .
برای دریافت اطلاعات از داخل جداول ستون هایی را که مایلید اطلاعات آنها استخراج شود را انتخاب کنید و بر روی Get Data کلیک کنید .
توجه : ممکن است کاربر جاری اجازه ی خواندن اطلاعات را نداشته باشد .
اعمال فیلتر بر روی دریافت اطلاعات :
گاهی اوقات است که شما به دنبال اطلاعاتی خاص در دیتابیس هستید در این مواقع می توانید از فیلتر استفاده کنید تا زودتر به نتیجه ی مورد نظر خود برسید .
برای اعمال فیلتر در دریافت اطلاعات بر روی علامت فلش کنار Get Data کلیک کنید تا منوی آن باز شود سپس Filter را انتخاب کنید و شرط مد نظرخود را وارد کنید . حالا Get Data را کلیک کنید تا اطلاعات مطابق شرط شما دریافت شوند .
برای مثال اگر می خواهید رکوردی را که ستون Username آن Admin است را دریافت کنید شرط را اینگونه وارد کنید: Username=’admin’
برای از بین بردن فیلتر کافی است به جای فیلتر چیزی وارد نکنید .
شروع دریافت اطلاعات از سطر دلخواه
گزینه ی Get Data به صورت عادی از اولین سطر اطلاعات تا آخرین سطر اطلاعات را دریافت می کند . اگر می خواهید سطر شروع اطلاعات را تغییر دهید و مثلا از دهمین سطر اطلاعات را دریافت کنید بر روی علامت فلش کنار Get Data کلیک کنید تا منوی آن باز شود سپس Start Row را انتخاب کنید و عدد سطر شروع را وارد کنید . حالا Get Data را کلیک کنید تا اطلاعات از آن سطر به بعد دریافت شوند . در هر زمان از اطلاعات می توانید با کلیک بر روی Stop دریافت را متوقف کنید .
بخش (دوم)
اﺳﺘﻔﺎده از Group_Concat
اﮔﺮ اﯾﻦ ﮔﺰﯾﻨﻪ ﮐﻪ در زﯾﺮ ﻟﯿﺴﺖ ﺟﺪاول و ﺳﺘﻮن ھﺎ ﻗﺮار دارد و ﻓﻘﻂ ﺑﺮای دﯾﺘﺎﺑﯿﺲ MySQLﮐﺎرﺑﺮد دارد ﺗﯿﮏ زده ﺷﻮد ﺑﺮﻧﺎﻣﻪ ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ Group_Concatدر دﯾﺘﺎﺑﯿﺲ MySQLﺗﻤﺎم ﺟﺪاول و ﯾﺎ ﺳﺘﻮن ھﺎ را ﯾﮑﺠﺎ اﺳﺘﺨﺮاج ﻣﯽ ﮐﻨﺪ.
ﺗﻮﺟﻪ: اﮔﺮ ﺗﻌﺪاد ﺟﺪاول ﯾﺎ ﺳﺘﻮن ھﺎ ﺧﯿﻠﯽ زﯾﺎد ﺑﺎﺷﺪ ﻣﻤﮑﻦ اﺳﺖ ﺑﺮﻧﺎﻣﻪ ﻗﺎدر ﻧﺒﺎﺷﺪ ﺗﺎ ھﻤﻪ آﻧﮫﺎ را ﺑﺎ اﯾﻦ روش اﺳﺘﺨﺮاج ﮐﻨﺪ در اﯾﻦ ﺻﻮرت ﭘﯿﻐﺎم زﯾﺮ را ﻧﻤﺎﯾﺶ ﻣﯽ دھﺪ.
در اﯾﻦ ﺣﺎﻟﺖ ﺗﯿﮏ اﯾﻦ ﮔﺰﯾﻨﻪ را ﺑﺮداﺷﺘﻪ و دوﺑﺎره اﻃﻼﻋﺎت را اﺳﺘﺨﺮاج ﮐﻨﯿﺪ ﺗﺎ ﺑﺎ روش ﻣﻌﻤﻮﻟﯽ ﺗﻤﺎم اﻃﻼﻋﺎت را درﯾﺎﻓﺖ ﮐﻨﺪ.
درﯾﺎﻓﺖ اﻃﻼﻋﺎت ﯾﮏ ﺳﻄﺮ ﺑﻪ ﺻﻮرت ﯾﮑﺠﺎ
ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ی All in one requestﮐﻪ در زﯾﺮ ﻗﺴﻤﺖ ﻧﻤﺎﯾﺶ اﻃﻼﻋﺎت ﻗﺮار ﮔﺮﻓﺘﻪ ﻣﯽ ﺗﻮاﻧﯿﺪ اﻃﻼﻋﺎت ھﺮ ﺗﻌﺪاد ﺳﺘﻮﻧﯽ ﮐﻪ اﻧﺘﺨﺎب ﮐﺮده اﯾﺪ را ﯾﮑﺠﺎ و ﺑﺎ ﯾﮏ ﺗﺰرﯾﻖ درﯾﺎﻓﺖ ﮐﻨﯿﺪ.
ﺗﻮﺟﻪ: اﮔﺮ ﺗﻌﺪاد ﺳﺘﻮن ھﺎ ﺧﯿﻠﯽ زﯾﺎد ﺑﺎﺷﺪ ﻣﻤﮑﻦ اﺳﺖ ﺑﺎ اﯾﻦ روش ﻧﺘﻮاﻧﯿﺪ اﻃﻼﻋﺎت را اﺳﺘﺨﺮاج ﮐﻨﯿﺪ. در اﯾﻦ ﺣﺎﻟﺖ ﺑﮫﺘﺮ اﺳﺖ ﺗﯿﮏ اﯾﻦ ﮔﺰﯾﻨﻪ را ورداﺷﺘﻪ و ﺑﻪ ﺻﻮرت ﻋﺎدی اﻃﻼﻋﺎت را اﺳﺘﺨﺮاج ﻧﻤﺎﯾﯿﺪ.
ذﺧﯿﺮه ی اﻃﻼﻋﺎت
ﭘﺲ از درﯾﺎﻓﺖ اﻃﻼﻋﺎت ﺑﺮای ذﺧﯿﺮه ی ﺟﺪاول در ﻓﺮﻣﺖ htmlﻣﯽ ﺗﻮاﻧﯿﺪ از Save Tablesو ﺑﺮای ذﺧﯿﺮه ی اﻃﻼﻋﺎت اﺳﺘﺨﺮاج ﺷﺪه از Save Dataاﺳﺘﻔﺎده ﮐﻨﯿﺪ.
اﮔﺮ ﻣﯽ ﺧﻮاھﯿﺪ ﺗﺎ اﻃﻼﻋﺎت را ﺑﺎ ﻓﺮﻣﺖ xmlذﺧﯿﺮه ﮐﻨﯿﺪ ﺑﺮ روی ﻋﻼﻣﺖ ﻓﻠﺶ ﮐﻨﺎر Get Data ﮐﻠﯿﮏ ﮐﻨﯿﺪ ﺗﺎ ﻣﻨﻮی آن ﺑﺎز ﺷﻮد ﺳﭙﺲ Save as XMLرا اﻧﺘﺨﺎب ﮐﻨﯿﺪ و ﯾﮏ ﻓﺎﯾﻞ ﺑﺮای ذﺧﯿﺮه ﺳﺎزی ﻣﺸﺨﺺ ﮐﻨﯿﺪ ﺳﭙﺲ Get Dataرا ﮐﻠﯿﮏ ﮐﻨﯿﺪ ﺗﺎ اﻃﻼﻋﺎت ﺑﻪ ﺟﺎی ﻧﻤﺎﯾﺶ در ﭘﻨﺠﺮه ﻣﺴﺘﻘﯿﻤﺎ در ﻓﺎﯾﻞ ذﺧﯿﺮه ﺷﻮﻧﺪ. اﯾﻦ ﮔﺰﯾﻨﻪ ﺑﺮای درﯾﺎﻓﺖ اﻃﻼﻋﺎت ﺑﺎ ﺣﺠﻢ ﺑﺎﻻ ﻣﻨﺎﺳﺐ اﺳﺖ. اﮔﺮ ﻣﯽ ﺧﻮاھﯿﺪ ﺗﺎ اﻃﻼﻋﺎت را ﺑﺎ ﻓﺮﻣﺖ dumpھﻤﺎﻧﻨﺪ دﯾﺘﺎﺑﯿﺲ MySQLذﺧﯿﺮه ﮐﻨﯿﺪ ﺑﺮ روی ﻋﻼﻣﺖ ﻓﻠﺶ ﮐﻨﺎر Get Dataﮐﻠﯿﮏ ﮐﻨﯿﺪ ﺗﺎ ﻣﻨﻮی آن ﺑﺎز ﺷﻮد ﺳﭙﺲ Dump into Fileرا اﻧﺘﺨﺎب ﮐﻨﯿﺪ و ﯾﮏ ﻓﺎﯾﻞ ﺑﺮای ذﺧﯿﺮه ﺳﺎزی ﻣﺸﺨﺺ ﮐﻨﯿﺪ ﺳﭙﺲ Get Dataرا ﮐﻠﯿﮏ ﮐﻨﯿﺪ ﺗﺎ اﻃﻼﻋﺎت ﺑﻪ ﺟﺎی ﻧﻤﺎﯾﺶ در ﭘﻨﺠﺮه ﻣﺴﺘﻘﯿﻤﺎ در ﻓﺎﯾﻞ ذﺧﯿﺮه ﺷﻮﻧﺪ. اﯾﻦ ﮔﺰﯾﻨﻪ ﺑﺮای درﯾﺎﻓﺖ اﻃﻼﻋﺎت ﺑﺎ ﺣﺠﻢ ﺑﺎﻻ ﻣﻨﺎﺳﺐ اﺳﺖ.
ﺗﻐﯿﯿﺮ اﻃﻼﻋﺎت ﯾﮏ ﺳﻄﺮ
ﺑﺮای اﯾﻨﮑﻪ اﻃﻼﻋﺎﺗﯽ را ﺗﻐﯿﯿﺮ دھﯿﺪ ﺑﺮ روی آن دوﺑﺎر ﮐﻠﯿﮏ ﮐﻨﯿﺪ و ﻣﻘﺪار ﺟﺪﯾﺪ را وارد ﮐﺮده و ﺳﭙﺲ Enterرا ﻓﺸﺎر دھﯿﺪ.
ﺣﺬف ﯾﮏ ﺳﻄﺮ
ﺑﺮای ﺣﺬف ﯾﮏ ﺳﻄﺮ ﺑﺮ روی آن ﮐﻠﯿﮏ راﺳﺖ ﮐﺮده و ﮔﺰﯾﻨﻪ ی Delete Rowرا اﻧﺘﺨﺎب ﮐﻨﯿﺪ.
اﯾﺠﺎد ﯾﮏ ﺳﻄﺮ ﺟﺪﯾﺪ
ﺑﺮای اﯾﺠﺎد ﺳﻄﺮ ﺟﺪﯾﺪ در ﭘﻨﺠﺮه ی ﻧﻤﺎﯾﺶ اﻃﻼﻋﺎت ﮐﻠﯿﮏ راﺳﺖ ﮐﺮده و ﮔﺰﯾﻨﻪ ی Insert Row
را اﻧﺘﺨﺎب ﮐﻨﯿﺪ و اﻃﻼﻋﺎت را وارد ﮐﺮده و Enterرا ﻓﺸﺎر دھﯿﺪ.
ﺗﻮﺟﻪ: اﻣﮑﺎن ﺗﻐﯿﯿﺮ، ﺣﺬف و ﯾﺎ اﯾﺠﺎد اﻃﻼﻋﺎت ﺟﺪﯾﺪ در MySQLھﻤﺮاه ﺑﺎ PHPوﺟﻮد ﻧﺪارد. اﯾﻦ اﻣﮑﺎن ﺑﺮای ﺳﺎﯾﺮ دﯾﺘﺎﺑﯿﺲ ھﺎ و زﺑﺎن ھﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ در ﺟﺪول زﯾﺮ ﻧﻤﺎﯾﺶ داده ﺷﺪه اﺳﺖ.
ﺧﻮاﻧﺪن ﻓﺎﯾﻞ ھﺎ
اﮔﺮ دﯾﺘﺎﺑﯿﺲ ھﺪف MySQLﺑﺎﺷﺪ ﭘﺲ از ﺗﺰرﯾﻖ ﻣﻨﻮی Read Filesدر ﺑﺎﻻی ﺑﺮﻧﺎﻣﻪ ﻓﻌﺎل ﻣﯽ ﺷﻮد و ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﻓﺎﯾﻞ ھﺎی روی ﺳﺮور MySQLرا ﺑﺨﻮاﻧﯿﺪ. ﮐﺎﻓﯽ اﺳﺖ آدرس ﻓﺎﯾﻞ ﻣﻮرد ﻧﻈﺮ ﺧﻮد را در Files Addressوارد ﮐﻨﯿﺪ و Readرا ﮐﻠﯿﮏ ﮐﻨﯿﺪ.
ﺗﻮﺟﻪ: اﮔﺮ ﻓﺎﯾﻞ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ و ﯾﺎ ﮐﺎرﺑﺮ دﯾﺘﺎﺑﯿﺲ اﺟﺎزه ی دﺳﺘﺮﺳﯽ ﺑﻪ آن را ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﭼﯿﺰی ﻧﻤﺎﯾﺶ داده ﻧﻤﯽ ﺷﻮد!
اﺟﺮای دﺳﺘﻮرات ﺳﯿﺴﺘﻤﯽ ﺑﺮ روی ھﺪف
در ﺻﻮرﺗﯽ ﮐﻪ دﯾﺘﺎﺑﯿﺲ ﺳﺎﯾﺖ ھﺪف Microsoft SQL Serverﺑﺎﺷﺪ ﮔﺰﯾﻨﻪ ی CMD Shellدرﺑﺎﻻی ﺑﺮﻧﺎﻣﻪ ﻓﻌﺎل ﻣﯽ ﺷﻮد و ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ دﺳﺘﻮرات ﺳﯿﺴﺘﻤﯽ ﺑﺮ روی ﺳﺮور SQLاﺟﺮا ﻧﻤﺎﯾﯿﺪ.
دﺳﺘﻮر ﻣﻮرد ﻧﻈﺮ ﺧﻮد را در Commandوارد ﮐﻨﯿﺪ و Executeرا ﮐﻠﯿﮏ ﮐﻨﯿﺪ و ﻣﻨﺘﻈﺮ ﻧﺘﯿﺠﻪ ﺑﻤﺎﻧﯿﺪ در ﺻﻮرت اﺟﺮا ﺷﺪن دﺳﺘﻮر ﻧﺘﯿﺠﻪ ی آن در ﭘﻨﺠﺮه ی ﻣﺮﺑﻮﻃﻪ ﻧﻤﺎﯾﺶ داده ﻣﯽ ﺷﻮد.
ﺗﻮﺟﻪ: ﺑﺮای اﺟﺮای دﺳﺘﻮر ﮐﺎرﺑﺮ دﯾﺘﺎﺑﯿﺲ ﺣﺘﻤﺎ ﺑﺎﯾﺪ اﺟﺎزه ی ﮐﺎﻓﯽ ﺑﺮای اﺟﺮای دﺳﺘﻮر را داﺷﺘﻪ ﺑﺎﺷﺪ.
ﭘﺮس و ﺟﻮ (Query)
ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ی Queryدر ﺑﺎﻻی ﺑﺮﻧﺎﻣﻪ ﻣﯽ ﺗﻮاﻧﯿﺪ ﺟﻤﻼت SQLدﻟﺨﻮاه ﺧﻮد را در ھﺪف اﺟﺮا ﻧﻤﺎﯾﺪ و ﻧﺘﯿﺠﻪ را ﻣﺸﺎھﺪه ﮐﻨﯿﺪ.
ﺗﻮﺟﻪ: ﺟﻤﻼت SQLﺷﻤﺎ ﻧﺒﺎﯾﺪ ﺑﯿﺸﺘﺮ از ﯾﮏ ﺳﻄﺮ ﺑﺎزﮔﺮداﻧﻨﺪ!
ﭘﯿﺪا ﮐﺮدن ﺻﻔﺤﻪ ی ورود ﻣﺪﯾﺮ
ﺑﺎ اﺳﺘﻔﺎده از Find Adminدر ﺑﺎﻻی ﺑﺮﻧﺎﻣﻪ ﻣﯽ ﺗﻮاﻧﯿﺪ آدرس ﺻﻔﺤﻪ ی ورود ) (Loginﮐﺎرﺑﺮان ﺳﺎﯾﺖ را ﭘﯿﺪا ﮐﻨﯿﺪ. ﺑﺮای اﯾﻦ ﮐﺎر در ﺻﻔﺤﻪ ی ﻣﺮﺑﻮﻃﻪ آدرس ﺳﺎﯾﺘﯽ را ﮐﻪ ﻣﯽ ﺧﻮاھﯿﺪ ﺻﻔﺤﻪ ورود آن را ﭘﯿﺪا ﮐﻨﯿﺪ در ﻗﺴﻤﺖ Path to Searchوارد ﮐﻨﯿﺪ و Startرا ﮐﻠﯿﮏ ﮐﻨﯿﺪ. ﺻﻔﺤﺎت ﭘﯿﺪا ﺷﺪه در ﻟﯿﺴﺖ ﻧﻤﺎﯾﺶ داده ﻣﯽ ﺷﻮﻧﺪ .ﺑﺎ ﮐﻠﯿﮏ راﺳﺖ ﺑﺮ روی ﺻﻔﺤﺎت ﭘﯿﺪا ﺷﺪه و اﻧﺘﺨﺎب ﮔﺰﯾﻨﻪ ی Open URLﻣﯽ ﺗﻮاﻧﯿﺪ آﻧﮫﺎ را در ﻣﺮور ﮔﺮ ﺧﻮد ﺑﺎز ﮐﻨﯿﺪ.
ﮐﺮک ﮐﺮدن ﭘﺴﻮردھﺎی 5MD
ھﻮﯾﺞ دارای ﯾﮏ ﮐﺮﮐﺮ اﻧﻼﯾﻦ 5 MDﻣﯽ ﺑﺎﺷﺪ ﮐﻪ ﻣﯽ ﺗﻮاﻧﯿﺪ ﺑﺎ اﺳﺘﻔﺎده از آن ﭘﺴﻮردھﺎی 5MD را ﮐﺮک ﮐﻨﯿﺪ. در داﺧﻞ MD5 hashھﺸﯽ را ﮐﻪ ﻣﯽ ﺧﻮاھﯿﺪ ﮐﺮک ﮐﻨﯿﺪ وارد ﮐﻨﯿﺪ و Startرا ﮐﻠﯿﮏ ﮐﻨﯿﺪ، ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺻﻮرت ھﻤﺰﻣﺎن در ﭼﻨﺪﯾﻦ ﺳﺎﯾﺖ ﮐﺮک آﻧﻼﯾﻦ ﺑﻪ دﻧﺒﺎل ھﺶ ﻣﯽ ﮔﺮدد و ﻧﺘﯿﺠﻪ را در ﻟﯿﺴﺖ ﻧﻤﺎﯾﺶ ﻣﯽ دھﺪ.
ﺗﺰرﯾﻖ ﺑﻪ روش دﺳﺘﯽ
ھﻮﯾﺞ ﻋﻼوه ﺑﺮ ﻗﺎﺑﻠﯿﺖ ﺗﺰرﯾﻖ ﺧﻮدﮐﺎر اﯾﻦ اﻣﮑﺎن را ﻧﯿﺰ ﻓﺮاھﻢ ﻣﯽ ﮐﻨﺪ ﺗﺎ ﮐﺎرﺑﺮ ﺗﻨﻈﯿﻤﺎت ﻣﺮﺑﻮط ﺑﻪ ﺗﺰرﯾﻖ را ﺑﻪ ﺻﻮرت دﺳﺘﯽ اﻧﺠﺎم دھﺪ و از اﻣﮑﺎﻧﺎت و ﺳﺮﻋﺖ ﺑﺮﻧﺎﻣﻪ در ﺗﺰرﯾﻖ ﺑﺮای راﺣﺘﯽ ﮐﺎر اﺳﺘﻔﺎده ﮐﻨﺪ. در ﺣﺎﻟﺖ ﭘﯿﺶ ﻓﺮض ﺗﻤﺎﻣﯽ ﺗﻨﻈﯿﻤﺎت ﺑﻪ ﺻﻮرت ﺗﺸﺨﯿﺺ ﺧﻮدﮐﺎر )(Auto Detect ﻣﯽ ﺑﺎﺷﺪ. اﯾﻦ ﺗﻨﻈﯿﻤﺎت ﺷﺎﻣﻞ ﮐﻠﻤﻪ ی ﮐﻠﯿﺪی ) ،Syntax ،(Keywordدﯾﺘﺎﺑﯿﺲ و ﻧﻮع ﻣﺘﻐﯿﯿﺮ ) (Typeﻣﯽ ﺑﺎﺷﺪ. ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﯾﮏ ﯾﺎ ﺗﻤﺎﻣﯽ اﯾﻦ ﺗﻨﻈﯿﻤﺎت را ﺑﻪ ﺻﻮرت دﺳﺘﯽ اﻧﺠﺎم دھﯿﺪ.
ﺗﻌﯿﯿﻦ دﯾﺘﺎﺑﯿﺲ
اﮔﺮ ﺷﻤﺎ ﻣﻄﻤﺌﻦ ھﺴﺘﯿﺪ ﮐﻪ ﺳﺮور دﯾﺘﺎﺑﯿﺴﯽ ﮐﻪ ھﺪف ﻣﻮرد ﻧﻈﺮﺗﺎن اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﺪ ﭼﯿﺴﺖ
ﻣﯽ ﺗﻮاﻧﯿﺪ از داﺧﻞ ﻟﯿﺴﺖ Databaseآن را اﻧﺘﺨﺎب ﮐﻨﯿﺪ. ھﻮﯾﺞ دﯾﺘﺎﺑﯿﺲ ھﺎی زﯾﺮ را ﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﮐﻨﺪ.
Microsoft SQL Server :MsSQL with errorﺗﺰرﯾﻖ ﺑﺎ روش اﺳﺘﺨﺮاج از ﻣﺘﻦ ارور
Microsoft SQL Server :MsSQL no errorﺗﺰرﯾﻖ ﺑﺎ اﺳﺘﻔﺎده از Union
Microsoft SQL Server :MsSQL Blindﺑﺎ روش ﺗﺰرﯾﻖ ﭼﺸﻢ ﺑﺴﺘﻪ )(Blind
MySQL :MySQL unknown verﺑﺎ اﺳﺘﻔﺎده از Union
MySQL :MySQL Blindﺑﺎ روش ﺗﺰرﯾﻖ ﭼﺸﻢ ﺑﺴﺘﻪ )(Blind
MySQL :MySQL error basedﺑﺎ روش اﺳﺘﺨﺮاج از ﻣﺘﻦ ارور
Oracle :Oracleﺑﺎ اﺳﺘﻔﺎده از Union
PostgreSQL :PostgreSQLﺑﺎ اﺳﺘﻔﺎده از Union
Microsoft Access :MsAccessﺑﺎ اﺳﺘﻔﺎده از Union
Microsoft Access :MsAccess Blindﺑﺎ روش ﺗﺰرﯾﻖ ﭼﺸﻢ ﺑﺴﺘﻪ )(Blind
ﺗﻌﯿﯿﻦ ﻧﻮع ﻣﺘﻐﯿﯿﺮ
ﻧﻮع ﻣﺘﻐﯿﯿﺮ ) (Typeدر ﺗﺰرﯾﻖ SQLﯾﺎ ﻋﺪد ) (Integerاﺳﺖ و ﯾﺎ رﺷﺘﻪ ) .(Stringﻣﻨﻈﻮر از ﻧﻮع
ﻋﺪدی ﻣﺘﻐﯿﯿﺮی اﺳﺖ ﮐﻪ ﻣﺴﺘﻘﯿﻤﺎ ﺗﻮﺳﻂ ﺳﺎﯾﺖ ھﺪف در ﺟﻤﻠﻪ ی SQLاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
اﻣﺎ ﻧﻮع رﺷﺘﻪ ﻣﺘﻐﯿﯿﺮی اﺳﺖ ﮐﻪ ﺑﺮای اﺳﺘﻔﺎده در ﺟﻤﻠﻪ ی SQLﺣﺘﻤﺎ داﺧﻞ ﻋﻼﻣﺖ ﻧﻘﻞ ﻗﻮل ‘
و ﯾﺎ “ ) (quotation markﻗﺮار ﻣﯽ ﮔﯿﺮد. ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ ﺗﻤﺎﻣﯽ ﺗﺰرﯾﻖ ھﺎ داﺧﻞ ھﻤﯿﻦ ﻣﺘﻐﯿﯿﺮ ﺻﻮرت ﻣﯽ ﮔﯿﺮد.
ﺗﻌﯿﯿﻦ ﮐﻠﻤﻪ ی ﮐﻠﯿﺪی
ﮐﻠﻤﻪ ی ﮐﻠﯿﺪی ) (keywordﮐﻠﻤﻪ اﯾﺴﺖ ﮐﻪ ﺗﻔﺎوت ﺑﯿﻦ ﺣﺎﻟﺖ ﺻﺤﯿﺢ ) (Trueو ﻏﻠﻂ ) (Falseرا در ﺗﺰرﯾﻖ ﻣﺸﺨﺺ ﻣﯽ ﮐﻨﺪ. ﺣﺎﻟﺖ ﺻﺤﯿﺺ زﻣﺎﻧﯽ اﺳﺖ ﮐﻪ ﺟﻤﻠﻪ ی SQLﺗﺰرﯾﻖ ﺷﺪه ﺑﻪ درﺳﺘﯽ اﺟﺮا ﻣﯽ ﺷﻮد و ﻧﺘﯿﺠﻪ ی دﻟﺨﻮاه را ﺑﺮ ﻣﯽ ﮔﺮداﻧﺪ وﻟﯽ در ﺣﺎﻟﺖ ﻏﻠﻂ ھﯿﭻ ﻧﺘﯿﺠﻪ ای ﺑﺎزﮔﺮداﻧﺪه ﻧﻤﯽ ﺷﻮد. ﮐﻠﻤﻪ ی ﮐﻠﯿﺪی ﺑﺎﯾﺪ ﯾﮏ ﮐﻠﻤﻪ ﯾﺎ ﻋﺒﺎرت از ﺳﻮرس ﺻﻔﺤﻪ ای ﮐﻪ ﺣﺎﻟﺖ ﺻﺤﯿﺢ را ﻧﺸﺎن ﻣﯽ دھﺪ ﺑﺎﺷﺪ.
ﺑﺮای ﭘﯿﺪا ﮐﺮدن ﮐﻠﻤﻪ ی ﮐﻠﯿﺪی ﻣﯽ ﺗﻮاﻧﯿﺪ از ﺗﺰرﯾﻖ ھﺎی زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
ﻧﺸﺎن دھﻨﺪه ی ﺣﺎﻟﺖ ﺻﺤﯿﺺ ﺑﺮای ﻣﺘﻐﯿﯿﺮ 1ﻋﺪدی=1 http://site.com/index.php?id=52 and
ﻧﺸﺎن دھﻨﺪه ی ﺣﺎﻟﺖ ﻏﻠﻂ ﺑﺮای ﻣﺘﻐﯿﯿﺮ ﻋﺪدی 0=1 http://site.com/index.php?id=52 and
و
http://site.com/index.php?id=52’ and ‘x’=’x ﻧﺸﺎن دھﻨﺪه ی ﺣﺎﻟﺖ ﺻﺤﯿﺺ ﺑﺮای ﻣﺘﻐﯿﯿﺮ رﺷﺘﻪ ای
ﻧﺸﺎن دھﻨﺪه ی ﺣﺎﻟﺖ ﻏﻠﻂ ﺑﺮای ﻣﺘﻐﯿﯿﺮ رﺷﺘﻪ http://site.com/index.php?id=52’ and ‘x=’yای
ﺑﺮای ﻣﺜﺎل اﮔﺮ در ﺣﺎﻟﺖ ﺻﺤﯿﺢ ﻋﺒﺎرت Helloرا ﻣﺸﺎھﺪه ﮐﺮدﯾﺪ وﻟﯽ در ﺣﺎﻟﺖ ﻏﻠﻂ اﯾﻦ ﻋﺒﺎرت وﺟﻮد ﻧﺪاﺷﺖ ﮐﻠﻤﻪ ی Helloﮐﻠﻤﻪ ی ﮐﻠﯿﺪی ﻣﻨﺎﺳﺐ ﺑﺮای اﺳﺘﻔﺎده اﺳﺖ.
ﺗﻌﯿﯿﻦ Syntax
در ﺑﺮﺧﯽ از ﺳﺎﯾﺖ ھﺎ ﺑﻪ ﻋﻠﺖ ﺧﺎص ﺑﻮدن ھﺪف و ﭘﭙﯿﭽﯿﺪﮔﯽ ﺟﻤﻼت SQLاﺳﺘﻔﺎده ﺷﺪه
ﺑﺮﻧﺎﻣﻪ ﻣﻮﻓﻖ ﺑﻪ ﺗﺰرﯾﻖ ﺧﻮدﮐﺎر ﻧﻤﯽ ﺷﻮد. در اﯾﻦ ﺷﺮاﯾﻂ اﮔﺮ ﺷﻤﺎ ﺑﻪ ﺻﻮرت دﺳﺘﯽ ﻣﯽ ﺗﻮاﻧﯿﺪ
ھﺪف را اﯾﻨﺠﮑﺖ ﮐﻨﯿﺪ و اﻃﻼﻋﺎت را اﺳﺘﺨﺮاج ﻧﻤﺎﯾﯿﺪ ﻣﯽ ﺗﻮاﻧﯿﺪ ﺑﺎز ھﻢ از ھﻮﯾﺞ ﺑﮫﺮه ﺑﮕﯿﺮﯾﺪ.
ﺑﺮای ﻣﺜﺎل ﻓﺮض ﮐﻨﯿﺪ ﺷﻤﺎ در ﺳﺎﯾﺘﯽ ﺑﺎ در ﺧﻮاﺳﺖ زﯾﺮ ﻋﻤﻞ ﺗﺰرﯾﻖ را اﻧﺠﺎم ﻣﯽ دھﯿﺪ و ﻣﻮﻓﻖ ﺑﻪ ﻣﺸﺎھﺪه ی ﻧﺴﺨﻪ ی دﯾﺘﺎﺑﯿﺲ ﻣﯽ ﺷﻮﯾﺪ.
—3,http://site.com/index.php?id=-52 union all select 1,2,@@version
ﺑﺮای ﺗﻨﻈﯿﻢ دﺳﺘﯽ در ھﻮﯾﺢ آدرس زﯾﺮ را در ﻗﺴﻤﺖ Targetوارد ﮐﻨﯿﺪ.
25=http://site.com/index.php?id
ﺑﺮ روی Syntaxﮐﻠﯿﮏ ﮐﻨﯿﺪ ﺗﺎ ﺗﯿﮏ زده ﺷﻮد ﺳﭙﺲ در ﮐﺎدر روﺑﺮو ﻣﻘﺪار زﯾﺮ را وارد ﮐﻨﯿﺪ:
—3,%-52 union all select 1,2,%String_Col
ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﺑﻪ ﺟﺎی @@versionﮐﻪ در ﺻﻔﺤﻪ ﺑﺮﮔﺮداﻧﺪه ﻣﯽ ﺷﻮد ﻣﻘﺪار % %String_Colرا ﺟﺎﯾﮕﺰﯾﻦ ﮐﺮدﯾﻢ.
ﺗﻮﺟﻪ: % %String_Colدﻗﯿﻘﺎ ﺑﺎﯾﺪ ﺑﻪ ھﻤﯿﻦ ﺻﻮرت ﻧﻮﺷﺘﻪ ﺷﻮد!
ﺣﺎﻻ ﺑﺮ روی Analyzeﮐﻠﯿﮏ ﮐﻨﯿﺪ ﺗﺎ ﺗﺰرﯾﻖ ﺷﺮوع ﺷﻮد.