дорки

дорки

хуй

Что такое дорка и из чего она состоит?

Дорка - специальный запрос в поисковой системе для нахождения нужной информации.

Разберемся из чего состоит данная дорка - inurl:index.php?catid= intitle:shop site:com

Дорка делиться на несколько составляющих:

Inurl: , intitle:shop , site:com - параметры для поисковой системы.

Их достаточно много, но я использовал эти:

inurl:index.php?catid= - найдем сайты, где содержится все, после ":" в ссылке

(.index.php?catid=132 - Recherche Google).

intitle:shop - найдем сайты, где содержится "shop" внутри тега title (<title>shop</title>).

intext:shop - найдем сайты, где содержится "shop" внутри текста страницы.

site:com - найдем сайты в домене .com 

Неплохая фича - расширенный поиск от гугла, для тех у кого плохо с пониманием.

index - название файла.

Название может быть любым. Обычно при разработке сайтов используются распространенные названия, которые несут в себе логическое значение. Поэтому у большинства сайтов можно видеть одинаковые названия файлов.

.php - расширение файла. Более полный список можно найти здесь - Интернет, web файлы - расширения, форматы файлов

.html?

.php?

.asp?

.aspx?

.cfm?

.htm?

.ihtml?

.mvc?

.shtml?

.xhtml?

.cgi?

.jsp?

.php3?

.php4?

.php5?

.jspx?

.jsf?

.xml?

.jhtml?

.phtm?

.phtml?

.mhtml?

.asmx?

catid= - имя входного параметра.


Создаем дорки.

Исходя из этого, для себя я вижу несколько вариантов использования дорок:

  1. Поиск по частям дорок
  2. Поиск по доркам, собранным из разных частей
  3. Поиск по готовым вариантам дорок (не самый лучший способ).

Как начинал я.

Дорок у меня не было совсем, но были в запасе шопы, которые я спарсил с гугла

Я взял программу Acunetix Vulnerability Scanner

Вообще она предназначена для поиска уявзимостей на сайте, в том числе и скулей.

Но я использовал ее для составления карты сайта, тем самым узнавал части дорок.


Допустим у вас есть дорки/их составляющие.

Части дорок я собирал вручную, как и составлял полноценные дорки.

Также вручную я находил уязвимые сайты через гугл. Позже объясню почему руками работать лучше, чем всяческими SQLi Dumper-ами и прочими парсерами.


Как я искал сайты с помощью дорок:

  • Название + расширение (inurl:buying-gift-cards.aspx? или inurl:buying-gift-cards).
  • Расширение + параметр (inurl:aspx?MS_ID= или inurl:?MS_ID=)
  • Название + поиск в <title> (inurl:email_signup. intitle:Sharing and Usage)
  • Название + домен (inurl:ankle-biter. site:ws)
  • Значение + поиск в <title> (inurl:?MS_ID= intitle:basket)
  • Название или значение + поиск + домен (inurl:rim-strips.aspx? intitle:consumer reviews site:us или inurl:?sesskey= intitle:вход site:xn--p1ai)

Почему именно так? Иногда части дорок используются лишь на небольшом количестве сайтов, чтобы не создавать плохие дорки, тем самым сэкономить время, можно их просто загуглить.

Поиск уязвимых сайтов.


Все сайты я проверял вручную. Почему? На данный момент это лучший способ найти еще не раскрученный сайт. Давайте будем разбираться на примере сайта - TOP - Ukiyoe Gallery SHUKADO .

Тот софт, что многие используют(SQLi Dumper, Havij) не позволяет полностью проверять сайты на уязвимость. Они не умеют работать через формы, через tamper data.

Поэтому ставим себе sqlmap: automatic SQL injection and database takeover tool - мультиплатформенную программу для пентестинга.

Также ставим GitHub - ron190/jsql-injection: jSQL Injection is a Java application for automatic SQL database injection. .

Вбил дорку в гугл, перешел на сайт. Какая может быть уязвимость на самом сайте? Банально подставляем в параметр '.

Подмена заголовков в PHP.


