CoderCastrov logo
CoderCastrov
Осинт

Опыт OSINT: Попытка парсинга заполненных контактных форм

Опыт OSINT: Попытка парсинга заполненных контактных форм
просмотров
3 мин чтение
#Осинт

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

Сайт выглядел как построенный на WordPress.

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

Структура URL мне показалась знакомой.

Я был почти уверен, что это Contact Form 7 - который я использовал раньше, прежде чем перейти на WP Forms, который встроен в этот сайт.

Я ошибся. Есть сервисы для определения тем и плагинов, используемых на сайте WordPress, но в этом случае мне просто нужно было проверить исходный HTML:

URL подтверждения выглядел так:

[http://www.website.com/contact-us?contact-form-id=243&contact-form-sent=24245&contact-form-hash=353533598988958&_wpnonce=cdf79b8067#contact-form-865](http://www.website.com/contact-us?contact-form-id=243&contact-form-sent=24245&contact-form-hash=353533598988958&_wpnonce=cdf79b8067#contact-form-865)

Таким образом, мы явно можем идентифицировать четыре переменные:

  • ID контактной формы (трехзначное число). Его исходная строка - contact-form-id.
  • Номер подтверждения контактной формы (пятизначное число). Его исходная строка - contact-form-sent.
  • Хэш из 40 символов в кодировке UTF-8. Его исходная строка - contact-form-hash.
  • Второй уникальный идентификатор формы: 'Wpnonce'

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

Я предположил, что плагин генерирует эти сообщения подтверждения с соответствующими тегами SEO.

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

Я пошел искать.

Построение запроса

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

Очевидно, что сообщения подтверждения могут различаться, поэтому поиск по конкретному шаблону URL казался более подходящим подходом, чем поиск текстовых строк.

Я предположил, что "contact-us?contact-form-id=" должно быть общим для всех заполнений форм, использующих этот плагин WordPress.

Первый запрос, безуспешный:

URL-адреса, кажется, либо не сохраняются, либо хорошо деиндексированы.

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

Форма была частично заполнена и сохранена онлайн. Но похоже, что это бот-отправка:

К сожалению, прямой поиск запросов не приводит к обнаружению явно выложенных заполнений форм.

Я решаю искать inurl: contact-form-hash и начинаю находить фактические подтверждения форм:

К сожалению, эти сайты не перенаправляют вывод формы на страницу подтверждения.

А если бы они сделали это, какое слово кто-то мог бы использовать в форме? Возможно, "Regards"?

Примечание: при использовании таких расширенных операторов вы практически гарантированно начнете получать вот это:

Что приводит только к большему количеству русского спама:

К сожалению, они не кэшируются в Google:

Один интересный наблюдение заключается в том, что поля бэкэнда иногда захватываются поисковыми системами, вероятно, из-за неправильной конфигурации:

Мы можем найти еще некоторые, выполнив поиск по:

Или:

Результат

Это исследование OSINT не принесло много полезной информации, но оно подтвердило, что мои заполнения форм, скорее всего, не собираются. Но каждое подобное испытание является интересным экспериментом.

Некоторые вещи, которые я узнал из этого:

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

_Оригинальная публикация на https://www.danielrosehill.co.il