باگ 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 نظر)

مطالب مرتبط

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

  • unknown خرداد 24, 1399 پاسخ

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

    • نیما حسینی تیر 2, 1399 پاسخ

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

  • Mr_security خرداد 13, 1401 پاسخ

    سلام ، بسیار عالی بود.
    اموزش خوبی بود ، فقط یک سوال داشتم ، آیا از طریق باگ html injection میشه به دیتابیس وب سایت مورد نظر نفوذ کرد؟!
    یعنی دقیقا مثل باگ sql injection است؟!

    • پن‌تست‌کور خرداد 15, 1401 پاسخ

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

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

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

قوانین پن تست کور
دوره کالی لینوکس
نماد های اعتماد
نماد های اعتماد