Уязвимость в формах.

И т.д. В двух словах не объяснишь, поэтому прикреплю литературу.

Sqlmap запускается через cmd. Если вы не устанавливали путь до файла python.exe, то запуск выглядит примерно так:

C:\Python27\python.exe F:\sqlmap\sqlmap.py -u Ukiyoe Gallery SHUKADO --dbs --random-agent --threads=10

Разберемся, что к чему. -u - целевой URL, --dbs - перечислить базы-данных, --random-agent - установить случайный юзер-агент, --threads - количество потоков.

Также есть функция парсинга с гугла по дорке, вместо -u, нужно подставить -g (-g inurl:index.php). Но я не советую ее использовать.

--dbs Перечислить базы данных СУБД

--tables Перечислить таблицы базы данных СУБД

--columns Перечислить колонки таблицы СУБД

--dump Сдампить записи таблицы базы данных СУБД

--dump-all Сдампить все записи таблиц базы данных СУБД

--search Поиск колонки(ок), таблиц(ы) и/или имени(имён) базы данных

--page-rank Показать page rank (PR) для результатов дорка Google

прочитать про шеллы


Опции:


-h, --help Показать базовую справку и выйти

-hh Показать продвинутую справку и выйти

--version Показать номер версии программы и выйти

-v VERBOSE Уровень вербальности: 0-6 (по умолчанию 1)


Цель:


По крайней мере одна из этих опций должна быть указана, чтобы задать цель(и)

-d DIRECT Строка подключения для прямого соединения с базой данных

-u URL, --url=URL Целевой URL 

-l LOGFILE Парсить цель(и) из файлов логов Burp или WebScarab

-x SITEMAPURL Парсить цель(и) из удалённого файла sitemap(.xml)

-m BULKFILE Сканировать множество целей, заданных в текстовом файле

-r REQUESTFILE Загрузить HTTP запросы из файла

-g GOOGLEDORK Обработать результаты дорков Google как целевых URL

-c CONFIGFILE Загрузить опции из конфигурационного файла INI


Запросы:


Эти опции могут использоваться для определения как подключиться к целевому URL

--method=МЕТОД Принудительно использовать заданный HTTP метод (например, PUT)

--data=ДАННЫЕ Строка данных для отправки через POST

--param-del=РАЗД_ПАРfv Символ, используемый для разделения величин параметров

--cookie=КУКИ Значение заголовка HTTP куки HTTP

--cookie-del=РАЗДЕЛИТЕЛЬ_КУКИ Символ, используемый для разделения величин куки

--load-cookies=ФАЙЛ_ДЛЯ_ЗАГРУЗКИ Файл, содержащий куки в формате Netscape/wget

--drop-set-cookie Игнорировать заголовок Set-Cookie из ответа

--user-agent=AGENT Значение заголовка HTTP User-Agent

--random-agent Использовать случайно выбранное значение заголовка HTTP User-Agent

--host=ХОСТ Значение заголовка хоста HTTP

--referer=РЕФЕРЕР Значение заголовка HTTP Referer

-H ЗАГОЛОВОК, --header Дополнительный заголовок (к примеру, "X-Forwarded-For: 127.0.0.1")

--headers=ЗАГОЛОВКИ Дополнительные заголовки (к примеру, "Accept-Language: fr\nETag: 123")

--auth-type=ТИП_АУТ HTTP тип аутентификации (Basic, Digest, NTLM или PKI)

--auth-cred=ДАННЫЕ_АУТ учётные данные HTTP аутентификации (имя:пароль)

--auth-file=ФАЙЛ_АУТ файл HTTP аутентификации PEM сертификат/частный ключ

--ignore-401 Игнорировать ошибку HTTP 401 (Unauthorized) (Неавторизован)

--proxy=ПРОКСИ Использовать прокси для подключения к целевому URL

--proxy-cred=УЧЁТКА_ПРОКСИ Учётные данные аутентификации прокси (имя:пароль)

--proxy-file=ФАЙЛ_ПРОКСИ Загрузить список прокси из файла

