باگ html injection چیست ؟ + آموزش کامل

باگ html injection

در این قسمت از آموزش قصد داریم شما را با آسیب پذیری یا باگ html injection آشنا کنیم.

در دنیای وب هکینگ آسیب پذیری های بسیار زیادی وجود دارد که تمام این آسیب پذیری ها و باگ های موجود در دو دسته سمت سرور و سمت کلاینت تقسیم می شوند. حملات سمت سرور شامل حملات sqli , lfi , rfi , rfu و دیگر حملات موجود است . حملات سمت کلاینت شامل حملات xss , csrf , html injection و دیگر حملات موجود است .

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

باگ html injection چیست ؟

همانگونه که گفته شد حمله html injection یک حمله سمت کلاینت است که باعث می شود
شما بتوانید تگ ها html را در کد های سایت هدف خود inject کنید .

تابع htmlentities در php چه کاری انجام می دهد ؟

یکی از توابع امنیتی که در php مورد استفاده قرار می گیرد تابع htmlentities است که برای فیلتر کردن کارکتر های غیرمجاز که توسط کاربر وارد می شود مورد استفاده قرار می گیرد به این صورت که ورودی که کاربر وارد می کند را فیلتر می کند و کاراکتر هایی جایگزین کارکتر های غیرمجاز می کند تا اگر قرار است ورودی کاربر در صفحه وب سایت چاپ شود نیز حمله هایی مانند xss و html injection رخ ندهد.

برای مثال اگر در منوی جستجوی وب سایت ما یعنی PentestCore

عبارت زیر که مرحله اول برای تشخیص باگ xss است را وارد کنید :

<script>alert(“pentestcore”)</script>

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

باگ html injection چیست ؟ + آموزش کامل
مرحله اول از تست باگ html injection

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

باگ html injection چیست ؟ + آموزش کامل
مرحله دوم از تست باگ html injection

نیز مشاهده می کنید که کاراکتر های غیرمجاز encode شده اند ، این encode شدن به همان تابع htmlentities بازمی گردد تا از حملاتی مانند xss و html injection جلوگیری کند . حال نیز در ادامه متوجه خواهید شد که وب سایت هایی که این عملیات فیلترینگ و جایگزینی کاراکتر های غیرمجاز را انجام نمی دهند چه خطری انهارا تهدید می کند.

تحلیل باگ html injection

باگ html injection چیست ؟ + آموزش کامل
تحلیل اسیب پذیری html injection

باگ html injection از جایی به وجود می اید که کاربر توانایی وارد کردن اطلاعات را داشته باشد دقیقا مانند فیلد های جستجو و یا هر فیلد دیگری که از کاربر ورودی دریافت کند و نیز در صفحه چاپ کند. اما دقت داشته باشید که هر گردی گردو نیست و در ابتدا باید بررسی های لازم انجام شود تا مطمئن شوید آیا باگ به صورت کامل وجود دارد یا خیر به این دلیل که چاپ شدن عبارت مورد نظر شما در صفحه دلیل بر وجود صد درصد باگ نیست زیرا احتمال موجود بودن باگ نیز وجود دارد .

نفوذگر زمانی که داده خود را در فیلد مربوطه وارد می کند اگر توسط فیلترینگی جلوی حمله او گرفته شود نیز وب سایت قربانی در برابر این حمله امن است اما اگر فیلترینگی انجام نشده باشد تگ های html در داخل کد های سایت قرار می گیرند و می توانند ظاهر وب سایت را تغییر دهند .

نکته : حمله html injection همانگونه که گفته شد حمله ای سمت کلاینت است و تمام تغیراتی که شما بر روی سایت ایجاد می کنید فقط بر روی سیستم شما اتفاق خواهد افتاد و حتی با یک بار refresh کردن صفحه وب سایت نیز تغیرات مجددا به حالت اول باز خواهد گشت .

شروع کار با اسیب پذیری html injection

باگ html injection چیست ؟ + آموزش کامل
وب سایت هدف

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

حال نیز در مرحله بعدی باید تگ های html را در فیلد مورد نظر خود وارد کنید :

حال ممکن است به سه حالت بر خورد کنید.

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

به تصویر زیر توجه کنید :

باگ html injection چیست ؟ + آموزش کامل
تست باگ html injection

حالت دوم : ممکن است وب سایت امن باشد و دارای آسیب پذیری html injection نباشد.

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

نمونه سایت آسیب پذیر در برابر باگ html injection که یک تصویر را به کد های سایت اضافه کرده ایم :

بایپس حمله html injection

باگ html injection چیست ؟ + آموزش کامل
بایپس حمله html injection

در تصویر زیر مشاهده می کنید که ما تگ html را در ورودی وارد کرده ایم اما مانند دفعه قبی تگ html برای ما به درستی اجرا نشد و عبارت ما که یک تگ بود را به عنوان یک متن برای ما به نمایش در اورده است.

باگ html injection چیست ؟ + آموزش کامل
مرحله اول بایپس حمله html injection

حال که فیلترینگی بر روی تگ های html ایجاد شده می توانیم با استفاده از url encode به هدف خود برسیم.

به این منظور در ابتدا به سایت زیر وارد شوید :

https://www.textmagic.com/free-tools/url-encoder-decoder

در این مرحله تگ مورد نظر خود را برای بایپس و تست باگ html injection وارد کنید
و بر روی گزینه encode کلیک کنید تا url encode عبارت مورد نظر شما برایتان به نمایش در اید.

باگ html injection چیست ؟ + آموزش کامل
مرحله دوم بایپس حمله html injection

حال نیز می توانید عبارت مورد نظر را بر روی ورودی هدف خود تست کنید :

به تصویر زیر توجه کنید :

باگ html injection چیست ؟ + آموزش کامل
مرحله سوم بایپس حمله html injection

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

نتیجه گیری

ممکن است پیش خود این دید را داشته باشید که باگ html injection ارزش کمی را برخوردار است اما دقت داشته باشید که اگر باگ html injection بر روی سایت و جود داشته باشد نیز به احتمال 99 درصد باگ xss هم بر روی سایت وجود دارد به این منظور می توانید از باگ xss که یک باگ با ارزش است استفاده بهره ببرید .

موفق باشید.

5/5 (1 نظر)

مطالب مرتبط

باگ XFS

باگ XFS چیست؟ + اموزش ان

در این آموزش به معرفی باگ XFS می‌پردازیم و آن را به صورت کامل شرح خواهیم داد، در ادامه این آموزش هک و امنیت با پن تست کور همراه باشید. 5/5 (1 نظر)

WAF چیست

WAF چیست؟ + معرفی انواع ان

امروزه بیش از 70 درصد حملات اینترنتی از طریق وب سایت ها صورت می‌گیرد، فایروال برنامه های وب یا WAF به منظور جلوگیری از این حملات توسعه یافته است که در این پست آموزشی با آن آشنا می‌شوید. 4/5 (1 نظر)

۲ دیدگاه در “باگ html injection چیست ؟ + آموزش کامل”

  • unknown خرداد ۲۴, ۱۳۹۹ پاسخ

    سلام واقعا کامل و مفصل من راحت فهمیدم خیلی ممنون | یه سوال داشتم بیشتر اسیب پذیری ها وقتی هست که از کاربر ورودی میگیریم درسته؟ اسیب پذیری های دیگه هم هستن که بدون ورودی بشه دسترسی زیادی رو گرفت میشه معرفی کنید ممنون میشم

    • نیما حسینی تیر ۱, ۱۳۹۹ پاسخ

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *