неизвестная XSS, и чем ее едят

Discussion in 'Песочница' started by zyh4n, 7 Sep 2015.

  1. zyh4n

    zyh4n New Member

    Joined:
    7 Sep 2015
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Доброго времени.
    Нашел такую XSS на сайте, во время редактирования своего профиля - все поля отсылаются в JSON'e, и если там присутствует символ " - он его экранирует и получается \". Во время сохранения профиля я перехватил запрос с помощью BURP'a и удалил символ экранации, т.е. получил чистую свою строку "><img src=x onerror=prompt(1)>, после чего было всплывающее окошко что у вас ошибка в JSON'e {весь JSON} ну и через это сообщение вылезла XSS. Хоть данные и сохранились, но при следующих переходах на данную страницу - XSS не отрабатывало...

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

    Спасибо
     
  2. kingbeef

    kingbeef Reservists Of Antichat

    Joined:
    8 Apr 2010
    Messages:
    367
    Likes Received:
    164
    Reputations:
    126
    Ты просто изменил исходный код, естественно он не сохранится. Он меняется только у тебя, но не на сервере.
     
    _________________________
  3. zyh4n

    zyh4n New Member

    Joined:
    7 Sep 2015
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Ну reflected xss работают так же.. единственное что ты можешь зашарить линку, но они так же не хранятся на сервере... поэтому и спрашиваю, может быть можно что-то другое залить на сервер или достать с сервера за счет того что существует такая возможность.
    Потому что в других местах на сайте - у меня просто вылетает ошибка, что, что-то пошло не так, а тут мне возвращается весь JSON да и еще с конвертацией тегов.

    Спасибо
     
  4. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    возможно выводится ошибка и вместе с ней вектор. посмотри, какой ответ приходит при невалидном JSON и куда он вставляется в страницу
     
    _________________________
  5. zyh4n

    zyh4n New Member

    Joined:
    7 Sep 2015
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    В общем когда не валидный 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"
    
    <script id="dashboard-navigation" src="/dashboard/navigation.js" type="text/javascript" async="true" data-global-interface="dashboardNavigation" data-app-id="dashboard" data-api-url="https://host"></script>
      <div id="dashboard-navigation__container"><style>@media screen and (min-width: 1258px){
    
    ...
    etc. и еще куча всего посылается...
    ...
    
    }
    
    -----------------------------297832247625910
    Content-Disposition: form-data; name="arguments"
    
    2
    -----------------------------297832247625910--
    
    т.е. походу XSS не запихнуть... разве что может быть можно что-то на сервер залить!?
    Буду благодарен за ответ.
     
  6. zyh4n

    zyh4n New Member

    Joined:
    7 Sep 2015
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Есть какие-то идеи? :)
     
  7. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    просто никто ничего не понял
     
    _________________________
  8. zyh4n

    zyh4n New Member

    Joined:
    7 Sep 2015
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    йопт :) ладно, еще раз попытаюсь объяснить... :)

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

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

    Думаю сейчас понятнее.... :)
    Спасибо.
     
  9. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    как вы скачаете, если там максимум reflected xss?
     
    _________________________
  10. sergei_petrovish

    sergei_petrovish New Member

    Joined:
    24 Jan 2016
    Messages:
    31
    Likes Received:
    3
    Reputations:
    1
    Наткнуля на xss на json , вставляю в форму алерт и он срабатывает без перезагрузки странички . Сделав такую же форму и отправив алерт не получаю . Как юзать такие баги ? Передавать гетом тоже пробовал но не срабатывает
     
  11. {iddqd}

    {iddqd} Member

    Joined:
    22 Dec 2011
    Messages:
    170
    Likes Received:
    99
    Reputations:
    2
    GET'ом пробовал передавать параметры?
     
  12. sergei_petrovish

    sergei_petrovish New Member

    Joined:
    24 Jan 2016
    Messages:
    31
    Likes Received:
    3
    Reputations:
    1
    Ему это уже не нужно , 2 года прошло ) Лучше мне подскажите, есть форма в которой исполняется алерт без перезагрузки страниы, но браузер не отправляет ничего на сервер. Как заюзать такой баг ?Можно кк то открыть его в айфрейме на своем сайте и вставлять код в форму уже в айфрейме . ?
     
  13. SooLFaa

    SooLFaa Members of Antichat

    Joined:
    17 Mar 2014
    Messages:
    530
    Likes Received:
    499
    Reputations:
    154
    Просто дай рабочий таргет
     
    _________________________