--ignore-proxy Игнорировать дефолтные системные настройки прокси

--tor Использовать анонимную сеть Tor

--tor-port=TORPORT Установить порт прокси Tor отличный от дефолтного

--tor-type=TORTYPE Установить тип прокси Tor (HTTP (по умолчанию), SOCKS4 или SOCKS5)

--check-tor Проверить, используется ли Tor должным образом

--delay=ЗАДЕРЖКА Задержка в секундах между каждым HTTP запросом

--timeout=ТАЙМАУТ Секунды для ожидания перед таймаутом соединения (по умолчанию 30)

--retries=ПОПЫТКИ Попытки при таймаутах соединения (по умолчанию 3)

--randomize=ПАРАМЕТРЫ Случайно менять значения данного параметра(ов)

--safe-url=БЕЗОПАСНЫЙ_EURL URL адрес для частого посещения во время тестирования

--safe-post=POST Данные POST для отправки на безопасный URL

--safe-req=БЕЗОПАСНЫЙ_ФАЙЛ Load safe HTTP request from a file

--safe-freq=КОЛИЧЕСТВО Тестовые запросы между двумя визитами на заданный безопасный URL

--skip-urlencode Пропустить URL кодирование данных для запросов

--csrf-token=CSR.. Параметр используемый для удержания токена anti-CSRF

--csrf-url=CSRFURL URL адрес для посещения для извлечения токена anti-CSRF

--force-ssl Принудительное использование SSL/HTTPS

--hpp Использовать метод загрязнения параметра HTTP

--eval=EVALCODE Выполнить данные код Python перед запросом (например,

"import hashlib;id2=hashlib.md5(id).hexdigest()")


Оптимизация:


Эти опции могут использовать для оптимизации производительности sqlmap

-o Отключить все переключатели оптимизации

--predict-output Прогнозировать общий вывод запросов

--keep-alive Использовать постоянные соединения HTTP(s)

--null-connection Получить длину страницу без фактического тела ответа HTTP

--threads=ПОТОКИ Максимальное количество одновременных HTTP(s) запросов (по умолчанию 1)


Инъекция:


Эти опции могут использоваться для определения, какой параметр тестировать,

обеспечивать пользовательскую инъекционную нагрузку и дополнительные скрипты обфускации

-p TESTPARAMETER Тестируемый параметр(ы)

--skip=SKIP Пропустить тестирования данного параметра(ов)

--skip-static Пропустить тестирование параметров, которые не кажутся динамическими

--dbms=DBMS Принудительно указать СУБД

--dbms-cred=DBMS.. Данные аутентификации СУБД (пользователь:пароль)

--os=OS Принудительно указать операционную систему СУБД

--invalid-bignum Использовать большие числа для недействительных значений

--invalid-logical Использовать логические операции для недействительных значений

--invalid-string Использовать случайные строки для недействительных значений

--no-cast Отключить механизм отбора полезной нагрузки

--no-escape Отключить механизм экранирования строк

--prefix=PREFIX Предваряющая строка инъекционного запроса

--suffix=SUFFIX Завершающая строка инъекционного запроса

--tamper=TAMPER Использовать данный скрипт(ы) для обфускации инъекционных данных


Выявление:


Эти опции можно использовать для настройки фазы выявления

--level=УРОВЕНЬ Уровень выполнения тестирования (1-5, по умолчанию 1)

--risk=РИСК Риск выполняемого тестирования (1-3, по умолчанию 1)

--string=СТРОКА Строка, когда запрос выполнен в True (Истина)

--not-string=НЕ_ИСТИНА Строка, когда запрос выполнен в False (Ложь)

--regexp=РЕГУЛЯРНОЕ_ВЫРАЖЕНИЕ Регулярное выражение, когда запрос выполнен в True (Истина)

--code=КОД HTTP код, когда запрос выполнен в True (Истина)

--text-only Сравнить страницы основываясь только на текстовом содержимом

--titles Сравнить страницы основываясь только на их заголовках


Техники:


