Contactus:
@nashenas_tm
@cyberknight0_0
Post #1549
418
WO Forwarded from SecCode (Meisam Monsef)

World Of Security یه نیمچه چالش آسون XSS بریم😁 یه پارامتر داخل <script> رفلکت میشه، ولی دقیقاً بعد از (...)throw new Error و داخل کامنت. از استرینگ نمیشه خارج شد. ولی از کامنت میشه. چطوری میتونیم پیلودمون رو اجرا کنیم؟اصلا میتونیم XSS بزنیم؟اگه اره چرا و چطوری و اگه نه…
<script>
throw new Error("invalid id: VALUE");
/* item lookup rejected: id=VALUE */
</script>
World Of Security 🔍 تحلیل یک باگ جالب در Node.js و llhttp در این آسیبپذیری، مهاجم هدر زیر را همراه با یک درخواست جعلی ارسال میکند: Connection: close<TAB> منظور از <TAB> یک کاراکتر تب واقعی بعد از کلمه close است. معماری معمول هدف: Attacker → Reverse Proxy → Node.js Backend…
Connection: close<TAB>
<TAB> یک کاراکتر تب واقعی بعد از کلمه close است.Attacker → Reverse Proxy → Node.js Backend
Connection: close در نظر بگیرد:Connection: close<TAB>
llhttp، وجود تب باعث میشد پرچم داخلی CONNECTION_CLOSE بهدرستی فعال نشود.برداشت Reverse Proxy:
[ درخواست اول ]
[ پایان اتصال ]
برداشت Node.js:
[ درخواست اول ]
[ درخواست جعلی دوم ]
llhttp و سمت Node.js است، نه الزاماً Reverse Proxy.close<TAB> را متفاوت از Node.js تفسیر کندConnection را حذف یا بهدرستی بازسازی کند، ممکن است باگ Node.js قابل بهرهبرداری نباشد.Connection: close<TAB>
↓
Reverse Proxy آن را close میفهمد
↓
Node.js آن را close تشخیص نمیدهد
↓
اتصال Backend باز میماند
↓
بایتهای اضافی درخواست جدید محسوب میشوند

Forwarded from SecCode (Meisam Monsef)



World Of Security dom xss cheat sheet @world_of_security