Продвинутый поиск в Яндекс

Оглавление

1. Особенности поиска в Яндекс

2. Язык запросов Яндекс для расширенного поиска

3. Продвинутые операторы

4. Яндекс дорки?

5. Заключение

6. Источники


Особенности поиска в Яндекс

Предыдущая статья была посвящена тонкостям поиска в Google. Поисковая система Яндекс тоже имеет расширенные возможности поиска и продвинутые операторы. У Яндекс очень хороший охват русскоязычных сайтов, поэтому если целевой сайт на русском языке, то на этапе сбора информации имеет смысл воспользоваться также и Яндексом.

Синтаксис запросов в Яндекс отличается от Google: операторы называются по-другому и логика их работы отличается, аналоги каких-то гугловских операторов отсутствуют вовсе, а какие-то, напротив, являются уникальными только для Яндекса.

Пожалуй, главным отличием поиска Яндекса является свой собственный индекс, с огромным охватом сайтов на русском языке. А также свои собственные алгоритмы определения релевантности (насколько страница соответствует поисковому запросу) и ранжирования (как высоко в результатах поисковой выдачи должна находиться страница).

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

Итак, давайте познакомимся с продвинутыми приёмами поиска Яндекс, которые в любом случае пригодятся всем, кто что-то ищет в Интернете (то есть всем) – даже если вы не занимаетесь расследованиями на основе открытых источников.

Язык запросов Яндекс для расширенного поиска

Поиск по одному слову

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

Поиск по фразе

Ищутся страницы, содержащие все слова из фразы. Как и для отдельных слов, поиск выполняется по различным словоформам, синонимам

Например, запрос

недорогие авиабилеты

Найдёт страницы, содержащие фразы «недорогие авиабилеты», «дешёвые авиабилеты», «поиск дешёвых авиабилетов» и другие.

Поиск слова в заданной форме

Если вы не хотите, чтобы при поиске использовались различные формы слова либо его синонимы, то перед этим словом поставьте восклицательный знак (!):

!недорогие авиабилеты

Допустимо использовать несколько операторов ! в рамках одного запроса.

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

Важные слова в поисковом запросе

дёшево +доехать +суварнабхуми +сукумвит

Необычная концепция – будет выполнен поиск документов, в которых обязательно присутствует выделенное знаком плюс (+) слово. Допустимо использовать несколько операторов + в одном запросе.

Т.е. по приведённому поисковому запросу обязательно будут найдены страницы, содержащие слова «доехать» «суварнабхуми» «сукумвит» и, возможно, слово «дёшево».

Поиск по точной цитате

Точно также как в Гугл, вы можете искать страницы, содержащие точную цитату. Для этого поместите её в кавычки. 

"безопасно хранить свои денежные средства в батах"

Будут найдены страницы (документы) которые содержат все слова поискового запроса, именно в той последовательности и в точной форме, как они идут в самом запросе.

Поиск по цитате с пропущенным словом (словами)

Один оператор * соответствует одному пропущенному слову.

Вы можете использовать это только при поиске по точной цитате – т.е. внутри двойных кавычек.

"без труда не * и рыбку из пруда"

Правда иногда Яндекс издевается:

В общем, я так и не вспомнил, какое там именно слово…

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

SVO | DME | трактор

Вы можете выполнить поиск страниц, в которых присутствует любое слово из запроса – это ещё называют логическим ИЛИ. Для этого используется оператор, обозначенный символом труба (|). Операторы отделяется от слов пробелами.

Допустимо использовать несколько операторов | в одном запросе.

Напомню, что в Google можно использовать оператор OR либо также использовать трубу.

Поиск любой из фраз

"большой адронный коллайдер" | "смешные кошки"

Вы можете использовать ИЛИ (|) вместе с поиском по точно совпадающим фразам.

В результате будут найдены страницы, содержащие фразу "большой адронный коллайдер", а также страницы с фразой "смешные кошки".

Использование скобок для группировки

обучение (java | PHP)

По умолчанию, логическое ИЛИ разбивает поисковый запрос на две части – то, что стоит до этого оператора и то, что стоит после него.