Эти опции можно использовать для поднастройки тестирования отдельных техник SQL инъекции

--technique=ТЕХНИКА Техники SQL инъекций для использования (по умолчанию "BEUSTQ")

--time-sec=TIMESEC Секунды для задержки ответа СУБД (по умолчанию 5)

--union-cols=UCOLS Диапазон колонок для тестирования с запросами UNION SQL инъекций

--union-char=UCHAR Символ для использования при брутфорсинге количества колонок

--union-from=UFROM Таблица для использования в FROM части UNION запроса SQL инъекции

--dns-domain=ДОМЕН Доменное имя, используемое для эксфильтрационной атаки DNS

--second-order=СТРОКА В результате по URL ищется ответ второго порядка

Отпечатки:

-f, --fingerprint Выполняет обширную сверку версии СУБД


Перечисления:


Эти опции могут использоваться для перечисления информации

системы управления базами данных, структуры содержащихся в

таблицах данных. Более того, вы можете запустить ваши собственные

SQL выражения

-a, --all Получить всё

-b, --banner Получить банер СУБД

--current-user Получить текущего пользователя СУБД

--current-db Получить текущую базу данных СУБД

--hostname Получить имя хоста сервера СУБД

--is-dba Определить, является ли текущий пользователь администратором СУБД

--users Перечислить пользователей СУБД

--passwords Перечислить хеши паролей пользователей СУБД

--privileges Перечислить пользовательские привилегии СУБД

--roles Перечислить пользовательские роли СУБД

--dbs Перечислить базы данных СУБД

--tables Перечислить таблицы базы данных СУБД

--columns Перечислить колонки таблицы СУБД

--schema Перечислить схему СУБД

--count Перечислить количество записей для таблицы(таблиц)

--dump Сдампить записи таблицы базы данных СУБД

--dump-all Сдампить все записи таблиц базы данных СУБД

--search Поиск колонки(ок), таблиц(ы) и/или имени(имён) базы данных

--comments Получить комментарии СУБД

-D БД БД СУБД для перечисления

-T ТБЛ Таблица(ы) БД СУБД для перечисления

-C КОЛ Колонка(и) таблицы БД СУБД для перечисления

-X ПРОПУСТИТЬКОЛ Колонка(и) БД СУБД для не перечисления

-U ПОЛЬЗОВАТЕЛЬ Пользователи СУБД для перечисления

--exclude-sysdbs Пробустить системные БД СУБД при перечислении таблиц

--where=DUMPWHERE Использовать условие WHERE при дампинге таблиц

--start=LIMITSTART Первая выходная запись запроса для получения

--stop=LIMITSTOP Последняя выходная запись запроса для получения

--first=FIRSTCHAR Первый символ выходного слова запроса для получения

--last=LASTCHAR Последний символ выходного слова запроса для получения

--sql-query=QUERY SQL выражение для исполнения

--sql-shell Приглашение интерактивного SQL шелла

--sql-file=SQLFILE Выполнить SQL выражение из данного файла(ов)


Брут-форс:


Эти опции могут использоваться для записи проверок брут-форсом

--common-tables Проверить наличие распространённых таблиц

--common-columns Проверить наличие распространённых колонок

Инъекция заданных пользователем функций:

Эти опции могут быть использованы для создания определённых пользователем функций

--udf-inject Вставка предопределённых пользователем функций

--shared-lib=SHLIB Локальный путь до общей библиотеки


Доступ к файловой системе:


Эти опции могут быть использованы для доступа к файловой системе СУБД

--file-read=RFILE Прочитать файл из файловой системы СУБД

--file-write=WFILE Записать локальный файл в файловую систему СУБД

--file-dest=DFILE Абсолютный путь для записи файла в СУБД


Доступ к оперативной системе:


Эти опции могут быть использованы для получения доступа к ОС СУБД

--os-cmd=OSCMD Выполнить команду ОС

--os-shell Приглашение интерактивного шелла ОС

--os-pwn Прриглашение для внеполосного шелла, Meterpreter или VNC

