Используем малоизвестные функции Google, чтобы найти сокрытое. Инструкция по использованию jSQL Injection — многофункционального инструмента поиска и эксплуатации SQL-инъекций в Kali Linux Inurl app members пошел

USSCLTD 10 мая 2016 в 12:38

Ищем уязвимости с помощью google

  • Информационная безопасность

Любой поиск уязвимостей на веб-ресурсах начинается с разведки и сбора информации.
Разведка может быть как активной - брутфорс файлов и директорий сайта, запуск сканеров уязвимостей, ручной просмотр сайта, так и пассивной - поиск информации в разных поисковых системах. Иногда бывает так, что уязвимость становится известна еще до открытия первой страницы сайта.

Как такое возможно?
Поисковые роботы, безостановочно бродящие по просторам интернета, помимо информации, полезной обычному пользователю, часто фиксируют то, что может быть использовано злоумышленниками при атаке на веб-ресурс. Например, ошибки скриптов и файлы с чувствительной информацией (начиная от конфигурационных файлов и логов, заканчивая файлами с аутентификационными данными и бэкапами баз данных).
С точки зрения поискового робота сообщение об ошибке выполнения sql-запроса - это обычный текст, неотделимый, например, от описания товаров на странице. Если вдруг поисковый робот наткнулся на файл с расширением.sql, который почему-то оказался в рабочей папке сайта, то он будет воспринят как часть содержимого сайта и так же будет проиндексирован (включая, возможно, указанные в нём пароли).

Подобную информацию можно найти, зная устойчивые, часто уникальные, ключевые слова, которые помогают отделить «уязвимые страницы» от страниц, не содержащих уязвимости.
Огромная база специальных запросов с использованием ключевых слов (так называемых дорков) существует на exploit-db.com и известна под названием Google Hack Database.

Почему google?
Дорки ориентированы в первую очередь на google по двум причинам:
− наиболее гибкий синтаксис ключевых слов (приведен в Таблице 1) и специальных символов (приведен в Таблице 2);
− индекс google всё же более полный нежели у других поисковых систем;

Таблица 1 – Основные ключевые слова google

