Size: a a a

2020 August 15

_

_ in WebPwnChat
Поэтому делаю PoC)
источник

B

Bo🦠oM in WebPwnChat
Обходим экзотичную CSRF защиту

Сперва ликбез. Засабмитить форму POST-запросом можно со следующими mime type:

a) text/plain

b) application/x-www-form-urlencoded:

param1=a&param2=b

c) multipart/form-data:

---------------------------974767299852498929531610575
Content-Disposition: form-data; name="param1"

aaa
---------------------------974767299852498929531610575
Content-Disposition: form-data; name="param2"

bbb


Но нам недоступен типа application/json. Браузер заблокирует отправку с таким контент-тайпом, если отсутствуют разрешающие CORS хидеры (а это совсем другая история).

Иногда на этом построена CSRF защита, но Flash может это обойти. А поможет нам в этом вот этот прекрасный PoC: https://github.com/sp1d3r/swf_json_csrf

Если коротко, вот в чем соль:

1) Мы размещаем на собственном ресурсе особый SWF и PHP скрипт отдающий 307 редирект. Особенность редиректа 307 в том, что он, в отличие от прочих, при редиректе перенаправляет отправленные данные, а не просто перенаправляет пользователя на другую страницу.

2) Наша флешка шлет PHP скрипту POST с нужным json телом (ведь все в рамках одного ориджина, а значит CORS нас не заблокирует)

3) Скрипт отдает 307 редирект и перенаправляет на victim-site

4) Наша флешка следует по редиректу
->
Cookies подставляются, Content-type сохраняется application/json
->
PWNED!

Подробнее об этом:
https://www.geekboy.ninja/blog/exploiting-json-cross-site-request-forgery-csrf-using-flash/
источник

B

Bo🦠oM in WebPwnChat
Мм, версий нет
источник

B

Bo🦠oM in WebPwnChat
Фф фиксануло это
источник

B

Bo🦠oM in WebPwnChat
Потом видимо и хром, я перестал следить
источник

_

_ in WebPwnChat
Bo🦠oM
Потом видимо и хром, я перестал следить
Вот да. Я помню что с хромом год назад работало (а с фф уже нет), а сейчас к меня хром тоже не шлёт post после ответа с кодом 307(:
источник

I

Ivan in WebPwnChat
с 80 вроде версии хрома исправили или около того
источник

_

_ in WebPwnChat
Понял, спасибо ) значит готовлю PoC правильно, но пофиксили
источник
2020 August 16

h

helix in WebPwnChat
источник

IS

I S in WebPwnChat
Уборщица предотвратила проникновение
источник

P

PP in WebPwnChat
А где такой ЛангвиджПак на спланк взяли?
источник

SN

S N in WebPwnChat
источник

᠌᠌Sh1Yo in WebPwnChat
Есть <a href=userinput> если подставить javascript:alert() то будет
<a href=unsafe:javascript:alert()> т.е js не сработает из за unsafe:. Html encoding не работает т.к & -> &amp; (<a href=javascript&amp;column;alert()>) пробовал подставлять специальные символы около javascript, как показано на скрине ниже, все равно детектит и подставляет unsafe: в начало, типа <a href=unsafe:java\nscript:alert()>
Что еще можно попробовать?
источник

᠌᠌Sh1Yo in WebPwnChat
источник

VV

Vladimir Vlasov in WebPwnChat
А пробелы и onclick не пропустит?
источник

᠌᠌Sh1Yo in WebPwnChat
А нет, там в двойных кавычках, забыл написать
источник

h

helix in WebPwnChat
если значение аттрибута не в кавычках - отцепись и создай новый, onmouseover например
источник

1

1.4.7/12 in WebPwnChat
у кого есть фазз лист с различными символами для попытки брута заголовка Origin?
источник

᠌᠌Sh1Yo in WebPwnChat
Просто по клавиатуре пройдись :)
источник

S

SecG0s in WebPwnChat
источник