--os-smbrelay Однокликовое приглашение для внеполосного шелла, Meterpreter или VNC

--os-bof Эксплуатация переполнения буфера хранимой процедуры

--priv-esc Повышение пользовательских привилегий процесса БД

--msf-path=MSFPATH Локальный путь где установлен Metasploit Framework

--tmp-path=TMPPATH Удалённый абсолютный путь директории временных файлов


Доступ к регистру Windows:


Эти опции могут использоваться к доступу к регистру Windows СУБД

--reg-read Прочитать значение ключа регистра Windows

--reg-add Записать значение ключа регистра Windows

--reg-del Удалить значение ключа регистра Windows

--reg-key=REGKEY Ключ регистра Windows

--reg-value=REGVAL Значение ключа регистра Windows

--reg-data=REGDATA Данные значения ключа регистра Windows

--reg-type=REGTYPE Тип значения ключа регистра Windows


Общие:


Эти опции могут быть использованы для установки общих рабочих параметров

-s SESSIONFILE Загрузить сессию из сохранённого файла (.sqlite)

-t TRAFFICFILE Записать весь HTTP трафик в текстовый файл

--batch Никогда не спрашивать пользовательского ввода, использовать поведение по умолчанию

--charset=CHARSET Принудительная кодировка символов, используемых для получения данных

--crawl=CRAWLDEPTH Ползать по веб-сайту начиная с заданного URL

--crawl-exclude=РЕГВЫРАЖЕНИЕ Регулярное выражение для исключения страниц для ползания (например, "logout")

--csv-del=CSVDEL Символ разделителя, используемый в выводе CSV (по умолчанию ",")

--dump-format=ДАМПФОРМАТ Формат сдампленных данных (CSV (по умолчанию), HTML или SQLITE)

--eta Отобразить для каждого вывода приблизительное время прибытия

--flush-session Стереть сессионные файлы для текущей цели

--forms Парсить и тестировать формы на целевой URL

--fresh-queries Игнорировать результаты запросов, сохранённые в сессионном файле

--hex Использовать шестнадцатеричную функцию(ии) СУБД для получения данных

--output-dir=OUT.. Пользовательский путь директории вывода

--parse-errors Парсить и отображать сообщения ошибок СУБД из ответов

--pivot-column=P.. Имя стержневой колонки

--save=SAVECONFIG Сохранить опции в конфигурационный INI файл

--scope=SCOPE Регулярное выражение для фильтрации целей из лога proxy

--test-filter=TE.. Выбрать тесты по полезной нагрузке и/или названиям (например, ROW)

--test-skip=TEST.. Пропустить тесты по полезной нагрузке и/или названиям (например, BENCHMARK)

--update Обновить sqlmap


Разное:


-z MNEMONICS Использовать короткие мнемоники (например, "flu,bat,ban,tec=EU")

--alert=ALERT Запустить команду(ы) ОС, когда найдена SQL инъекция

--answers=ANSWERS Установить ответ на вопрос (например "quit=N,follow=N")

--beep Сигнал на вопрос и/или когда найдена SQL инъекция

--cleanup Очистить СУБД от специфичных для sqlmap пользовательских функций и таблиц

--dependencies Проверить на отсутствующие (неосновные) зависимости sqlmap

--disable-coloring Отключить раскрашивание вывода в консоли

--gpage=GOOGLEPAGE Использовать результаты дорка Google с указанного номера страницы

--identify-waf Провести тщательное тестирование на WAF/IPS/IDS защиту

--skip-waf Пропустить эвристическое обнаружение WAF/IPS/IDS защиты

--mobile Имитировать смартфон через заголовок HTTP User-Agent

--offline Работать в оффлайн режиме (использовать только данные сессии)

--page-rank Показать page rank (PR) для результатов дорка Google

--purge-output Безопасно удалить всё содержимое из директории вывода

--smart Провести тщательные тесты только если эвристика дала положительные результаты

--sqlmap-shell Запрос интерактивного шелла sqlmap

--wizard Простой интерфейс мастера для начинающих пользователей


Report Page