مجموعه ۴ مطلب – شماره ۱۶
سلام خدمت دوستان عزیز
امیدوارم حال دلتون خوب باشه و تو این روزای قرنطینه به جای غر زدن، سعی کنید از فرصت استفاده کنید تا مهارت خودتون رو افزایش بدید.
این بخش از “۴ مطلب” رو از دست ندید چون قراره ۴ تا مطلب آموزشی قرار بدم. 😉
۱- بایپس Waf
راستش یادم نیست قبلا داخل سایت مطلبی در مورد Waf گفتم یا نه!!
برای همین یه توضیح مختصر در مورد waf میدم.
WAF گزینه ایست که بین فایروال و وب سرور قرار میگیرد و وظیفه کنترل کاربران را بر عهده دارد و از حملاتی که سبب دسترسی کاربران غیر مجاز به اطلاعات محرمانه میشود جلوگیری میکند.
WAF در دو نوع نرمافزاری و سختافزاری وجود دارد.
بیش از ۷۵ درصد از حملاتی که منجر به دسترسی غیرمجاز هکرها به اطلاعات میشود، از طریق Web صورت میگیرد.
به این دلیل که دسترسی به وب سرور، هم دسترسی به دیتای اصلی یک سایت است، هم راه نفوذ را برای ورود به سایر سرورهای یک Data Center مقدور میسازد.
حملاتی که WAF در لایه ۷ از بروز آنها روی وب سرور جلوگیری میکند به شرح زیر میباشند:
- Protection against common attacks
- SQL Injection
- (Cross Site Scripting (XSS
- (Cross-Site Request Forgery (CSRF
- Session Hijacking
- Buffer Overflow
- OS command injection
- Information leakage
- (Denial of Service (DoS
- Malicious Robots
- Parameter Tampering
- Malicious and Illegal Encoding
- Directory Traversal
- Web Server and OS Attacks
- Site Reconnaissance
- Remote File Inclusion (RFI)
حالا که با مفهوم waf آشنا شدید بریم سراغ یکی از روشهای دور زدن همین waf.
من اسم این روش رو میزارم union تودرتو.
بعضی وقتا سایت به دستور union یا select حساسه.
در این شرایط شما اگر هرکاری برای بایپس کردن انجام بدید بی نتیجه باقی میمونه، علتشم اینه که دستور union یا select پاک میشه.
حالا باید چکار کنیم؟نگران نباشید روش تودرتو جواب میده.
uniunionon selselectect
در این شرایط WAF کلمه کلیدی که انتخاب کرده را حذف میکند.یعنی همان کلمه union و select.
به محض اینکه دستورات فیلتر شد، برای نمونه کلمه کلیدی select حذف میشود و sel از ابتدا و ect از انتها ادغام میشود و یک select جدید ایجاد و در سرور اجرا میشود.
۲- ۲ بایپس ساده
در ادامه بحث قبلی بایپس رو ادامه میدم.
روشهای زیادی برای بایپس کردن waf وجود داره.
برای نمونه فرض کنیم سایت ما به دستور union و select یا یکی از اینها حساس است.
id=1+un/**/ion+sel/**/ect+1,2,3
id=1+un*ion+sel*ect+1,2,3
این دو روش رو به خاطر بسپارید.این روشها میتونه راهگشای کار شما در فرایند تست نفوذ با استفاده از Sql injection باشه.
۳- روش Buffer Overflow + SQL Injection
برای کسانی که نمیدانند ، “سرریز بافر یا اضافه بافر ، ناهنجاری است که در آن یک برنامه، در حالی که داده را در یک بافر مینویسد ، از مرز بافر عبور کرده و مکانهای حافظه مجاور را رونویسی میکند.”.
ما میتوانیم از این آسیبپذیری که در برخی از WAF ها وجود دارد استفاده کنیم.
بسیاری از فایروال ها با C یا C++ نوشته شدهاند که می توانیم آنها را با سرریز بافر خراب کنیم، چون برخی از متغیرهای برنامه میتوانند فقط مقدار کمی حافظه را بگیرند و در صورت عدم محافظت یا کدگذاری نامناسب، میتوانیم آن را دور بزنیم.
اجازه بدید یک مثال داشته باشیم:
http://www.website.com/?id=-15+and+(select 1)=(Select 0xAA here we add about 1000 A)+/*!uNIOn*/+/*!SeLECt*/+1,2
حالا سوال اساسی اینجاست که از کجا بفهمیم میشه از این روش Buffer Overflow استفاده کرد یا نه؟
برای این که متوجه بشیم کافیه فایروال رو تست کنیم.از دستور زیر استفاده میکنیم.
http://www.website.com/ id=null%0A/**//*!50000%55nIOn*//*yoyu*/all/**/%0A/*!%53eLEct*/% 0A/*nnaa*/+1,2
بعد از زدن این دستور اگر سایت ارور ۵۰۰ داد یعنی میشه از این روش استفاده کرد.
۴- بازم بایپس 😉
خسته که نشدید؟ 😀
اونایی که میگن خسته شدیم دیگه هک رو ادامه ندن.چون هک یعنی دنیایی از این چالشها.
اما اونایی که نه تنها خسته نشدن بلکه تشنهی یادگیری مطلب جدید هستن این بخش هم مطالعه کنن.
خب با روشهای مختلفی رو تست زدیم بریم سراغ یه روش دیگه.
http://www.website.com/?id=15 /*!u%6eion*/ /*!se%6cect*/ 1,2
لازم نیست که همیشه فقط کاراکتر اول را encode کنیم.این کار رو میشه وسط دستور هم انجام داد و اتفاقا بعضی مواقع خیلی خوب جواب میده.
خیلی وقتها کوتیشن میتونه راه گشا باشه.مثل حالت زیر:
http://www.website.com/?id=-15+uni’on+sel’ect+1,2
حالا که اینقدر با لذت تا اینجای مطلب رو مطالعه کدی پس بزار یه روش دیگه هم بهت نشون بدم.
/* — */union/* — */select/* — */
یه مورد دیگم داریم که بهش میگیم روش معکوس یا REVERSE
REVERSE(noinu)+REVERSE(tceles)
در این روش هم کار بسیار سادست، کافیه کلمه union و select رو از آخر به اول بنویسیم.
که میشه به این حالتی که در بایپس مشاهده کردید.
نوشتن این ۴ مطلب تقریبا ۱ ساعت زمان برد.فدای سر تک تک شما عزیزان.ولی خیلی خوب میشه اگر این مطلب رو با دوستانتون به اشتراک بگذارید تا یکم روحیه بگیرم 😉
مطالب زیر را حتما مطالعه کنید
1 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
بازهم مثل همیشه آموزنده و کاربردی . مرسی استاد