Ключевое слово
Смысл
Пример
site
Поиск только на указанном сайте. Учитывает только url
site:somesite.ru - найдет все страницы по данному домену и поддоменам
inurl
Поиск по словам, присутствующим в uri. В отличие от кл. слова “site”, ищет совпадения после имени сайта
inurl:news - найдет все страницы, где в uri встретится данное слово
intext
Поиск в теле страницы
intext:”пробки” - полностью аналогично обычному запросу “пробки”
intitle
Поиск в заголовке страницы. Текст, заключенный между тэгами <br></td> <td width="214">intitle:”index of” - найдет все страницы с листингом директории<br></td> </tr><tr><td width="214">ext<br></td> <td width="214">Поиск страниц с указанным расширением<br></td> <td width="214">ext:pdf - найдет все pdf-файлы<br></td> </tr><tr><td width="214">filetype<br></td> <td width="214">В настоящее время полностью аналогично кл. слову “ext”<br></td> <td width="214">filetype:pdf - аналогично<br></td> </tr><tr><td width="214">related<br></td> <td width="214">Поиск сайтов со схожей тематикой<br></td> <td width="214">related:google.ru - покажет свои аналоги<br></td> </tr><tr><td width="214">link<br></td> <td width="214">Поиск сайтов, ссылающихся на данный<br></td> <td width="214">link:somesite.ru - найдет все сайты, на которых есть ссылка на данный<br></td> </tr><tr><td width="214">define<br></td> <td width="214">Показать определение слова<br></td> <td width="214">define:0day - определение термина<br></td> </tr><tr><td width="214">cache<br></td> <td width="214">Показать содержимое страницы в кэше (если имеется)<br></td> <td width="214">cache:google.com - откроет страницу из кэша<br></td> </tr></tbody></table><p>Таблица 2 – Специальные символы запросов google<br></p><table><tbody><tr><td width="214"><b>Символ </b><br></td> <td width="214"><b>Смысл </b><br></td> <td width="214"><b>Пример </b><br></td> </tr><tr><td width="214">“<br></td> <td width="214">Точная фраза<br></td> <td width="214">intitle:«RouterOS router configuration page» - поиск роутеров<br></td> </tr><tr><td width="214">*<br></td> <td width="214">Любой текст<br></td> <td width="214">inurl:«bitrix*mcart» - поиск сайтов на bitrix с уязвимым модулем mcart<br></td> </tr><tr><td width="214">.<br></td> <td width="214">Любой символ<br></td> <td width="214">Index.of - аналогично запросу index of<br></td> </tr><tr><td width="214">-<br></td> <td width="214">Исключить слово<br></td> <td width="214">error -warning - показать все страницы, где есть error, но нет warning<br></td> </tr><tr><td width="214">..<br></td> <td width="214">Диапазон<br></td> <td width="214">cve 2006..2016 - показать уязвимости по годам начиная с 2006<br></td> </tr><tr><td width="214">|<br></td> <td width="214">Логическое «или»<br></td> <td width="214">linux | windows - показать страницы, где встречается либо первое либо второе слово<br></td> </tr></tbody></table><br> Стоит понимать, что любой запрос к поисковой системе - это поиск только по словам.<br> Бесполезно искать на странице мета-символы (кавычки, скобки, знаки пунктуации и т. п). Даже поиск по точной фразе, указанной в кавычках, - это поиск по словам, с последующим поиском точного совпадения уже в результатах.<p>Все дорки Google Hack Database разделены логически на 14 категорий и представлены в таблице 3.<br> Таблица 3 – Категории Google Hack Database<br></p><table><tbody><tr><td width="168"><b>Категория </b><br></td> <td width="190"><b>Что позволяет найти </b><br></td> <td width="284"><b>Пример </b><br></td> </tr><tr><td width="168">Footholds<br></td> <td width="190">Веб-шеллы, публичные файловые менеджеры<br></td> <td width="284">Найти все взломанные сайты, где залиты перечисленные вебшеллы:<br> (intitle:«phpshell» OR intitle:«c99shell» OR intitle:«r57shell» OR intitle:«PHP Shell » OR intitle:«phpRemoteView») `rwx` «uname»<br></td> </tr><tr><td width="168">Files containing usernames<br></td> <td width="190">Файлы реестра, конфигурационные файлы, логи, файлы, содержащие историю введенных команд<br></td> <td width="284">Найти все файлы реестра, содержащие информацию об аккаунтах:<br><i>filetype:reg reg +intext:«internet account manager» </i><br></td> </tr><tr><td width="168">Sensitive Directories<br></td> <td width="190">Каталоги с различной информацией (личные документы, конфиги vpn, скрытые репозитории и т.д.)<br></td> <td width="284">Найти все листинги директорий содержащих файлы, относящиеся к vpn:<br><i>«Config» intitle:«Index of» intext:vpn </i><br> Сайты, содержащие git-репозитории:<br><i>(intext:«index of /.git») («parent directory») </i><br></td> </tr><tr><td width="168">Web Server Detection<br></td> <td width="190">Версию и иную информацию о веб-сервере<br></td> <td width="284">Найти административные консоли сервера JBoss:<br><i>inurl:"/web-console/" intitle:«Administration Console» </i><br></td> </tr><tr><td width="168">Vulnerable Files<br></td> <td width="190">Скрипты, содержащие известные уязвимости<br></td> <td width="284">Найти сайты, использующие скрипт, позволяющий выгрузить произвольный файл с сервера:<br><i>allinurl:forcedownload.php?file= </i><br></td> </tr><tr><td width="168">Vulnerable Servers<br></td> <td width="190">Инсталляционные скрипты, веб-шеллы, открытые административные консоли и т.д<br></td> <td width="284">Найти открытые PHPMyAdmin консоли, запущенные от root:<br><i>intitle:phpMyAdmin «Welcome to phpMyAdmin ***» «running on * as root@*» </i><br></td> </tr><tr><td width="168">Error Messages<br></td> <td width="190">Различные ошибки и предупреждения часто раскрывающие важную информацию - начиная от версии CMS до паролей<br></td> <td width="284">Сайты, имеющие ошибки в выполнении sql-запросов к базе:<br><i>«Warning: mysql_query()» «invalid query» </i><br></td> </tr><tr><td width="168">Files containing juicy info<br></td> <td width="190">Сертификаты, бэкапы, электронные письмы, логи, sql-скрипты и т.д<br></td> <td width="284">Найти инициализационные sql-скрипты:<br><i>filetype:sql and «insert into» -site:github.com </i><br></td> </tr><tr><td width="168">Files containing passwords<br></td> <td width="190">Всё что может содержать пароли - логи, sql-скрипты и т.д<br></td> <td width="284">Логи, упоминающие пароли:<br><i>filetype: </i><i>log </i><i>intext: </i><i>password | </i><i>pass | </i><i>pw </i><br> sql-скрипты содержащие пароли:<br><i>ext: </i><i>sql </i><i>intext: </i><i>username </i><i>intext: </i><i>password </i><br></td> </tr><tr><td width="168">Sensitive Online Shopping Info<br></td> <td width="190">Информацию связанную с онлайн покупками<br></td> <td width="284">Найти пинкоды:<br><i>dcid= </i><i>bn= </i><i>pin </i><i>code= </i><br></td> </tr><tr><td width="168">Network or vulnerability data<br></td> <td width="190">Информацию, не относящуюся непосредственно к веб-ресурсу, но затрагивающую сеть либо прочие не веб-сервисы<br></td> <td width="284">Найти скрипты автоматической настройки прокси, содержащие информацию о внутренней сети:<br><i>inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl </i><br></td> </tr><tr><td width="168">Pages containing login portals<br></td> <td width="190">Страницы, содержащие формы входа<br></td> <td width="284">Веб-страницы saplogon:<br><i>intext:«2016 SAP AG. All rights reserved.» intitle:«Logon» </i><br></td> </tr><tr><td width="168">Various Online Devices<br></td> <td width="190">Принтеры, роутеры, системы мониторинга и т.д<br></td> <td width="284">Найти конфигурационную панель принтера:<br><i>intitle:" </i><i>hp </i><i>laserjet" </i><i>inurl: </i><i>SSI/ </i><i>Auth/ </i><i>set_ </i><i>config_ </i><i>deviceinfo. </i><i>htm </i><br></td> </tr><tr><td width="168">Advisories and Vulnerabilities<br></td> <td width="190">Сайты на уязвимых версиях CMS<br></td> <td width="284">Найти уязвимые плагины, через которые можно загрузить произвольный файл на сервер:<br><i>inurl:fckeditor -intext:«ConfigIsEnabled = False» intext:ConfigIsEnabled </i><br></td> </tr></tbody></table><br> Дорки чаще ориентированы на поиск по всем сайтам сети интернет. Но ни что не мешает ограничить область поиска на каком-либо сайте или сайтах.<br> Каждый запрос к google можно сосредоточить на определённом сайте, добавив к запросу ключевое слово «site:somesite.com». Данное ключевое слово может быть дописано к любому дорку.<p><b>Автоматизация поиска уязвимостей </b><br> Так родилась идея написать простенькую утилиту, автоматизирующую поиск уязвимостей с помощью поисковой системы (google) и опирающуюся на Google Hack Database.</p><p>Утилита представляет из себя скрипт, написанный на nodejs с использованием phantomjs. Если быть точным, то скрипт интерпретируется самим phantomjs.<br> Phantomjs - это полноценный веб-браузер без графического интерфейса, управляемый с помощью js-кода и обладающий удобным API.<br> Утилита получила вполне понятное название – dorks. Запустив её в командной строке (без опций) получаем короткую справку с несколькими примерами использования:<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/edd/6fb/ccc/edd6fbccc5ec340abe750f3073c1b427.jpg' width="100%" loading=lazy><br> Рисунок 1 - Список основных опций dorks</p><p>Общий синтаксис утилиты: dork «команда» «список опций».<br> Подробное описание всех опций представлено в таблице 4. </p><p>Таблица 4 – Синтаксис dorks<br></p><table border="1"><tbody><tr><td width="214"><b>Команда </b><br></td> <td width="214"><b>Опция </b><br></td> <td width="214"><b>Описание </b><br></td> </tr><tr><td rowspan="4" width="214">ghdb<br></td> <td width="214">-l<br></td> <td width="214">Вывести нумерованный список категорий дорков Google Hack Database<br></td> </tr><tr><td width="214">-c «номер или название категории»<br></td> <td width="214">Загрузить дорки указанной категории по номеру или названию<br></td> </tr><tr><td width="214">-q «фраза»<br></td> <td width="214">Загрузить дорки, найденные по запросу<br></td> </tr><tr><td width="214">-o «файл»<br></td> <td width="214">Сохранить результат в файл (только вместе с опциями -c|-q)<br></td> </tr><tr><td rowspan="8" width="214">google<br></td> <td width="214">-d «дорк»<br></td> <td width="214">Задать произвольный дорк (опция может использоваться много раз, допускается сочетание с опцией -D)<br></td> </tr><tr><td width="214">-D «файл»<br></td> <td width="214">Использовать дорки из файла<br></td> </tr><tr><td width="214">-s «сайт»<br></td> <td width="214">Задать сайт (опция может использоваться много раз, допускается сочетание с опцией -S)<br></td> </tr><tr><td width="214">-S «файл»<br></td> <td width="214">Использовать сайты из файла (перебор дорков будет выполнен по каждому сайту независимо)<br></td> </tr><tr><td width="214">-f «фильтр»<br></td> <td width="214">Задать дополнительные ключевые слова (будет добавлено к каждому дорку)<br></td> </tr><tr><td width="214">-t «количество мс»<br></td> <td width="214">Интервал между запросами к google<br></td> </tr><tr><td width="214">-T «количество мс»<br></td> <td width="214">Таймаут, если встретилась каптча<br></td> </tr><tr><td width="214">-o «файл»<br></td> <td width="214">Сохранить результат в файл (будут сохранены только те дорки, по которым что-то нашлось)<br></td> </tr></tbody></table><br> С помощью команды ghdb можно получить все дорки с exploit-db по произвольному запросу, либо указать целиком всю категорию. Если указать категорию 0 - то будет выгружена вся база (около 4.5 тысяч дорков).<p>Список категорий доступных на данный момент представлен на рисунке 2.<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/b8f/b11/ffe/b8fb11ffeaced5066fd2fd9e43be67fb.jpg' width="100%" loading=lazy></p><p>Рисунок 2 - Список доступных категорий дорков GHDB</p><p>Командой google будет произведена подстановка каждого дорка в поисковик google и проанализирован результат на предмет совпадений. Дорки по которым что-то нашлось будут сохранены в файл.<br> Утилита поддерживает разные режимы поиска:<br> 1 дорк и 1 сайт;<br> 1 дорк и много сайтов;<br> 1 сайт и много дорков;<br> много сайтов и много дорков;<br> Список дорков и сайтов можно задать как через аргумент, так и через файл.</p><p><b>Демонстрация работы </b><br> Попробуем поискать какие-либо уязвимости на примере поиска сообщений об ошибках. По команде: dorks ghdb –c 7 –o errors.dorks будут загружены все известные дорки категории “Error Messages” как показано на рисунке 3.<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/28c/386/641/28c386641d1528652f7f8e8b8089097a.jpg' width="100%" loading=lazy><br> Рисунок 3 – Загрузка всех известных дорков категории “Error Messages”</p><p>Дорки загружены и сохранены в файл. Теперь остается «натравить» их на какой-нибудь сайт (см. рисунок 4).<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/8e0/a8a/3af/8e0a8a3af4f26544da1faa584813dbff.jpg' width="100%" loading=lazy><br> Рисунок 4 – Поиск уязвимостей интересуемого сайта в кэше google</p><p>Спустя какое-то время на исследуемом сайте обнаруживается несколько страниц, содержащих ошибки (см. рисунок 5).</p><p><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/10b/e83/ba3/10be83ba38f172213ba06b3f9ad05a58.jpg' width="100%" loading=lazy><br> Рисунок 5 – Найденные сообщения об ошибках</p><p>Итог, в файле result.txt получаем полный список дорков, приводящих к появлению ошибки.<br> На рисунке 6 представлен результат поиска ошибок сайта.<br><br> Рисунок 6 – Результат поиска ошибок</p><p>В кэше по данному дорку выводится полный бэктрейс, раскрывающих абсолютные пути скриптов, систему управления содержимым сайта и тип базы данных (см. рисунок 7).<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/0a9/455/588/0a9455588496d6609f5e13d598cb5a48.jpg' width="100%" loading=lazy><br> Рисунок 7 – раскрытие информации об устройстве сайта </p><p>Однако стоит учитывать, что не все дорки из GHDB дают истинный результат. Так же google может не найти точного совпадения и показать похожий результат.</p><p>В таком случае разумнее использовать свой персональный список дорков. Например, всегда стоит поискать файлы с «необычными» расширениями, примеры которых приведены на рисунке 8.<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/d7f/865/693/d7f865693f7fcf13137598eeed0ecb58.jpg' width="100%" loading=lazy><br> Рисунок 8 – Список расширений файлов, не характерных для обычного веб-ресурса</p><p>В итоге, по команде dorks google –D extensions.txt –f банк, с самого первого запроса google начинает отдавать сайты с «необычными» расширениями файлов (см. рисунок 9). <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/107/e1f/a2f/107e1fa2f41c4169bcc254cba2f2f4b6.jpg' width="100%" loading=lazy><br> Рисунок 9 – Поиск «нехороших» типов файлов на сайтах банковской тематики</p><p>Стоит иметь ввиду, что google не воспринимает запросы длиннее 32 слов.</p><p>С помощью команды dorks google –d intext:”error|warning|notice|syntax” –f университет <br> можно поискать ошибки интерпретатора PHP на сайтах учебной тематики (см. рисунок 10). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/717/74f/e36/71774fe3656bfc058c42d43262fdec4a.jpg' width="100%" loading=lazy><br> Рисунок 10 – Поиск PHP-ошибок времени исполнения</p><p>Иногда пользоваться какой-то одной или двумя категориями дорков не удобно.<br> Например, если известно, что сайт работает на движке wordpress, то нужны дорки именно по wordpress. В таком случае удобно воспользоваться поиском Google Hack Database. Команда dorks ghdb –q wordpress –o wordpress_dorks.txt загрузит все дорки по Wordpress, как показано на рисунке 11:<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/dcb/ac9/a4e/dcbac9a4eb12f6ec775d9cccc2fdee87.jpg' width="100%" loading=lazy><br> Рисунок 11 – Поиск дорков, относящихся к Wordpress</p><p>Снова вернемся к банкам и командой dorks google –D wordpress_dords.txt –f банк попробуем найти что-нибудь интересное, связанное с wordpress (см. рисунок 12).<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/042/0c2/c43/0420c2c435931704288b171f725ccc6a.jpg' width="100%" loading=lazy><br> Рисунок 12 – Поиск уязвимостей Wordpress</p><p>Стоит заметить, что поиск на Google Hack Database не воспринимает слова короче 4 символов. Например, если CMS сайта не известна, но известен язык - PHP. В таком случае можно отфильтровать нужное вручную с помощью пайпа и системной утилиты поиска dorks –c all | findstr /I php > php_dorks.txt (см. рисунок 13):<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/4c1/2f8/6e1/4c12f86e111074293c14d6a939c6ebab.jpg' width="100%" loading=lazy><br> Рисунок 13 – Поиск по всем доркам, где есть упоминание PHP</p><p>Поиск уязвимостей или какой-то чувствительной информации в поисковой системе следует искать только в случае если по данному сайту есть значительный индекс. Например, если у сайта проиндексировано 10-15 страниц, то глупо что-либо искать подобным образом. Проверить размер индекса просто - достаточно ввести в строку поиска google «site:somesite.com». Пример сайта с недостаточным индексом показан на рисунке 14.<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/78e/1db/b4f/78e1dbb4fc78cd422cec311fc2ca9d33.jpg' width="100%" loading=lazy><br> Рисунок 14 – Проверка размера индекса сайта</p><p>Теперь о неприятном… Периодически google может запросить каптчу - тут ничего не поделать - её придется ввести. Например, у меня, при переборе категории «Error Messages» (90 дорков) каптча выпала только один раз.</p><p>Стоит добавить, что phantomjs поддерживает работу так же и через прокси, как через http, так и через socks интерфейс. Для включения режима прокси надо раскоментировать соответствующую строку в dorks.bat или dorks.sh.</p><p>Инструмент доступен в виде исходного кода</p> <p>Люди редко пользуются <b>языком запросов поисковых систем </b> и зря – с помощью пары простых операторов можно значительно сузить поиск и найти желаемое намного быстрей. А для работников SEO не знать об операторах поисковых систем – вообще позор. Синтаксис поисковых систем Яндекс и Гугл очень прост.</p><i> </i><p><b>Операторы поисковых запросов </b> помогают получить полезную информацию об индексации сайта, выявить проблемы и даже разобраться в нюансах работы поисковых алгоритмов. В данной статье все операторы поиска без примеров, но зато они здесь ВСЕ и будут дополняться (или удаляться), чтобы информация была актуальна.</p><p>Рассмотрю только Google и Яндекс, ведь в основном все работают с ними, остальные поисковики подтягиваются как-то сами.<br></p><h2>Общие для Яндекс и Гугл операторы.</h2><p>Стоит добавить, что если Яндекс точно следует операторам, то <b>Google может их проигнорировать </b>, если посчитает, что есть результаты лучше.</p><ul><li><b>Оператор “+” и “-“ </b> — Поиск документов, которые обязательно содержат (или обязательно не содержат) указанное слово. Можно использовать несколько операторов в одном запросе, причем как «минус», так и «плюс»</li><li><b>Поиск по цитате, оператор кавычки «» </b> — Поисковая система будет искать точное совпадение фразы. Можно использовать несколько раз в одном запросе. Даже можно добавить «минус» перед одним из запросов.</li><li><b>Оператор “*” звездочка — </b><b>Яндекс: </b> Используется для указания пропущенного слова в цитате. Одна звездочка – одно слово. Применяется только с оператором «кавычки». <b>Гугл: </b> Используется для указания пропущенных слов в запросе. В справке указано, что словА, но на практике – любое количество слов.</li><li><b>Оператор «|» </b> — Поиск страниц содержащих любое из слов связанных этим оператором.</li><li><b>Оператор “~” тильда — </b><b>Яндекс: </b> ищет документы, в которых слово указанное после оператора не содержится в одном предложении со словом до оператора. <b>Гугл </b>: ищет документы с указанным словом и его синонимами.</li> </ul><h2>Операторы поиска для Яндекса</h2><ul><li><b>«!» </b> — Поиск документов, где слово содержится только в заданной форме. Можно искать даже слова с заглавными буквами.</li><li><b> «!!» </b> — Поиск документов, где слово содержится в любой форме, в любом падеже.</li><li><b>«&» </b> амперсант — Поиск документов, где слова связанные оператором находятся в одном предложении.</li><li><b>«&&» </b> двойной амперсант — Тоже самое, только слова в пределах одного документа.</li><li><b>«<<» </b> — Поиск слов в пределах документа, но релевантность (она влияет на положение в результатах поиска) рассчитывает только по первому слов (которое до оператора)</li> </ul><p><b>Оператор /n , где n максимальное расстояние между заданными словами </b></p><p>Поиск документов, в которых заданные слова располагаются в пределах n слов друг относительно друга и в обратном порядке следования.</p><p>—</p><p><b>Оператор /(m n), где </b></p><p>m - минимальное расстояние между заданными словами, n - максимальное расстояние между заданными словами</p><p>Поиск документов, в которых заданные слова располагаются на расстоянии не менее m и не болееn слов друг относительно друга.</p><p>Дополнительно можно задать прямой () или обратный (—) порядок следования слов в найденных документах.</p><p><b>Оператор && /n, </b></p><p>Где n - максимальное расстояние между предложениями, содержащими слова запроса</p><p>Поиск документов, в которых слова запроса (разделенные оператором) располагаются в пределах n предложений друг относительно друга.</p><p>Порядок, в котором идут слова запроса, не учитывается.</p><p><b>Оператор скобки () </b></p><p>Группировка слов при сложных запросах.</p><p>Внутри заключенной в скобки группы также могут быть использованы любые операторы.<br></p><h2>Документные операторы Яндекса</h2><ul><li><b>title: </b> — поиск по заголовкам страниц</li><li><b>url: </b> — поиск по страницам на заданном URL, например url:aiwastudio.ru/blog/*</li><li><b>site: </b> — Поиск по всем поддоменам и страницам указанного сайта.</li><li><b>inurl: </b> — Поиск по страницам, размещенным на данном хосте. Идентичен оператору url: с заданным именем хоста.</li><li><b>domain: </b> — Поиск по страницам, расположенным на заданном домене.</li><li><b>mime: </b> -Поиск по документам в заданном типе файла.</li><li><b>lang: </b> — Поиск по страницам на заданном языке</li><li><b>date: </b> — Поиск по страницам с ограничением по дате их последнего изменения. Год изменения указывается обязательно. Месяц и день можно заменить символом *.</li><li><b>cat: </b> Поиск по страницам сайтов, зарегистрированных вЯндекс.Каталоге , тематическая рубрика или регион которых совпадают с заданным.</li> </ul><p>Перечисленные выше операторы не обязательно запоминать, т.к. расширенные поиск Яндекса по сути является интерфейсом к этим операторам. Т.е. вы сможете выбирать настройки поисковой формы и получать результат, как будто вводили операторы вручную.<br></p><h3>Теперь недокументированные операторы:</h3><ul><li><b>Intext </b> – ищет только те документы, текст которых содержит слова запроса, т.е. не в метатегах или еще где-то, а именно в тексте.</li><li><b>image </b> – ищет все документы, в которых содержится изображение с заданным именем.</li><li><b>Anchormus </b> – ищет ссылки на музыкальные файлы, содержащие указанный запрос в анкоре</li><li><b>Linkmus </b> – ищет все страницы, с которые есть ссылка на указанный музыкальный файл</li><li><b>Inlink </b> – для поиска в тексте ссылок</li><li><b>Linkint </b> – поиск внутренних ссылок на определенный документ</li><li><b>Anchorint </b> – поиск документов, содержащих указанный запрос в текстах своих ссылок на свои внутренние документы</li><li><b>idate </b> — ищет документы с заданной датой последней индексации.</li><li><b>style </b> – поиск по значению атрибута stylesheet тега link</li><li><b>applet </b>– поиск по значению атрибута code тега applet:</li><li><b>script </b> — поиск по значению атрибута src тега script</li><li><b>object </b> – поиск по содержимому атрибутов тега object</li><li><b>action </b>– поиск по значению атрибута action тега form</li><li><b>profile </b>– поиск по значению атрибута profile тега head</li><li><b>inpos </b> — поиск текста в пределах заданных позиций элементов на странице(inpos:0..100)</li> </ul><h2>Операторы поиска для Google</h2><ul><li><b>Оператор «..» две точки </b> — Используется для поиска диапазонов между числами.</li><li><b>Оператор «@» </b> — Для поиска по тегам в соц. Сетях</li><li><b>Оператор «#» </b> — Поиск по хештегам</li> </ul><h3>Документные операторы Google</h3><ul><li><b>site: </b> аналогично Яндексу ищет по указанному сайту или домену</li><li><b>link: </b> поиск страниц, ссылающихся на указанный сайт</li><li>related: поиск страниц со схожим содержимым</li><li><b>info: </b> С помощью этого оператора можно получить сведения о веб-адресе, в том числе ссылки на кешированную версию страницы, похожие сайты, а также страницы, ссылающиеся на указанную вами.</li><li><b>cache: </b> просмотр кешированной версии страницы</li><li><b>filetype: </b> поиск в указанных типах файлов, можно указать расширение</li><li><b>movie: </b> поиск информации о фильмах</li><li><b>daterange: </b> поиск страниц проиндексированных за указанный промежуток времени</li><li><b>allintitle: </b> поиск страниц, у которых слова из запроса находятся в title</li><li><b>intitle: </b> тоже самое, но часть запроса может содержаться и в другой части страниц</li><li><b>allinurl: </b> поиск страниц, содержащих все слова запроса в url</li><li><b>inurl: </b> тоже самое, но для одного слова</li><li><b>allintext: </b> только в тексте</li><li><b>intext: </b> для одного слова</li><li><b>allinanchor: </b> поиск по словам в анкорах</li><li><b>inanchor: </b></li><li><b>define </b>: поиск страниц с определением указанного слова</li> </ul><p>Если есть чем дополнить, или какие-то операторы уже не работают – пишите в комментариях.<br></p><h2>Операторы поисковой системы Bing</h2><ul><li><b>contains: </b> Оставляет результаты с сайтов, которые содержат ссылки на типы файлов, которые вы указываете</li><li><b>ext: </b> Возвращает только веб-страницы с расширением, которое вы указываете</li><li><b>filetype: </b> Возвращает только веб-страницы, созданные с типом файла, который вы указываете</li><li><b>inanchor: </b> или <b>inbody: </b> или <b>intitle: </b> эти ключевые слова возвращают веб-страницы с заданным термином в метаданных, например якоре, тексте и названии сайта</li><li><b>ip: </b> Находит сайты, которые размещены по определенному IP-адресу</li><li><b>language: </b> Возвращает веб-страницы на определенном языке</li><li><b>loc: </b> или <b>location: </b> Возвращает веб-страницы из определенной страны илирегиона</li><li><b>prefer: </b> Дает приоритет условию поиска или другому оператору, чтобы cосредоточить результаты поиска.</li><li><b>site: </b> Возвращает веб-страницы, которые принадлежат указанному сайту.</li><li><b>feed: </b> Находит каналы RSS или Atom на веб-сайте по терминам, которые вы ищете.</li><li><b>hasfeed: </b> Находит веб-страницы с каналами RSS или Atom на веб-сайте по терминам, которые вы ищете.</li><li><b>url: </b> Проверяет, есть ли указанный домен или веб-адрес в индексе Bing.</li> </ul> <p>На этот раз попытаюсь рассказать, какими не должны быть дорки. Так как часто приходится работать с клиентами, у которых дорки выглядят ну совсем бредовыми. А немного пообщавшись, оказывается что они за эти дорки еще и заплатили. Бесит, вобщем) Я сам по глупости своей покупал дорки, и за 300 рублей, и за 20 рублей. Но грамотного человека, который сделает дорки, которые будут хорошими и поисковик будет с них выдавать то, что мне нужно, я пока не встретил. Не пытаюсь никого обидеть, да и дальше только личное мнение. Во-первых, перед покупкой всегда просите 10-15 дорок на проверку, просто визуально оцените их. Надеюсь после данного гайда вы сможете определить более менее заточенные дорки под ваш запрос от таких, которых даже пабликом назвать нельзя. Поехали! Мне проще работать с примерами, поэтому попробую набросать список "игровых" дорок, которые иногда попадаются, и расскажу, на что следует обращать внимание:<br> Код: mistake.php?gta_5= frame</p><p>Разбираем дорку на части: mistake.php - здесь, предполагается, что в ссылке должно присутствовать это слово. На деле, немного не так. Чтобы в ссылке присутствовало слово, его надо применить к оператору inurl: или allinurl:</p><p>Допустим, часть ссылок нам попадется с этим словом. Но, именно эта часть (судя по дорке) должна относится к названию страницы. Я не знаю, какой кодер будет делать страницу mistake.php в своем сайте про игры. Безусловно, такие найдутся. Но это будет очень маленький процент.</p><p>Как по мне, страница должна быть более менее с популярным названием, использующимся у php кодеров. Еще парочка страниц, которые не желательны в дорках (часто продавцы дорок используют рендомные слова): Код: gta5.php - никто не будет называть так страницу farcry_primal.php farcry_primal.cfm - расширение.cfm используется в ASP.NET, да, на нем пишут, но не так часто как на php. И нарваться на страницу с таким названием, это большая удача kramble.php how_to_work.php catch"in.php - спец. символов не должно быть в названии страницы jzooo.php - вообще, хрен пойми что за страница такая game_of_trone.php - редкая страница, + не относится к играм, а скорей всего к названию фильма Надеюсь, примерную логику вы поняли.</p><p>Страница должна иметь логичное название, это главное. Не очень важно, есть в названии что-то относящееся к игровой тематике, или нет. Какие страницы в основном используются кодерами, да и вообще более популярные, которые можно использовать в дорках:</p><p>Index.php<br> private.php<br> pm.php<br> user.php<br> members.php<br> area.php<br> config.php<br> search.php<br> redirect.php<br> r.php (тот же redirect)<br> s.php (тот же search)<br> mail.php forum.php<br> post.php account.php<br> exit.php<br> query.php<br> q.php (тот же query) и т.д.</p><p>Примерно так.</p><p>Название страницы в дорке (если оно есть) должно быть односложным, удобным для использования на сайте, и нести в себе какой-то логический подтекст. Не страшно, что тут у нас нет названий типа steam.php или steam_keys.phpилиroulette.php, нам важно найти побольше ссылок. А чем чаще слово из запроса используется на веб-сайтах, тем лучше. Более менее нужные нам по тематике мы отберем с помощью остальной части из дорки С названиями страниц разобрались, но это не самое главное.</p><p>Перейдем ко второй части.</p><p>Знакомьтесь, это GET запрос: ?gta_5 - Сразу скажу, не бывает таких запросов. (напоминаю что это мое личное мнение) GET запрос, в идеале, который нам нужен, должен обращаться к базе данных, и в случае SQL инъекции, вызвать ошибку вывода из БД. Это то, что нам нужно. Однако, найти запрос который бы назывался gta_5 - опять же, большая удача. Да и если найдем, надо чтобы он оказался уязвимым. Это снова отбрасывает большую часть ссылок, которые нас интересуют. Еще парочка примеров плохих, не хороших запросов:</p><p>Groove=<br> ?paypal=<br> ?qiwi_wallet=<br> ?my_money=<br> ?dai_webmoney=<br> ?skdoooze=<br> ?sadlkjadlkjswq=<br> ?213123=<br> ?777=</p><p>Почему paypal плохой запрос? Потому, что предполагается, что этим запросом мы хотим обратится к базе с выборкой по paypal. Никто у себя не хранит базу paypal, разве что, кроме самой компании. Опять-же, ящитаю.</p><p>Примеры хороших запросов, добрых, которые все любят использовать, так как они короткие, удобные, легко запоминаются, и имеют хоть какую-то логику: <br> ?id= <br> ?cat= <br> ?cat_id=<br> ?get= <br> ?post= <br> ?frame= <br> ?r= <br> ?redirect= (ну вы поняли) <br> ?banner= <br> ?go= <br> ?leave= <br> ?login= <br> ?pass= <br> ?password= <br> ?username= <br> ?user= <br> ?search= <br> ?s= <br> ?wallet= <br> ?acc= <br> ?balance= <br> ?do= <br> ?page= <br> ?page_id= <br> ?topic= <br> ?forum= <br> ?thread= <br> ?download= <br> ?free= <br> ?message= <br> Продолжать, конечно, можно бесконечно. <br> Но это универсальные запросы, которые отлично могут подойти и к микс доркам, и к игровым, и к денежным и к любым другим. Нам будут попадаться форумы, торрент-сайты, и все остальное. Еще для примера, парочка запросов которые могут пригодиться, допустим к игровым запросам: <br> ?game= <br> ?game_id= <br> ?battle= <br> ?log= <br> ?team= <br> ?weapon= <br> ?inv= (инвентарь)<br> ?gamedata= <br> ?player= <br> ?players= <br> ?play= (попадуться сайты с видео-роликами)<br> ?playtag= <br> ?match= </p><p>Примерно такая-же логика запросов и к другим тематикам должна применяться, в идеале. Хоть немного надо понимать английский, и осозновать, какие дорки ты покупаешь. В общем и целом, достаточно посмотреть на 10-20 дорок и станет сразу понятно, что за мега приват вы купили, и стоит ли обращаться к данному продавцу впредь. Или вообще, сделать рефунд через блек, если видите что у вас дорки содержат sex.php? или?photo= а вы заказывали дорки под шопы. Руки под поезд таким деятелям </p><p>И так, на последок - самая важная часть дорки (которая иногда вообще отсутствует). Если только что мы рассмотрели название GET запроса (не сам запрос), то сейчас как раз переходим к запросу, который может нам помочь найти именно то, что нам нужно. Из нашей тестовой дорки это часть - frame </p><p>Не скажу, что это плохой запрос, но учитывая что мы ищем игровые сайты, эффективность такого запроса примерно 15-20%. Для микс дорок, или просто для количества ссылок (лишь бы что-то слить), вполне сойдет. Название запроса может включать в себя, как правильно говорят во многих туториалах и мануалах по доркам, любые слова, относящиееся к нашей тематике. Не будем отходить от игровых запросов, поэтому приведу пример, хороших, годных запросов по играм: <br> game <br> gaming <br> exp <br> player <br> level <br> players <br> dota <br> counter-strike <br> AWP | Aziimov<br> M19 <br> NAVI <br> play free <br> free games <br> download game <br> game forum <br> about game <br> screenshot game <br> game guide </p><p>Тут должно быть понятно, что за тематика ваших дорок. Если у вас в купленных дорках примерно следующее (а мы покупали игровые): Код: watch freedom text dsadaswe 213123321 ledy gaga fuck america bla bla girl tits free XXX porn futurama s01e13 То опять-же, смело посылайте нафик продавца и выкиньте свои дорки. Игровых сайтов вам не видать:) Еще один момент, с этими запросами можно использовать операторы - intitle: , allintitle: , intext: , allintext: Где, после двоеточия будет сам игровой запрос из списка чуть выше (intitle: game, allintext: play free) </p><p>Вроде бы, все что хотел донести. В основном, статья надеюсь будет полезна хоть как-то для новичков (мне бы была полезна и помогла сэкономить несколько сотен рублей, и помогла поставить на место недобросовестных продавцов дорок). Ну а если вы более менее поняли, как делать дорки самому, я буду только рад. Тренируйтесь, набивайте глаз \ руку, ничего сложного особо в дорках нет. И на последок, не знаю как в дампере, но а-парсер спокойно съедает и ищет много ссылок с запросами на русском языке. Почему бы и нет, подумал я. Потестировал, эффект меня порадовал. Можете смеяться)) </p><p>Frame.php?name= игры бесплатно<br> get.php?query= скачать КС<br> search.php?ok= игровые сервера</p> <p>Любой поиск уязвимостей на веб-ресурсах начинается с разведки и сбора информации.<br> Разведка может быть как активной - брутфорс файлов и директорий сайта, запуск сканеров уязвимостей, ручной просмотр сайта, так и пассивной - поиск информации в разных поисковых системах. Иногда бывает так, что уязвимость становится известна еще до открытия первой страницы сайта. </p><p> <b>Как такое возможно? </b><br> Поисковые роботы, безостановочно бродящие по просторам интернета, помимо информации, полезной обычному пользователю, часто фиксируют то, что может быть использовано злоумышленниками при атаке на веб-ресурс. Например, ошибки скриптов и файлы с чувствительной информацией (начиная от конфигурационных файлов и логов, заканчивая файлами с аутентификационными данными и бэкапами баз данных).<br> С точки зрения поискового робота сообщение об ошибке выполнения sql-запроса - это обычный текст, неотделимый, например, от описания товаров на странице. Если вдруг поисковый робот наткнулся на файл с расширением.sql, который почему-то оказался в рабочей папке сайта, то он будет воспринят как часть содержимого сайта и так же будет проиндексирован (включая, возможно, указанные в нём пароли).</p><p>Подобную информацию можно найти, зная устойчивые, часто уникальные, ключевые слова, которые помогают отделить «уязвимые страницы» от страниц, не содержащих уязвимости. <br> Огромная база специальных запросов с использованием ключевых слов (так называемых дорков) существует на exploit-db.com и известна под названием Google Hack Database.</p><p><b>Почему google? </b><br> Дорки ориентированы в первую очередь на google по двум причинам:<br> − наиболее гибкий синтаксис ключевых слов (приведен в Таблице 1) и специальных символов (приведен в Таблице 2);<br> − индекс google всё же более полный нежели у других поисковых систем;</p><p>Таблица 1 – Основные ключевые слова google<br></p><table><tbody><tr><td width="214"><b>Ключевое слово </b><br></td> <td width="214"><b>Смысл </b><br></td> <td width="214"><b>Пример </b><br></td> </tr><tr><td width="214">site<br></td> <td width="214">Поиск только на указанном сайте. Учитывает только url<br></td> <td width="214">site:somesite.ru - найдет все страницы по данному домену и поддоменам<br></td> </tr><tr><td width="214">inurl<br></td> <td width="214">Поиск по словам, присутствующим в uri. В отличие от кл. слова “site”, ищет совпадения после имени сайта<br></td> <td width="214">inurl:news - найдет все страницы, где в uri встретится данное слово<br></td> </tr><tr><td width="214">intext<br></td> <td width="214">Поиск в теле страницы<br></td> <td width="214">intext:”пробки” - полностью аналогично обычному запросу “пробки”<br></td> </tr><tr><td width="214">intitle<br></td> <td width="214">Поиск в заголовке страницы. Текст, заключенный между тэгами <title><br></td> <td width="214">intitle:”index of” - найдет все страницы с листингом директории<br></td> </tr><tr><td width="214">ext<br></td> <td width="214">Поиск страниц с указанным расширением<br></td> <td width="214">ext:pdf - найдет все pdf-файлы<br></td> </tr><tr><td width="214">filetype<br></td> <td width="214">В настоящее время полностью аналогично кл. слову “ext”<br></td> <td width="214">filetype:pdf - аналогично<br></td> </tr><tr><td width="214">related<br></td> <td width="214">Поиск сайтов со схожей тематикой<br></td> <td width="214">related:google.ru - покажет свои аналоги<br></td> </tr><tr><td width="214">link<br></td> <td width="214">Поиск сайтов, ссылающихся на данный<br></td> <td width="214">link:somesite.ru - найдет все сайты, на которых есть ссылка на данный<br></td> </tr><tr><td width="214">define<br></td> <td width="214">Показать определение слова<br></td> <td width="214">define:0day - определение термина<br></td> </tr><tr><td width="214">cache<br></td> <td width="214">Показать содержимое страницы в кэше (если имеется)<br></td> <td width="214">cache:google.com - откроет страницу из кэша<br></td> </tr></tbody></table><p>Таблица 2 – Специальные символы запросов google<br></p><table><tbody><tr><td width="214"><b>Символ </b><br></td> <td width="214"><b>Смысл </b><br></td> <td width="214"><b>Пример </b><br></td> </tr><tr><td width="214">“<br></td> <td width="214">Точная фраза<br></td> <td width="214">intitle:«RouterOS router configuration page» - поиск роутеров<br></td> </tr><tr><td width="214">*<br></td> <td width="214">Любой текст<br></td> <td width="214">inurl:«bitrix*mcart» - поиск сайтов на bitrix с уязвимым модулем mcart<br></td> </tr><tr><td width="214">.<br></td> <td width="214">Любой символ<br></td> <td width="214">Index.of - аналогично запросу index of<br></td> </tr><tr><td width="214">-<br></td> <td width="214">Исключить слово<br></td> <td width="214">error -warning - показать все страницы, где есть error, но нет warning<br></td> </tr><tr><td width="214">..<br></td> <td width="214">Диапазон<br></td> <td width="214">cve 2006..2016 - показать уязвимости по годам начиная с 2006<br></td> </tr><tr><td width="214">|<br></td> <td width="214">Логическое «или»<br></td> <td width="214">linux | windows - показать страницы, где встречается либо первое либо второе слово<br></td> </tr></tbody></table><br> Стоит понимать, что любой запрос к поисковой системе - это поиск только по словам.<br> Бесполезно искать на странице мета-символы (кавычки, скобки, знаки пунктуации и т. п). Даже поиск по точной фразе, указанной в кавычках, - это поиск по словам, с последующим поиском точного совпадения уже в результатах.<p>Все дорки Google Hack Database разделены логически на 14 категорий и представлены в таблице 3.<br> Таблица 3 – Категории Google Hack Database<br></p><table><tbody><tr><td width="168"><b>Категория </b><br></td> <td width="190"><b>Что позволяет найти </b><br></td> <td width="284"><b>Пример </b><br></td> </tr><tr><td width="168">Footholds<br></td> <td width="190">Веб-шеллы, публичные файловые менеджеры<br></td> <td width="284">Найти все взломанные сайты, где залиты перечисленные вебшеллы:<br> (intitle:«phpshell» OR intitle:«c99shell» OR intitle:«r57shell» OR intitle:«PHP Shell » OR intitle:«phpRemoteView») `rwx` «uname»<br></td> </tr><tr><td width="168">Files containing usernames<br></td> <td width="190">Файлы реестра, конфигурационные файлы, логи, файлы, содержащие историю введенных команд<br></td> <td width="284">Найти все файлы реестра, содержащие информацию об аккаунтах:<br><i>filetype:reg reg +intext:«internet account manager» </i><br></td> </tr><tr><td width="168">Sensitive Directories<br></td> <td width="190">Каталоги с различной информацией (личные документы, конфиги vpn, скрытые репозитории и т.д.)<br></td> <td width="284">Найти все листинги директорий содержащих файлы, относящиеся к vpn:<br><i>«Config» intitle:«Index of» intext:vpn </i><br> Сайты, содержащие git-репозитории:<br><i>(intext:«index of /.git») («parent directory») </i><br></td> </tr><tr><td width="168">Web Server Detection<br></td> <td width="190">Версию и иную информацию о веб-сервере<br></td> <td width="284">Найти административные консоли сервера JBoss:<br><i>inurl:"/web-console/" intitle:«Administration Console» </i><br></td> </tr><tr><td width="168">Vulnerable Files<br></td> <td width="190">Скрипты, содержащие известные уязвимости<br></td> <td width="284">Найти сайты, использующие скрипт, позволяющий выгрузить произвольный файл с сервера:<br><i>allinurl:forcedownload.php?file= </i><br></td> </tr><tr><td width="168">Vulnerable Servers<br></td> <td width="190">Инсталляционные скрипты, веб-шеллы, открытые административные консоли и т.д<br></td> <td width="284">Найти открытые PHPMyAdmin консоли, запущенные от root:<br><i>intitle:phpMyAdmin «Welcome to phpMyAdmin ***» «running on * as root@*» </i><br></td> </tr><tr><td width="168">Error Messages<br></td> <td width="190">Различные ошибки и предупреждения часто раскрывающие важную информацию - начиная от версии CMS до паролей<br></td> <td width="284">Сайты, имеющие ошибки в выполнении sql-запросов к базе:<br><i>«Warning: mysql_query()» «invalid query» </i><br></td> </tr><tr><td width="168">Files containing juicy info<br></td> <td width="190">Сертификаты, бэкапы, электронные письмы, логи, sql-скрипты и т.д<br></td> <td width="284">Найти инициализационные sql-скрипты:<br><i>filetype:sql and «insert into» -site:github.com </i><br></td> </tr><tr><td width="168">Files containing passwords<br></td> <td width="190">Всё что может содержать пароли - логи, sql-скрипты и т.д<br></td> <td width="284">Логи, упоминающие пароли:<br><i>filetype: </i><i>log </i><i>intext: </i><i>password | </i><i>pass | </i><i>pw </i><br> sql-скрипты содержащие пароли:<br><i>ext: </i><i>sql </i><i>intext: </i><i>username </i><i>intext: </i><i>password </i><br></td> </tr><tr><td width="168">Sensitive Online Shopping Info<br></td> <td width="190">Информацию связанную с онлайн покупками<br></td> <td width="284">Найти пинкоды:<br><i>dcid= </i><i>bn= </i><i>pin </i><i>code= </i><br></td> </tr><tr><td width="168">Network or vulnerability data<br></td> <td width="190">Информацию, не относящуюся непосредственно к веб-ресурсу, но затрагивающую сеть либо прочие не веб-сервисы<br></td> <td width="284">Найти скрипты автоматической настройки прокси, содержащие информацию о внутренней сети:<br><i>inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl </i><br></td> </tr><tr><td width="168">Pages containing login portals<br></td> <td width="190">Страницы, содержащие формы входа<br></td> <td width="284">Веб-страницы saplogon:<br><i>intext:«2016 SAP AG. All rights reserved.» intitle:«Logon» </i><br></td> </tr><tr><td width="168">Various Online Devices<br></td> <td width="190">Принтеры, роутеры, системы мониторинга и т.д<br></td> <td width="284">Найти конфигурационную панель принтера:<br><i>intitle:" </i><i>hp </i><i>laserjet" </i><i>inurl: </i><i>SSI/ </i><i>Auth/ </i><i>set_ </i><i>config_ </i><i>deviceinfo. </i><i>htm </i><br></td> </tr><tr><td width="168">Advisories and Vulnerabilities<br></td> <td width="190">Сайты на уязвимых версиях CMS<br></td> <td width="284">Найти уязвимые плагины, через которые можно загрузить произвольный файл на сервер:<br><i>inurl:fckeditor -intext:«ConfigIsEnabled = False» intext:ConfigIsEnabled </i><br></td> </tr></tbody></table><br> Дорки чаще ориентированы на поиск по всем сайтам сети интернет. Но ни что не мешает ограничить область поиска на каком-либо сайте или сайтах.<br> Каждый запрос к google можно сосредоточить на определённом сайте, добавив к запросу ключевое слово «site:somesite.com». Данное ключевое слово может быть дописано к любому дорку.<p><b>Автоматизация поиска уязвимостей </b><br> Так родилась идея написать простенькую утилиту, автоматизирующую поиск уязвимостей с помощью поисковой системы (google) и опирающуюся на Google Hack Database.</p><p>Утилита представляет из себя скрипт, написанный на nodejs с использованием phantomjs. Если быть точным, то скрипт интерпретируется самим phantomjs.<br> Phantomjs - это полноценный веб-браузер без графического интерфейса, управляемый с помощью js-кода и обладающий удобным API.<br> Утилита получила вполне понятное название – dorks. Запустив её в командной строке (без опций) получаем короткую справку с несколькими примерами использования:<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/edd/6fb/ccc/edd6fbccc5ec340abe750f3073c1b427.jpg' width="100%" loading=lazy><br> Рисунок 1 - Список основных опций dorks</p><p>Общий синтаксис утилиты: dork «команда» «список опций».<br> Подробное описание всех опций представлено в таблице 4. </p><p>Таблица 4 – Синтаксис dorks<br></p><table border="1"><tbody><tr><td width="214"><b>Команда </b><br></td> <td width="214"><b>Опция </b><br></td> <td width="214"><b>Описание </b><br></td> </tr><tr><td rowspan="4" width="214">ghdb<br></td> <td width="214">-l<br></td> <td width="214">Вывести нумерованный список категорий дорков Google Hack Database<br></td> </tr><tr><td width="214">-c «номер или название категории»<br></td> <td width="214">Загрузить дорки указанной категории по номеру или названию<br></td> </tr><tr><td width="214">-q «фраза»<br></td> <td width="214">Загрузить дорки, найденные по запросу<br></td> </tr><tr><td width="214">-o «файл»<br></td> <td width="214">Сохранить результат в файл (только вместе с опциями -c|-q)<br></td> </tr><tr><td rowspan="8" width="214">google<br></td> <td width="214">-d «дорк»<br></td> <td width="214">Задать произвольный дорк (опция может использоваться много раз, допускается сочетание с опцией -D)<br></td> </tr><tr><td width="214">-D «файл»<br></td> <td width="214">Использовать дорки из файла<br></td> </tr><tr><td width="214">-s «сайт»<br></td> <td width="214">Задать сайт (опция может использоваться много раз, допускается сочетание с опцией -S)<br></td> </tr><tr><td width="214">-S «файл»<br></td> <td width="214">Использовать сайты из файла (перебор дорков будет выполнен по каждому сайту независимо)<br></td> </tr><tr><td width="214">-f «фильтр»<br></td> <td width="214">Задать дополнительные ключевые слова (будет добавлено к каждому дорку)<br></td> </tr><tr><td width="214">-t «количество мс»<br></td> <td width="214">Интервал между запросами к google<br></td> </tr><tr><td width="214">-T «количество мс»<br></td> <td width="214">Таймаут, если встретилась каптча<br></td> </tr><tr><td width="214">-o «файл»<br></td> <td width="214">Сохранить результат в файл (будут сохранены только те дорки, по которым что-то нашлось)<br></td> </tr></tbody></table><br> С помощью команды ghdb можно получить все дорки с exploit-db по произвольному запросу, либо указать целиком всю категорию. Если указать категорию 0 - то будет выгружена вся база (около 4.5 тысяч дорков).<p>Список категорий доступных на данный момент представлен на рисунке 2.<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/b8f/b11/ffe/b8fb11ffeaced5066fd2fd9e43be67fb.jpg' width="100%" loading=lazy></p><p>Рисунок 2 - Список доступных категорий дорков GHDB</p><p>Командой google будет произведена подстановка каждого дорка в поисковик google и проанализирован результат на предмет совпадений. Дорки по которым что-то нашлось будут сохранены в файл.<br> Утилита поддерживает разные режимы поиска:<br> 1 дорк и 1 сайт;<br> 1 дорк и много сайтов;<br> 1 сайт и много дорков;<br> много сайтов и много дорков;<br> Список дорков и сайтов можно задать как через аргумент, так и через файл.</p><p><b>Демонстрация работы </b><br> Попробуем поискать какие-либо уязвимости на примере поиска сообщений об ошибках. По команде: dorks ghdb –c 7 –o errors.dorks будут загружены все известные дорки категории “Error Messages” как показано на рисунке 3.<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/28c/386/641/28c386641d1528652f7f8e8b8089097a.jpg' width="100%" loading=lazy><br> Рисунок 3 – Загрузка всех известных дорков категории “Error Messages”</p><p>Дорки загружены и сохранены в файл. Теперь остается «натравить» их на какой-нибудь сайт (см. рисунок 4).<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/8e0/a8a/3af/8e0a8a3af4f26544da1faa584813dbff.jpg' width="100%" loading=lazy><br> Рисунок 4 – Поиск уязвимостей интересуемого сайта в кэше google</p><p>Спустя какое-то время на исследуемом сайте обнаруживается несколько страниц, содержащих ошибки (см. рисунок 5).</p><p><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/10b/e83/ba3/10be83ba38f172213ba06b3f9ad05a58.jpg' width="100%" loading=lazy><br> Рисунок 5 – Найденные сообщения об ошибках</p><p>Итог, в файле result.txt получаем полный список дорков, приводящих к появлению ошибки.<br> На рисунке 6 представлен результат поиска ошибок сайта.<br><br> Рисунок 6 – Результат поиска ошибок</p><p>В кэше по данному дорку выводится полный бэктрейс, раскрывающих абсолютные пути скриптов, систему управления содержимым сайта и тип базы данных (см. рисунок 7).<br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/0a9/455/588/0a9455588496d6609f5e13d598cb5a48.jpg' width="100%" loading=lazy><br> Рисунок 7 – раскрытие информации об устройстве сайта </p><p>Однако стоит учитывать, что не все дорки из GHDB дают истинный результат. Так же google может не найти точного совпадения и показать похожий результат.</p><p>В таком случае разумнее использовать свой персональный список дорков. Например, всегда стоит поискать файлы с «необычными» расширениями, примеры которых приведены на рисунке 8.<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/d7f/865/693/d7f865693f7fcf13137598eeed0ecb58.jpg' width="100%" loading=lazy><br> Рисунок 8 – Список расширений файлов, не характерных для обычного веб-ресурса</p><p>В итоге, по команде dorks google –D extensions.txt –f банк, с самого первого запроса google начинает отдавать сайты с «необычными» расширениями файлов (см. рисунок 9). <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/107/e1f/a2f/107e1fa2f41c4169bcc254cba2f2f4b6.jpg' width="100%" loading=lazy><br> Рисунок 9 – Поиск «нехороших» типов файлов на сайтах банковской тематики</p><p>Стоит иметь ввиду, что google не воспринимает запросы длиннее 32 слов.</p><p>С помощью команды dorks google –d intext:”error|warning|notice|syntax” –f университет <br> можно поискать ошибки интерпретатора PHP на сайтах учебной тематики (см. рисунок 10). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/717/74f/e36/71774fe3656bfc058c42d43262fdec4a.jpg' width="100%" loading=lazy><br> Рисунок 10 – Поиск PHP-ошибок времени исполнения</p><p>Иногда пользоваться какой-то одной или двумя категориями дорков не удобно.<br> Например, если известно, что сайт работает на движке wordpress, то нужны дорки именно по wordpress. В таком случае удобно воспользоваться поиском Google Hack Database. Команда dorks ghdb –q wordpress –o wordpress_dorks.txt загрузит все дорки по Wordpress, как показано на рисунке 11:<br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/dcb/ac9/a4e/dcbac9a4eb12f6ec775d9cccc2fdee87.jpg' width="100%" loading=lazy><br> Рисунок 11 – Поиск дорков, относящихся к Wordpress</p><p>Снова вернемся к банкам и командой dorks google –D wordpress_dords.txt –f банк попробуем найти что-нибудь интересное, связанное с wordpress (см. рисунок 12).<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/042/0c2/c43/0420c2c435931704288b171f725ccc6a.jpg' width="100%" loading=lazy><br> Рисунок 12 – Поиск уязвимостей Wordpress</p><p>Стоит заметить, что поиск на Google Hack Database не воспринимает слова короче 4 символов. Например, если CMS сайта не известна, но известен язык - PHP. В таком случае можно отфильтровать нужное вручную с помощью пайпа и системной утилиты поиска dorks –c all | findstr /I php > php_dorks.txt (см. рисунок 13):<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/4c1/2f8/6e1/4c12f86e111074293c14d6a939c6ebab.jpg' width="100%" loading=lazy><br> Рисунок 13 – Поиск по всем доркам, где есть упоминание PHP</p><p>Поиск уязвимостей или какой-то чувствительной информации в поисковой системе следует искать только в случае если по данному сайту есть значительный индекс. Например, если у сайта проиндексировано 10-15 страниц, то глупо что-либо искать подобным образом. Проверить размер индекса просто - достаточно ввести в строку поиска google «site:somesite.com». Пример сайта с недостаточным индексом показан на рисунке 14.<br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/78e/1db/b4f/78e1dbb4fc78cd422cec311fc2ca9d33.jpg' width="100%" loading=lazy><br> Рисунок 14 – Проверка размера индекса сайта</p><p>Теперь о неприятном… Периодически google может запросить каптчу - тут ничего не поделать - её придется ввести. Например, у меня, при переборе категории «Error Messages» (90 дорков) каптча выпала только один раз.</p><p>Стоит добавить, что phantomjs поддерживает работу так же и через прокси, как через http, так и через socks интерфейс. Для включения режима прокси надо раскоментировать соответствующую строку в dorks.bat или dorks.sh.</p><p>Инструмент доступен в виде исходного кода</p> <p>Получение частных данных не всегда означает взлом - иногда они опубликованы в общем доступе. Знание настроек Google и немного смекалки позволят найти массу интересного - от номеров кредиток до документов ФБР.</p> <h2>WARNING</h2> Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи. <p>К интернету сегодня подключают всё подряд, мало заботясь об ограничении доступа. Поэтому многие приватные данные становятся добычей поисковиков. Роботы-«пауки» уже не ограничиваются веб-страницами, а индексируют весь доступный в Сети контент и постоянно добавляют в свои базы не предназначенную для разглашения информацию. Узнать эти секреты просто - нужно лишь знать, как именно спросить о них.</p><h2>Ищем файлы</h2> <p>В умелых руках Google быстро найдет все, что плохо лежит в Сети, - например, личную информацию и файлы для служебного использования. Их частенько прячут, как ключ под половиком: настоящих ограничений доступа нет, данные просто лежат на задворках сайта, куда не ведут ссылки. Стандартный веб-интерфейс Google предоставляет лишь базовые настройки расширенного поиска, но даже их будет достаточно.</p> <p>Ограничить поиск по файлам определенного вида в Google можно с помощью двух операторов: filetype и ext . Первый задает формат, который поисковик определил по заголовку файла, второй - расширение файла, независимо от его внутреннего содержимого. При поиске в обоих случаях нужно указывать лишь расширение. Изначально оператор ext было удобно использовать в тех случаях, когда специфические признаки формата у файла отсутствовали (например, для поиска конфигурационных файлов ini и cfg, внутри которых может быть все что угодно). Сейчас алгоритмы Google изменились, и видимой разницы между операторами нет - результаты в большинстве случаев выходят одинаковые.</p> <br><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359798_b3e1_filetype_ext.png' width="100%" loading=lazy><h2>Фильтруем выдачу</h2> <p>По умолчанию слова и вообще любые введенные символы Google ищет по всем файлам на проиндексированных страницах. Ограничить область поиска можно по домену верхнего уровня, конкретному сайту или по месту расположения искомой последовательности в самих файлах. Для первых двух вариантов используется оператор site, после которого вводится имя домена или выбранного сайта. В третьем случае целый набор операторов позволяет искать информацию в служебных полях и метаданных. Например, allinurl отыщет заданное в теле самих ссылок, allinanchor - в тексте, снабженном тегом <a name> , allintitle - в заголовках страниц, allintext - в теле страниц.</p> <p>Для каждого оператора есть облегченная версия с более коротким названием (без приставки all). Разница в том, что allinurl отыщет ссылки со всеми словами, а inurl - только с первым из них. Второе и последующие слова из запроса могут встречаться на веб-страницах где угодно. Оператор inurl тоже имеет отличия от другого схожего по смыслу - site . Первый также позволяет находить любую последовательность символов в ссылке на искомый документ (например, /cgi-bin/), что широко используется для поиска компонентов с известными уязвимостями.</p> <p>Попробуем на практике. Берем фильтр allintext и делаем так, чтобы запрос выдал список номеров и проверочных кодов кредиток, срок действия которых истечет только через два года (или когда их владельцам надоест кормить всех подряд).</p><p>Allintext: card number expiration date /2017 cvv <br><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359828_0660_cc_2017.png' width="100%" loading=lazy></p><p>Когда читаешь в новостях, что юный хакер «взломал серверы» Пентагона или NASA, украв секретные сведения, то в большинстве случаев речь идет именно о такой элементарной технике использования Google. Предположим, нас интересует список сотрудников NASA и их контактные данные. Наверняка такой перечень есть в электронном виде. Для удобства или по недосмотру он может лежать и на самом сайте организации. Логично, что в этом случае на него не будет ссылок, поскольку предназначен он для внутреннего использования. Какие слова могут быть в таком файле? Как минимум - поле «адрес». Проверить все эти предположения проще простого.</p> <br><img src='https://i2.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359852_9681_google_inurl.png' width="100%" loading=lazy><p>Inurl:nasa.gov filetype:xlsx "address" </p> <br><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359864_215b_nasa_address.png' width="100%" loading=lazy><h2>Пользуемся бюрократией</h2> <p>Подобные находки - приятная мелочь. По-настоящему же солидный улов обеспечивает более детальное знание операторов Google для веб-мастеров, самой Сети и особенностей структуры искомого. Зная детали, можно легко отфильтровать выдачу и уточнить свойства нужных файлов, чтобы в остатке получить действительно ценные данные. Забавно, что здесь на помощь приходит бюрократия. Она плодит типовые формулировки, по которым удобно искать случайно просочившиеся в Сеть секретные сведения.</p> <p>Например, обязательный в канцелярии министерства обороны США штамп Distribution statement означает стандартизированные ограничения на распространение документа. Литерой A отмечаются публичные релизы, в которых нет ничего секретного; B - предназначенные только для внутреннего использования, C - строго конфиденциальные и так далее до F. Отдельно стоит литера X, которой отмечены особо ценные сведения, представляющие государственную тайну высшего уровня. Пускай такие документы ищут те, кому это положено делать по долгу службы, а мы ограничимся файлами с литерой С. Согласно директиве DoDI 5230.24, такая маркировка присваивается документам, содержащим описание критически важных технологий, попадающих под экспортный контроль. Обнаружить столь тщательно охраняемые сведения можно на сайтах в домене верхнего уровня.mil, выделенного для армии США.</p><p> "DISTRIBUTION STATEMENT C" inurl:navy.mil <br><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359886_8f3e_distribution_c.jpg' width="100%" loading=lazy></p><p>Очень удобно, что в домене.mil собраны только сайты из ведомства МО США и его контрактных организаций. Поисковая выдача с ограничением по домену получается исключительно чистой, а заголовки - говорящими сами за себя. Искать подобным образом российские секреты практически бесполезно: в доменах.ru и.рф царит хаос, да и названия многих систем вооружения звучат как ботанические (ПП «Кипарис», САУ «Акация») или вовсе сказочные (ТОС «Буратино»).</p> <br><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359901_5076_th-57c.jpg' width="100%" loading=lazy><p>Внимательно изучив любой документ с сайта в домене.mil, можно увидеть и другие маркеры для уточнения поиска. Например, отсылку к экспортным ограничениям «Sec 2751», по которой также удобно искать интересную техническую информацию. Время от времени ее изымают с официальных сайтов, где она однажды засветилась, поэтому, если в поисковой выдаче не удается перейти по интересной ссылке, воспользуйся кешем Гугла (оператор cache) или сайтом Internet Archive.</p> <h2>Забираемся в облака</h2> <p>Помимо случайно рассекреченных документов правительственных ведомств, в кеше Гугла временами всплывают ссылки на личные файлы из Dropbox и других сервисов хранения данных, которые создают «приватные» ссылки на публично опубликованные данные. С альтернативными и самодельными сервисами еще хуже. Например, следующий запрос находит данные всех клиентов Verizon, у которых на роутере установлен и активно используется FTP-сервер.</p><p>Allinurl:ftp:// verizon.net </p><p>Таких умников сейчас нашлось больше сорока тысяч, а весной 2015-го их было на порядок больше. Вместо Verizon.net можно подставить имя любого известного провайдера, и чем он будет известнее, тем крупнее может быть улов. Через встроенный FTP-сервер видно файлы на подключенном к маршрутизатору внешнем накопителе. Обычно это NAS для удаленной работы, персональное облако или какая-нибудь пиринговая качалка файлов. Все содержимое таких носителей оказывается проиндексировано Google и другими поисковиками, поэтому получить доступ к хранящимся на внешних дисках файлам можно по прямой ссылке.</p> <p><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359919_7cea_allinurl_verizon_ftp.png' width="100%" loading=lazy></p> <h2>Подсматриваем конфиги</h2> <p>До повальной миграции в облака в качестве удаленных хранилищ рулили простые FTP-серверы, в которых тоже хватало уязвимостей. Многие из них актуальны до сих пор. Например, у популярной программы WS_FTP Professional данные о конфигурации, пользовательских аккаунтах и паролях хранятся в файле ws_ftp.ini . Его просто найти и прочитать, поскольку все записи сохраняются в текстовом формате, а пароли шифруются алгоритмом Triple DES после минимальной обфускации. В большинстве версий достаточно просто отбросить первый байт.</p> <p><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359934_1d8d_ws_ftp-pwd.png' width="100%" loading=lazy></p> <p>Расшифровать такие пароли легко с помощью утилиты WS_FTP Password Decryptor или бесплатного веб-сервиса .</p> <p><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359947_3060_ws_ftp-pwd_found.png' width="100%" loading=lazy></p> <p>Говоря о взломе произвольного сайта, обычно подразумевают получение пароля из логов и бэкапов конфигурационных файлов CMS или приложений для электронной коммерции. Если знаешь их типовую структуру, то легко сможешь указать ключевые слова. Строки, подобные встречающимся в ws_ftp.ini , крайне распространены. Например, в Drupal и PrestaShop обязательно есть идентификатор пользователя (UID) и соответствующий ему пароль (pwd), а хранится вся информация в файлах с расширением.inc. Искать их можно следующим образом:</p><p> "pwd=" "UID=" ext:inc </p><h2>Раскрываем пароли от СУБД</h2> <p>В конфигурационных файлах SQL-серверов имена и адреса электронной почты пользователей хранятся в открытом виде, а вместо паролей записаны их хеши MD5. Расшифровать их, строго говоря, невозможно, однако можно найти соответствие среди известных пар хеш - пароль.</p> <p><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359963_9e67_sql_code.png' width="100%" loading=lazy></p> <p>До сих пор встречаются СУБД, в которых не используется даже хеширование паролей. Конфигурационные файлы любой из них можно просто посмотреть в браузере.</p><p>Intext:DB_PASSWORD filetype:env </p><p><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359975_d137_env.png' width="100%" loading=lazy></p> <p>С появлением на серверах Windows место конфигурационных файлов отчасти занял реестр. Искать по его веткам можно точно таким же образом, используя reg в качестве типа файла. Например, вот так:</p><p>Filetype:reg HKEY_CURRENT_USER "Password"= </p><p><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436359995_2ecf_reg.png' width="100%" loading=lazy></p> <h2>Не забываем про очевидное</h2> <p>Иногда добраться до закрытой информации удается с помощью случайно открытых и попавших в поле зрения Google данных. Идеальный вариант - найти список паролей в каком-нибудь распространенном формате. Хранить сведения аккаунтов в текстовом файле, документе Word или электронной таблице Excel могут только отчаянные люди, но как раз их всегда хватает.</p><p>Filetype:xls inurl:password </p><p><img src='https://i2.wp.com/xakep.ru/wp-content/uploads/2015/07/1436360015_16e4_xls.png' width="100%" loading=lazy></p> <p>С одной стороны, есть масса средств для предотвращения подобных инцидентов. Необходимо указывать адекватные права доступа в htaccess, патчить CMS, не использовать левые скрипты и закрывать прочие дыры. Существует также файл со списком исключений robots.txt, запрещающий поисковикам индексировать указанные в нем файлы и каталоги. С другой стороны, если структура robots.txt на каком-то сервере отличается от стандартной, то сразу становится видно, что на нем пытаются скрыть.</p> <p><img src='https://i2.wp.com/xakep.ru/wp-content/uploads/2015/07/1436360029_5da8_robots.png' width="100%" loading=lazy></p> <p>Список каталогов и файлов на любом сайте предваряется стандартной надписью index of. Поскольку для служебных целей она должна встречаться в заголовке, то имеет смысл ограничить ее поиск оператором intitle . Интересные вещи находятся в каталогах /admin/, /personal/, /etc/ и даже /secret/.</p> <p><img src='https://i0.wp.com/xakep.ru/wp-content/uploads/2015/07/1436360054_2a7b_indexof.png' width="100%" loading=lazy></p> <h2>Следим за обновлениями</h2> <p>Актуальность тут крайне важна: старые уязвимости закрывают очень медленно, но Google и его поисковая выдача меняются постоянно. Есть разница даже между фильтром «за последнюю секунду» (&tbs=qdr:s в конце урла запроса) и «в реальном времени» (&tbs=qdr:1).</p> <p>Временной интервал даты последнего обновления файла у Google тоже указывается неявно. Через графический веб-интерфейс можно выбрать один из типовых периодов (час, день, неделя и так далее) либо задать диапазон дат, но такой способ не годится для автоматизации.</p> <p>По виду адресной строки можно догадаться только о способе ограничить вывод результатов с помощью конструкции &tbs=qdr: . Буква y после нее задает лимит в один год (&tbs=qdr:y), m показывает результаты за последний месяц, w - за неделю, d - за прошедший день, h - за последний час, n - за минуту, а s - за секунду. Самые свежие результаты, только что ставшие известными Google, находится при помощи фильтра &tbs=qdr:1 .</p> <p>Если требуется написать хитрый скрипт, то будет полезно знать, что диапазон дат задается в Google в юлианском формате через оператор daterange . Например, вот так можно найти список документов PDF со словом confidential, загруженных c 1 января по 1 июля 2015 года.</p><p>Confidential filetype:pdf daterange:2457024-2457205 </p><p>Диапазон указывается в формате юлианских дат без учета дробной части. Переводить их вручную с григорианского календаря неудобно. Проще воспользоваться конвертером дат .</p> <h2>Таргетируемся и снова фильтруем</h2> <p>Помимо указания дополнительных операторов в поисковом запросе их можно отправлять прямо в теле ссылки. Например, уточнению filetype:pdf соответствует конструкция as_filetype=pdf . Таким образом удобно задавать любые уточнения. Допустим, выдача результатов только из Республики Гондурас задается добавлением в поисковый URL конструкции cr=countryHN , а только из города Бобруйск - gcs=Bobruisk . В разделе для разработчиков можно найти полный список .</p> <p>Средства автоматизации Google призваны облегчить жизнь, но часто добавляют проблем. Например, по IP пользователя через WHOIS определяется его город. На основании этой информации в Google не только балансируется нагрузка между серверами, но и меняются результаты поисковой выдачи. В зависимости от региона при одном и том же запросе на первую страницу попадут разные результаты, а часть из них может вовсе оказаться скрытой. Почувствовать себя космополитом и искать информацию из любой страны поможет ее двухбуквенный код после директивы gl=country . Например, код Нидерландов - NL, а Ватикану и Северной Корее в Google свой код не положен.</p> <p>Часто поисковая выдача оказывается замусоренной даже после использования нескольких продвинутых фильтров. В таком случае легко уточнить запрос, добавив к нему несколько слов-исключений (перед каждым из них ставится знак минус). Например, со словом Personal часто употребляются banking , names и tutorial . Поэтому более чистые поисковые результаты покажет не хрестоматийный пример запроса, а уточненный:</p><p>Intitle:"Index of /Personal/" -names -tutorial -banking </p><h2>Пример напоследок</h2> <p>Искушенный хакер отличается тем, что обеспечивает себя всем необходимым самостоятельно. Например, VPN - штука удобная, но либо дорогая, либо временная и с ограничениями. Оформлять подписку для себя одного слишком накладно. Хорошо, что есть групповые подписки, а с помощью Google легко стать частью какой-нибудь группы. Для этого достаточно найти файл конфигурации Cisco VPN, у которого довольно нестандартное расширение PCF и узнаваемый путь: Program Files\Cisco Systems\VPN Client\Profiles . Один запрос, и ты вливаешься, к примеру, в дружный коллектив Боннского университета.</p><p>Filetype:pcf vpn OR Group </p><p><img src='https://i1.wp.com/xakep.ru/wp-content/uploads/2015/07/1436360077_d28b_vpn.png' width="100%" loading=lazy></p> <h2>INFO</h2> Google находит конфигурационные файлы с паролями, но многие из них записаны в зашифрованном виде или заменены хешами. Если видишь строки фиксированной длины, то сразу ищи сервис расшифровки.<br><p>Пароли хранятся в зашифрованном виде, но Морис Массар уже написал программу для их расшифровки и предоставляет ее бесплатно через thecampusgeeks.com .</p> <p>При помощи Google выполняются сотни разных типов атак и тестов на проникновение. Есть множество вариантов, затрагивающих популярные программы, основные форматы баз данных, многочисленные уязвимости PHP, облаков и так далее. Если точно представлять то, что ищешь, это сильно упростит получение нужной информации (особенно той, которую не планировали делать всеобщим достоянием). Не Shodan единый питает интересными идеями, но всякая база проиндексированных сетевых ресурсов!<br></p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </article> <nav class="post-nav"> <div class="nav-links clearfix"> <div class="nav-link nav-link-prev"> <a href="/problems/kak-nastroit-xmedia-recode-pod-kodek-hevc-xmedia-recode-prostoi-besplatnyi.html" rel="prev"><span class="button">Предыдущая статья</span><span class="title">XMedia Recode – простой, бесплатный видео-конвертер</span></a> </div> <!-- /next_post --> <div class="nav-link nav-link-next"> <a href="/iron/kak-maksimalno-szhat-arhiv-rar-szhatie-failov-v-programme-winrar-metod.html" rel="next"><span class="button">Следующая статья</span><span class="title">Сжатие файлов в программе WinRAR</span></a> <!-- /next_post --> </div> </div> </nav> <div class="et_extra_other_module related-posts"> <div class="related-posts-header"> <h3></h3> </div> <div class="related-posts-content clearfix"> <div class="related-post"> <div class="featured-image"><a href="/problems/kak-v-feisbuke-naiti-cheloveka-kak-iskat-v-facebook-i-kak-popast-v-top-poiskovoi.html" title="Как искать в Facebook и как попасть в Топ поисковой выдачи, а также что такое социальный поиск и как его активировать?" class="post-thumbnail"> <img src="/uploads/0a15f5bd811cb68066f27775ade9bb6c.jpg" alt="Как искать в Facebook и как попасть в Топ поисковой выдачи, а также что такое социальный поиск и как его активировать?" / loading=lazy><span class="et_pb_extra_overlay"></span> </a></div> <h4 class="title"><a href="/problems/kak-v-feisbuke-naiti-cheloveka-kak-iskat-v-facebook-i-kak-popast-v-top-poiskovoi.html">Как искать в Facebook и как попасть в Топ поисковой выдачи, а также что такое социальный поиск и как его активировать?</a></h4> <p class="date"><span class="updated">2024-04-06 08:03:11</span></p> </div> <div class="related-post"> <div class="featured-image"><a href="/system/hard-west-vyletaet-vylazit-oshibka-nedostupno-razreshenie-ekrana-reshenie.html" title="Hard West вылетает? Вылазит ошибка? Недоступно разрешение экрана? — Решение проблем. Недоступны некоторые из разрешений экрана, почему" class="post-thumbnail"> <img src="/uploads/b317fd6d7ef957aacb4c7880742cddfe.jpg" alt="Hard West вылетает? Вылазит ошибка? Недоступно разрешение экрана? — Решение проблем. Недоступны некоторые из разрешений экрана, почему" / loading=lazy><span class="et_pb_extra_overlay"></span> </a></div> <h4 class="title"><a href="/system/hard-west-vyletaet-vylazit-oshibka-nedostupno-razreshenie-ekrana-reshenie.html">Hard West вылетает? Вылазит ошибка? Недоступно разрешение экрана? — Решение проблем. Недоступны некоторые из разрешений экрана, почему</a></h4> <p class="date"><span class="updated">2024-04-05 08:05:51</span></p> </div> <div class="related-post"> <div class="featured-image"><a href="/windows-7/avtomaticheskii-rezhim-blokirovki-nedopustim-v-etoi-tranzakcii.html" title="Механизм управляемых блокировок" class="post-thumbnail"> <img src="/uploads/222abd2407a4a71a342a7741ec3ccd54.jpg" alt="Механизм управляемых блокировок" / loading=lazy><span class="et_pb_extra_overlay"></span> </a></div> <h4 class="title"><a href="/windows-7/avtomaticheskii-rezhim-blokirovki-nedopustim-v-etoi-tranzakcii.html">Механизм управляемых блокировок</a></h4> <p class="date"><span class="updated">2024-04-05 08:05:51</span></p> </div> <div class="related-post"> <div class="featured-image"><a href="/interesting/htc-wildfire-s-a510e-proshivka-stokovaya-pereproshivka-smartfona-htc-wildfire-s.html" title="Перепрошивка смартфона HTC Wildfire S через компьютер" class="post-thumbnail"> <img src="/uploads/83a37ef0c48831227164d887cfd8a93f.jpg" alt="Перепрошивка смартфона HTC Wildfire S через компьютер" / loading=lazy><span class="et_pb_extra_overlay"></span> </a></div> <h4 class="title"><a href="/interesting/htc-wildfire-s-a510e-proshivka-stokovaya-pereproshivka-smartfona-htc-wildfire-s.html">Перепрошивка смартфона HTC Wildfire S через компьютер</a></h4> <p class="date"><span class="updated">2024-04-04 08:04:33</span></p> </div> </div> </div> <br> <br> <section id="comment-wrap"> <div id="comments" class="nocomments"> </div> </section> </div> <div class="et_pb_extra_column_sidebar"> <div id="search-4" class="et_pb_widget widget_search"><h4 class="widgettitle"> </h4><form role="search" method="get" class="search-form" action="/"> <label> <span class="screen-reader-text">Найти:</span> <input type="search" class="search-field" placeholder="Поиск…" value="" name="s" /> </label> <input type="submit" class="search-submit" value="Поиск" /> </form></div> <div id="nav_menu-2" class="et_pb_widget widget_nav_menu"><h4 class="widgettitle">Рубрики</h4><div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/useful/">Полезное</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/internet/">Интернет</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/communication/">Общение</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/security/">Безопасность</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/system/">Системные</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/windows-7/">Windows 7</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/windows/">Windows</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/windows-8/">Windows 8</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/iron/">Железо</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/problems/">Проблемы</a></li> <li id="menu-item-" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-"><a href="/category/interesting/">Интересное</a></li> </ul></div></div> <div id="text-2" class="et_pb_widget widget_text"><h4 class="widgettitle"> </h4> <div class="textwidget"> </div> </div> <div id="custom_html-2" class="widget_text et_pb_widget widget_custom_html"><h4 class="widgettitle"> </h4><div class="textwidget custom-html-widget"> </div></div> </div> </div> </div> </div> <footer id="footer" class="footer_columns_3"> <div id="footer-bottom"> <div class="container"> <div id="footer-nav"> <ul id="footer-menu" class="bottom-nav"> <li class="menu-item type-custom object-custom home "><a href="/">Главная</a></li> <li class="menu-item type-post_type object-page "><a href="/feedback.html">Обратная связь</a></li> <li class="menu-item type-post_type object-page "><a href="">Реклама</a></li> </ul> <ul class="et-extra-social-icons" style=""> </ul> </div> <span style="color: #d1d1d1;">© 2024 Интернет. Безопасность. Железо. Проблемы. Полезное</span> <span style="color: #d1d1d1;">  </span> <p> <span style="font-size: 8pt; color: #d1d1d1;"> </span> </div> </div> </footer> </div> <span title="Back To Top" id="back_to_top"></span> <div id="wpcp-error-message" class="msgmsg-box-wpcp warning-wpcp hideme"><span>error: </span>Контент защищен !!</div> <script> var timeout_result; function show_wpcp_message(smessage) { if (smessage !== "") { var smessage_text = '<span>Alert: </span>'+smessage; document.getElementById("wpcp-error-message").innerHTML = smessage_text; document.getElementById("wpcp-error-message").className = "msgmsg-box-wpcp warning-wpcp showme"; clearTimeout(timeout_result); timeout_result = setTimeout(hide_message, 3000); } } function hide_message() { document.getElementById("wpcp-error-message").className = "msgmsg-box-wpcp warning-wpcp hideme"; } </script> <style type="text/css"> #wpcp-error-message { direction: ltr; text-align: center; transition: opacity 900ms ease 0s; z-index: 99999999; } .hideme { opacity:0; visibility: hidden; } .showme { opacity:1; visibility: visible; } .msgmsg-box-wpcp { border-radius: 10px; color: #555; font-family: Tahoma; font-size: 11px; margin: 10px; padding: 10px 36px; position: fixed; width: 255px; top: 50%; left: 50%; margin-top: -10px; margin-left: -130px; -webkit-box-shadow: 0px 0px 34px 2px rgba(242,191,191,1); -moz-box-shadow: 0px 0px 34px 2px rgba(242,191,191,1); box-shadow: 0px 0px 34px 2px rgba(242,191,191,1); } .msgmsg-box-wpcp span { font-weight:bold; text-transform:uppercase; } .error-wpcp { background:#ffecec url('/wp-content/plugins/wp-content-copy-protector/images/error.png') no-repeat 10px 50%; border:1px solid #f5aca6; } .success { background:#e9ffd9 url('/wp-content/plugins/wp-content-copy-protector/images/success.png') no-repeat 10px 50%; border:1px solid #a6ca8a; } .warning-wpcp { background:#ffecec url('/wp-content/plugins/wp-content-copy-protector/images/warning.png') no-repeat 10px 50%; border:1px solid #f5aca6; } .notice { background:#e3f7fc url('/wp-content/plugins/wp-content-copy-protector/images/notice.png') no-repeat 10px 50%; border:1px solid #8ed9f6; } </style> <script type='text/javascript' src='https://lifexakep.ru/wp-content/themes/Extra/includes/builder/scripts/frontend-builder-global-functions.js?ver=1.3.9'></script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.9.1'></script> <script type='text/javascript'> /* <![CDATA[ */ var tocplus = { "smooth_scroll":"1","visibility_show":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435","visibility_hide":"\u0421\u043a\u0440\u044b\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435","width":"Auto"} ; /* ]]> */ </script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/plugins/table-of-contents-plus/front.min.js?ver=1509'></script> <script type='text/javascript' src='/wp-includes/js/imagesloaded.min.js?ver=3.2.0'></script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/themes/Extra/scripts/ext/jquery.waypoints.min.js?ver=1.3.9'></script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/themes/Extra/scripts/ext/jquery.fitvids.min.js?ver=1.3.9'></script> <script type='text/javascript' src='/wp-includes/js/masonry.min.js?ver=3.3.2'></script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/themes/Extra/scripts/scripts.min.js?ver=1.3.9'></script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/themes/Extra/scripts/ext/jquery.raty.min.js?ver=1.3.9'></script> <script type='text/javascript' src='/wp-includes/js/comment-reply.min.js?ver=4.9.1'></script> <script type='text/javascript'> var q2w3_sidebar_options = new Array(); q2w3_sidebar_options[0] = { "sidebar" : "sidebar-main", "margin_top" : 10, "margin_bottom" : 0, "stop_id" : "", "screen_max_width" : 0, "screen_max_height" : 0, "width_inherit" : false, "refresh_interval" : 1500, "window_load_hook" : false, "disable_mo_api" : false, "widgets" : ['custom_html-2'] } ; </script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=5.0.4'></script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/themes/Extra/includes/builder/scripts/jquery.fitvids.js?ver=1.3.9'></script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/themes/Extra/includes/builder/scripts/jquery.magnific-popup.js?ver=1.3.9'></script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/themes/Extra/includes/builder/scripts/jquery.mobile.custom.min.js?ver=1.3.9'></script> <script type='text/javascript' src='https://lifexakep.ru/wp-content/themes/Extra/includes/builder/scripts/frontend-builder-scripts.js?ver=1.3.9'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=4.9.1'></script> <script async="async" type='text/javascript' src='https://lifexakep.ru/wp-content/plugins/akismet/_inc/form.js?ver=4.0.1'></script> </body> </html>