Несколько замечаний и вопросов по коду smtp-checker
kcksjscmspacjn opened this issue · comments
- По autoconfigs
update_autoconfigs.py сохраняет в файл autoconfigs.txt, а mailpass2smtp.py подтягивает конфиг из autoconfigs_enriched.txt, к тому же не локально, а с репозитория. Возникают вопросы и по autoconfigs_enriched.txt. Для примера возьмём строчку
a1.net;securemail.a1.net:587,bsmtp.a1.net:587,forschung.a1.net:587;%EMAILADDRESS%
Откуда взялся хост forschung.a1.net? В базе его нет https://autoconfig.thunderbird.net/v1.1/a1.net. Как сгенерировать autoconfigs_enriched.txt? Парсер не выложен.
- По dangerous_domains
Абсолютно непонятны элементы mx37\.m..p\.com
и vm\d
. Также непонятна концовка списка начиная с fucking-shit|please|kill-me-please
..., почему эти домены зловредны?
Некорректный парсинг dangerous_domains, для теста взял asd@dESET.com:123456, получил
skipping domain: mail.deset.com (for deset.com)
Не нашёл подходящего примера, но было бы интересно узнать, как отработает фильтрация, когда в MX две записи, mail.company.com (норм) и mail.avast.com (ханипот АВ).
- По bad_mail_servers
Для теста взял 5 строк
asd@gmail.asd.com:123456
qwe@googlemail.asd.com:123456
zxczxc@googlemailasdasd.com:123456
qweqwe@mail.ru.com:4444444
qweqwe@mail.rucompany.com:444444
Все 5 уходят в ignored, а значит некорректно отрабатываются крайние случаи при фильтрации.
Почему пропускается TLS хендшейк в строке 152?
do_handshake_on_connect=False
Может ли быть ситуация, что без TLS хост-получатель дропнет коннект?
Не понял, как работает get_alive_neighbor
. Что попадает в is_listening
?
В массиве headers_arr
указан MadCat
, на основе этой сигнатуры антивирусные компании могут построить детектирование атаки, лучше убрать.
Бывают пропуски валида. На вход дал 13 валидных строк. На выходе иногда 11, иногда 12. Думаю, что это покрывается объёмами и повторными запусками, но недостаток имеет место.
На XSS ты предлагаешь поддерживать инструменты. Ты даже комменты в коде не пишешь. Как так?
Дополнение. В Thunderbird имплементировано несколько способов поиска конфига.
- Для MS Exchange, строки 89-107 https://github.com/mozilla/releases-comm-central/blob/5eb6c95e703942d02eae9b886c926b3219892f52/mail/components/accountcreation/ExchangeAutoDiscover.jsm#LL89C3-L107C22
Пример HTTP запроса
POST /autodiscover/autodiscover.xml HTTP/1.1
Host: autodiscover.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: text/xml; charset=utf-8
Content-Length: 399
Connection: close
<?xml version="1.0" encoding="utf-8"?>
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006">
<Request>
<EMailAddress>asdasdsa@example.com</EMailAddress>
<AcceptableResponseSchema>http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a</AcceptableResponseSchema>
</Request>
</Autodiscover>
- Для остальных, строки 107-112
https://github.com/mozilla/releases-comm-central/blob/5eb6c95e703942d02eae9b886c926b3219892f52/mail/components/accountcreation/FetchConfig.jsm#LL107C2-L112C52
Пример HTTP запроса
GET /mail/config-v1.1.xml?emailaddress=asdasdsa%40example.com HTTP/1.1
Host: autoconfig.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
я не выкладывал как генерится расширенный конфиг, потому что его достаточно сделать 1 раз и забыть.
параметры подключения для всех доменов, которые не найдены в конфиге, восстанавливаются автоматом и кешируются, а конфиг лишь экономит время на первом запросе.
то что непонятно по регуляркам - так надо.
парсинг доменов полностью коррректный, так надо, чтобы все домены с подстроками в них банились.
это же касается игнорируемых доменов. Так надо, чтобы можно было указывать только имя бренда, например, а не домен целиком.
по tsl - нет, не может быть такой ситуации.
берется соседний ip-адрес, как следует из названия
В массиве headers_arr указан MadCat, на основе этой сигнатуры антивирусные компании могут построить детектирование атаки, лучше убрать.
ты наркоман чтоли?)
На XSS ты предлагаешь поддерживать инструменты. Ты даже комменты в коде не пишешь. Как так?
ой иди нахуй с такими вопросами. срач развел, пользы 0 по факту. Как так?
отвечая на последний комент - autoconfig не поддерживается и не настроен у большей части корпов. вообще не смысла на него полагаться, и куда проще восстановить параметры подключения перебором.