Т.е. запрос

обучение java | PHP

привёл бы к тому, что поисковая система стала бы искать страницы с фразой «обучение java» и страницы с фразой «PHP». Но если нам нужно, чтобы были найдены страницы с фразой «обучение java» и страницы с фразой «обучение PHP», то нам нужно использовать скобки для отделения обязательной части от альтернативной.

Поиск документов, в которых отсутствует заданное слово

лечение аппендицита -самостоятельно

При поиске по фразе из нескольких слов, вы можете указать те слова, которые не должны встречаться на найденных страницах. Т.е. в результатах поиска будут те документы, на которых есть искомая раза, но без нежелательного слова.

В качестве оператора отрицания используется знак минус (). Исключается только слово, перед которым стоит оператор. При этом исключаемое слово должно размещаться в конце поискового запроса.

Допустимо использовать несколько операторов минус () в одном запросе.

Видимо, минус работает только со словами для поиска, но не работает с операторами, которые будут рассмотрены далее.

Продвинутые операторы

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

  • типу файла
  • хосту
  • URL
  • языку страницы
  • дате

Синтаксис для уточнения поиска по данным параметрам называется «документные операторы».

Документный оператор рекомендуется указывать после текста поискового запроса и отделять от него пробелом. В одном запросе одновременно можно использовать несколько операторов, так же разделяя их пробелом. Например,

поиск site:www.yandex.ru mime:pdf

При использовании операторов, где в качестве параметра задается имя хоста (url, host и rhost), следует указывать главное зеркало сайта. Например,

host:lib.ru

а не

host:www.lib.ru

Поиск по страницам, размещенным по заданному адресу (URL)

Для поиска по определённому адресу страницы используется оператор url: со следующим синтаксисом:

url:полный URL

или:

url:имя хоста/папка/*

Регистр букв в адресе не учитывается.

Чтобы найти все документы, адреса которых начинаются с заданного значения, поставьте в конце URL символ *.

URL в запросе следует заключить в кавычки, если он содержит один из следующих символов:

  • '
  • "
  • (
  • )
  • _

Обратите внимание, что запрос:

уязвимость sql инъекция url:hackware.ru

Ничего не найдёт! Поскольку поиск будет проводиться именно по домашней странице hackware.ru (а не по всему сайту). Чтобы выполнялся поиск по всему сайту используйте звёздочку:

уязвимость sql инъекция url:hackware.ru/*

Параметр url: предназначен в первую очередь для поиска по определённым разделам сайта, например:

уязвимость sql инъекция url:hackware.ru/?cat=*

Будет выполнен поиск фразы «уязвимость sql инъекция» только по страницам вида hackware.ru/?cat= (категории).

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

Поиск по всем поддоменам и страницам указанного сайта

Синтаксис:

site:URL сайта

Пример:

уязвимость sql инъекция site:hackware.ru

Будут найдены документы, содержащие фразу «уязвимость sql инъекция» и размещенные на поддоменах и страницах сайта hackware.ru.

Поиск по страницам, размещенным на данном хосте

Синтаксис:

host:имя хоста в формате www.домен второго уровня.домен верхнего уровня

Идентичен оператору url: с заданным именем хоста.

Пример:

sqli host:tools.kali.org

Будут найдены документы, содержащие слово «sqli» и размещенные на хосте tools.kali.org (один из поддоменов сайта kali.org).

Другой вариант поиска страниц на определённому субдомене – это использование оператоора rhost:

Идентичен оператору host:, но имя хоста записывается в обратном порядке: сначала домен верхнего уровня, затем домен второго уровня и т. д.

Для поиска по всем поддоменам заданного домена в конце URL поставьте символ *.

Синтаксис:

rhost:имя хоста в формате домен верхнего уровня.домен второго уровня.www

Вариант с подстановочным символом:

rhost:имя хоста в формате домен верхнего уровня.домен второго уровня.*

Пример, вывод всех страниц поддомена tools.kali.org:

rhost:org.kali.tools

Показать все страницы любых субдоменов kali.org, начинающихся на букву a:

rhost:org.kali.a*

Поиск по определённым доменным зонам

Синтаксис:

domain:доменная зона

Пример:

information security labs domain:edu

Будет найдена фраза «information security labs» только на сайтах доменной зоны edu.

Поиск по типу файлов

Синтаксис:

mime:тип файла

Поиск по документам в заданном типе файла. Поддерживаются следующие типы файлов:

  • doc
  • docx
  • html
  • odg
  • odp
  • ods
  • odt
  • pdf
  • ppt
  • pptx
  • rtf
  • swf
  • xls
  • xlsx

Пример:

анкета загранпаспорт mime:doc

Будут найдены документы в формате doc, содержащие слова «анкета» и «загранпаспорт».

Можно указать сразу несколько расширений для поиска, но обязательно объедините их логическим ИЛИ (|):

site:vasexperts.ru (mime:pdf | mime:doc | mime:docx)

Поиск по страницам на заданном языке

Синтаксис:

lang:язык

Поддержижваются языки:

  • русский (ru)
  • украинский (uk)
  • белорусский (be)
  • английский (en)
  • французский (fr)
  • немецкий (de)
  • казахский (kk)
  • татарский (tt)
  • турецкий (tr)

Пример:

passport lang:en

Будут найдены документы на английском языке, содержащие слово «passport».

Поиск по дате и диапазону дат

А вот в этом поиск Яндекса точно обогнал Google – у Гугла очень невнятный поиск по датам изменения документа, практически, можно сказать что его нет, т.к. результаты странные.

Вы можете выполнять поиск по страницам с ограничением по дате их последнего изменения.

Варианты поиска по дате

Изменение страницы соответствует указанной дате:

date:ГГГГММДД

Изменение страницы находится в интервале:

date:ГГГГММДД..ГГГГММДД

Изменение страницы находится до или после указанной даты (<, <=, >, >=):

date:<ГГГГММДД

Дата изменения страницы указана частично:

date:ГГГГ**

Примечание. Год изменения указывается обязательно. Месяц и день можно заменить символом *.

Примеры, в которых ищется слово «фестиваль» в документах, для которых дата изменения соответствует 10.10.2014:

фестиваль date:20141010

Дата изменения находится в интервале между 10.10.2014 и 10.11.2014 включительно:

фестиваль date:20141010..20141110

Дата изменения позднее 10.11.2014:

фестиваль date:>20141110

Дата изменения соответствует 2014 году:

фестиваль date:2014**

Допустим, я хочу узнать, какие страницы сайта hackware.ru изменились в период с 10 июня 2018 года по 10 июля 2018 года:

site:hackware.ru date:20180610..20180710

Я хочу найти любые документы на любом сайте, в которых присутствует точная фраза "алексей милосердов" и которые изменены в период с 5 июля 2018 года по 10 июля 2018 года:

"алексей милосердов" date:20180705..20180710

Всего один документ с адресом https://student.knastu.ru/upload/works/__5dDvrTYvFwt9Z5YrqV5PRc0jiZYTcKgZzK.pdf

Кстати, можно посмотреть, какие ещё студенческие работы там есть:

site:student.knastu.ru/upload/works/

Поиск по заголовку

Вы можете искать по заголовку веб-страниц. Но в Яндекс это реализовано немного необычно – вы можете искать ИЛИ по заголовку ИЛИ по документу, но не одновременно и там и там.

Чтобы выполнить поиск по названию страницы, вы можете воспользоваться формой расширенного поиска: https://yandex.ru/search/advanced

Либо к адресу страницы с результатами поиска добавьте &zone=title

Возможно имеется специальный оператор, чтобы не нужно было менять URI, но я не нашёл информации об этом. Напрашивается аналогия zone:title, но, на мой взгляд, это не работает.

Если вы об этом что-то знаете – то пишите в комментариях.

Поиск по точной форме слова

Мы уже рассмотрели этот вопрос – если фраза для поиска помещена в кавычки, то на страницах ищется точное соответствие. В противном случае ищутся все формы и синонимы слов.

Если вы хотите искать по точным формам слов, но вам не важен их порядок и слова не обязательно должны составлять одну фразу, то, по идее, каждое слово можно поместить в кавычки. Ещё один вариант – это отредактировать URI. Если там wordforms=all, то выполняется поиск по всем формам, а если wordforms=exact – то ищутся точные совпадения.

Яндекс дорки?

Поиск в Яндекс, безусловно, может оказаться полезным для исследователей на основе открытых источников. В том числе, при поиске утечек.

А как насчёт поиска в Яндекс для хакеров и пентестеров? Хотя язык запросов Яндекса менее гибок, всё равно и через Яндекс можно найти разнообразную чувствительную информацию и файлы, не предназначенные для всеобщего доступа.

Брутфорс поддоменов по одной букве

Мы уже рассматривали как с помощью Гугл перечислеть поддомены. Там же я говорил про плюсы и минусы этого способа. В Яндекс тоже есть такая возможность. Причём, для тех сайтов, которые я попробовал, Яндекс знает больше субдоменов чем Google!

Для этого можно использовать оператор rhost: Напомню, при нём домен/поддомен пишется в обратном порядке, т.е. начиная с домена верхнего уровня, затем домен второго уровня, затем поддомен третьего уровня и так далее.

Самое интересное – используя подстановочный символ * мы можем искать по части поддомена – к слову, Google не воспринимает частично написанные домены вообще.

Допустим, меня интересуют поддомены сайта kali.org. Я делаю запросы вида:

rhost:org.kali.a*
rhost:org.kali.b*
rhost:org.kali.c*
rhost:org.kali.d*
rhost:org.kali.e*
rhost:org.kali.f*
rhost:org.kali.g*
rhost:org.kali.h*
rhost:org.kali.i*
…
rhost:org.kali.t*
…
…

В результате я нашёл несколько новых субдоменов, которые не смог найти с помощью Гугл:

  • buildd-amd64.kali.org
  • eros.kali.org
  • eos.kali.org
  • iris.kali.org
  • images.kali.org

Можно создать скрипт и при правильно написанном алгоритме можно получить весь список субдоменов за несколько десятков запросов либо сотен запросов (в зависимости от выбранного алгоритма) – это может конкурировать с брут-форсом субдоменов по словарю. Самое важное – кроме Яндекса запросы никуда больше не делаются.  

Аналогично для offensive-security.com с помощью Яндекса я нашёл субдомены, о которых не знал Гугл:

rhost:com.offensive-security.d*
  • download.offensive-security.com
rhost:com.offensive-security.f*
  • forums.offensive-security.com
rhost:com.offensive-security.i*
  • images.offensive-security.com
rhost:com.offensive-security.s*
  • support.offensive-security.com
  • screenconnect.offensive-security.com:8040

Поиск папок с открытым листингом

"Index of /" "Parent Directory"

В таких папках может быть что угодно – от публичных файлообменников до личных фото архивов.

Иногда там можно найти файлы со списком паролей:

Причём разных пользователей:

Пробуйте разные названия папок. Например, поиск папки admin листингом файлов:

"Index of /admin" "Parent Directory"

Поиск папки mail (иногда в них лежат электронные письма):

"Index of /mail" "Parent Directory"

Вариантов много, посмотрите также примеры для Google.

Поиск админок и страниц аутентификации

"Вход" url:."ru/admin"

Или

"Вход" url:."ru/login"

Пробуйте свои варианты!

Поиск ключей для подключения по SSH

"Index of /.ssh/"

Заключение

У поисковой системы Яндекс большой охват сайтов на русском, а теперь ещё и на некоторых иностранных языках, особенно на английском.

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

Что касается применения поиска Яндекс при пентестинге, то он хорошо подходит для поиска информации и документов на целевом сайте. Но возможности поиска дорков у Яндекса намного беднее.

Источники

Читайте также «Продвинутый поиск в Гугл».

Рекомендуется Вам:

Добавить комментарий

Ваш e-mail не будет опубликован.