
«Могу ли я захватить XYZ?» — список сервисов и способы получения (под)доменов с зависшими DNS-записями.

Авторы этого документа не несут ответственности за корректность. Этот проект предназначен исключительно для помощи исследователям безопасности в определении того, является ли что-то уязвимым или нет, но не гарантирует точность. Проект в значительной степени полагается на вклад сообщества; следовательно, доказательство наличия уязвимости остаётся на усмотрение исследователя безопасности и программы bug bounty.
Кроме того, важно уточнить, что этот проект не ставит целью выявление или раскрытие обходов мер безопасности, реализованных различными сервисами. Вместо этого предполагается, что подобные обходы следует сообщать непосредственно в затронутый сервис для принятия соответствующих мер.
Наконец, стоит отметить, что некоторые программы bug bounty могут принимать отчёты о «зависших» DNS-записях без требования доказательства компрометации.
Уязвимости захвата поддомена возникают, когда поддомен (subdomain.example.com) указывает на сервис (например, GitHub Pages, Heroku и т.д.), который был удалён или отключён. Это позволяет атакующему создать страницу в ранее используемом сервисе и привязать её к этому поддомену. Например, если subdomain.example.com указывал на страницу GitHub, и пользователь решил удалить эту страницу, атакующий может создать новую страницу GitHub, добавить CNAME-файл, содержащий subdomain.example.com, и таким образом завладеть поддоменом.
Подробнее о захвате поддоменов можно прочитать здесь:
Исходя из личного опыта, обычно достаточно незаметно завладеть поддоменом и разместить безвредный файл на скрытой странице, чтобы продемонстрировать уязвимость. Не размещайте контент на главной странице. Хорошим доказательством концепции может служить HTML-комментарий, размещённый по случайному пути:``` $ cat aelfjj1or81uegj9ea8z31zro.html
Пожалуйста, имейте в виду, что это зависит от того, на какую программу bug bounty вы нацелены. Если вы сомневаетесь, обратитесь к политике безопасности программы bug bounty и/или запросите разъяснения у команды, стоящей за программой.
## Как использовать этот проект
Я рекомендую искать название сервиса, на который вы нацелены, во вкладке Issues. Таким образом вы сможете увидеть текущее обсуждение и более подробные шаги по получению интересующего вас поддомена.
## Как внести вклад
Вы можете отправить новые сервисы здесь: https://github.com/EdOverflow/can-i-take-over-xyz/issues/new?template=new-entry.md.
Список сервисов, которые можно проверить (но сначала проверьте их на дубликаты с этим списком), можно найти здесь: https://github.com/EdOverflow/can-i-take-over-xyz/issues/26.
# Все записи
Примечание: `fingerprints.json` автоматически обновляется на основе содержимого этой таблицы.
Определения заголовков столбцов:
- `Engine`: Название сервиса
- `Status`: Уязвим ли сервис
- `Verified by CI/CD`: Проходит ли автоматическая проверка отпечатка в данный момент
- `Domains`: Домены, разделенные запятыми (используются для автоматической проверки отпечатка)
- `Fingerprint`: Регулярное выражение, указывающее на уязвимую страницу (или `NXDOMAIN`, указывающее на несуществующую DNS-запись)
- `Discussion`: Ссылка на issue в этом репозитории для обсуждения
- `Documentation`: Ссылка на официальную документацию