PDA

Просмотр полной версии : неизвестная XSS, и чем ее едят


zyh4n
07.09.2015, 16:13
Доброго времени.

Нашел такую XSS на сайте, во время редактирования своего профиля - все поля отсылаются в JSON'e, и если там присутствует символ " - он его экранирует и получается \". Во время сохранения профиля я перехватил запрос с помощью BURP'a и удалил символ экранации, т.е. получил чистую свою строку ">, после чего было всплывающее окошко что у вас ошибка в JSON'e {весь JSON} ну и через это сообщение вылезла XSS. Хоть данные и сохранились, но при следующих переходах на данную страницу - XSS не отрабатывало...

Вопрос, что можно сделать с помощью непонятной такой XSS?

Спасибо

kingbeef
07.09.2015, 17:23
Ты просто изменил исходный код, естественно он не сохранится. Он меняется только у тебя, но не на сервере.

zyh4n
07.09.2015, 17:38
Ну reflected xss работают так же.. единственное что ты можешь зашарить линку, но они так же не хранятся на сервере... поэтому и спрашиваю, может быть можно что-то другое залить на сервер или достать с сервера за счет того что существует такая возможность.

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

Спасибо

faza02
07.09.2015, 23:21
возможно выводится ошибка и вместе с ней вектор. посмотри, какой ответ приходит при невалидном JSON и куда он вставляется в страницу

zyh4n
09.09.2015, 01:28
В общем когда не валидный JSON на сервер походу отправляется репорт host/js-report. туда кидается большой кусок верстки + куча скриптов... но тело POSTa следующая:


HTML:
-----------------------------2391265022744
Content-Disposition: form-data; name="uri"

https://host/dashboard/business/profile
-----------------------------2391265022744
Content-Disposition: form-data; name="caller"

function onerror(event) {
prompt(2)
}
-----------------------------2391265022744
Content-Disposition: form-data; name="dom"

@media screen and (min-width: 1258px){

...
etc. и еще куча всего посылается...
...

}

-----------------------------297832247625910
Content-Disposition: form-data; name="arguments"

2
-----------------------------297832247625910--

т.е. походу XSS не запихнуть... разве что может быть можно что-то на сервер залить!?

Буду благодарен за ответ.

zyh4n
11.09.2015, 02:54
Есть какие-то идеи?

faza02
11.09.2015, 10:10
просто никто ничего не понял

zyh4n
11.09.2015, 13:15
йопт ладно, еще раз попытаюсь объяснить...

во время изменений своего профиля в одно из полей я вставил payload ">. При сохранении я поменял свой запрос заново, т.к. отправляется в JSON формате, и там идет экранация символа ". XSS - сработала, но когда я перезахожу на страницу заново - XSS нет (какае-то типа reflected, но только я могу ее получить, и другим не могу отправить ее...). В это же время отправлися ответ о ошибке на сервер (тело запроса выше).

Вопрос, могу ли я что-то добавить \ залить в этот репорт, чтоб получить \ скачать какие-то интересные данные?

Думаю сейчас понятнее....

Спасибо.

faza02
11.09.2015, 13:22
как вы скачаете, если там максимум reflected xss?

sergei_petrovish
26.04.2017, 22:57
Наткнуля на xss на json , вставляю в форму алерт и он срабатывает без перезагрузки странички . Сделав такую же форму и отправив алерт не получаю . Как юзать такие баги ? Передавать гетом тоже пробовал но не срабатывает

{iddqd}
27.04.2017, 00:04
zyh4n said:
↑ (https://antichat.live/posts/3888528/)
Доброго времени.
Нашел такую XSS на сайте, во время редактирования своего профиля - все поля отсылаются в JSON'e, и если там присутствует символ " - он его экранирует и получается \". Во время сохранения профиля я перехватил запрос с помощью BURP'a и удалил символ экранации, т.е. получил чистую свою строку ">, после чего было всплывающее окошко что у вас ошибка в JSON'e {весь JSON} ну и через это сообщение вылезла XSS. Хоть данные и сохранились, но при следующих переходах на данную страницу - XSS не отрабатывало...
Вопрос, что можно сделать с помощью непонятной такой XSS?
Спасибо


GET'ом пробовал передавать параметры?

sergei_petrovish
27.04.2017, 00:30
Ему это уже не нужно , 2 года прошло ) Лучше мне подскажите, есть форма в которой исполняется алерт без перезагрузки страниы, но браузер не отправляет ничего на сервер. Как заюзать такой баг ?Можно кк то открыть его в айфрейме на своем сайте и вставлять код в форму уже в айфрейме . ?

SooLFaa
27.04.2017, 17:39
Просто дай рабочий таргет