tgoop.com/webpwn/302
Create:
Last Update:
Last Update:
В ASP.NET
есть удобная олдскульная фича - cookieless session. Она осталась ещё с тех времён, когда куки поддерживались не всеми браузерами и сессию приходилось передавать внутри URL.
Например, http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/default.aspx
При использовании Control.ResolveUrl метода, это значение может выводится без корректного энкодинга символов, что может давать нам XSS-ку:<script src="<%= ResolveUrl("~/Script.js") %>"></script>
+http://example.com/(A(%22onerror=%22alert`1`%22))/default.aspx
->
<script src="/(A("onerror="alert`1"))/Script.js"></script>
Более подробно об этой особенности и эксплуатации можно почитать ТУТ
Кроме того, эту фичу можно использовать для обхода ограничений на реверс прокси к админке приложения бэкэнда (всё что начинается с “/admin”), например:
http://victim.com/admin
- 403http://victim.com/(A(ABCD))/admin
- 200Работает в
.NET 2.0-4.8
. В .NET Core
всех версий и в .NET5
это не поддерживается.BY Кавычка
Share with your friend now:
tgoop.com/webpwn/302