Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   неизвестная XSS, и чем ее едят (https://forum.antichat.xyz/showthread.php?t=429991)

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:

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 , вставляю в форму алерт и он срабатывает без перезагрузки странички . Сделав такую же форму и отправив алерт не получаю . Как юзать такие баги ? Передавать гетом тоже пробовал но не срабатывает


Время: 15:47