Внедрение полезной нагрузки XSS в содержимое Content-Type: text/xml

Заранее прошу читателя не судить меня строго, де мол я такой злопамятный злюка и неудовлетворенный жизнью, обиженный недохацкер. Вовсе нет. Во-первых, мне больше интересна техническая сторона вопроса. А во-вторых, я привык всегда исполнять, если что-то кому-то обещаю.

В общем, попался мне с месяц назад, на просторах сети хам. У хама своя фирма и естественно сайт с форумом. Челу было грозно обещано, что за свой грязный рот он будет наказан.

Сайт недоброжелателя был загружен в сессию OWASP ZAP и на ajax обработчике авторизации утилита нашла такую вот отраженную XSS

owasp xss
OWASP ZAP нашел XSS

Было обрадовавшись, я бросился тут же создавать нагрузку для получения кук и был немало опечален, когда в браузере всё отобразилось тупо текстом. А причина в заголовке Content-Type: text/xml

Я отправился за решением на форум и обратился к более опытным товарищам. Всё оказалось просто. Нагрузка должна выглядеть не классическим js, а вот так:

<x:script xmlns:x="http://www.w3.org/1999/xhtml">alert(1);</x:script>

Вот собственно форма, на которую будет отправляться в своё последнее путешествие негодяй.

xss post
post xss

Естественно форму я ещё модернизирую. Никаких алертов тут не будет, куки сольются по тихому, на почту тут же полетит письмецо, а ничего не подозревающая жертва будет перенаправлена туда, где ей будет тепло и уютно. А даже если вдруг появятся подозрения, второй раз воспроизвести переход с нагрузкой будет уже невозможно. А вот предварительный результат по переходу:

cookie xss
cookie вытянутые xss с post-ом

Остальное уже дело техники. Никогда не хамите в сети. Особенно, если у вас есть сайт и он вам дорог.

ЗЫ: Можете поставить свечку за черные квадратики на скринах… Там раньше был сайт.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *