Я пытаюсь понять, как обойти защиту HSTS. Я читал об инструментах от LeonardoNve ( https://github.com/LeonardoNve/sslstrip2 и https://github.com/LeonardoNve/dns2proxy ). Но я совсем не понимаю.
Если клиент впервые запрашивает сервер, он будет работать в любое время, потому что sslstrip просто удалит поле заголовка Strict-Transport-Security:. Итак, мы вернулись к старому делу с оригинальным sslstrip.
Если не ... ? Что случается ? Клиент знает, что он должен взаимодействовать с сервером только по HTTPS, поэтому он автоматически попытается подключиться к серверу по HTTPS, нет? В таком случае MitM бесполезен... >‹
Глядя на код, я как бы понимаю, что sslstrip2 изменит доменное имя ресурсов, необходимых клиенту, поэтому клиенту не придется использовать HSTS, поскольку эти ресурсы не находятся в одном домене (это правда?). Клиент отправит DNS-запрос, который инструмент dns2proxy перехватит и отправит обратно IP-адрес для реального доменного имени. В конце клиент просто HTTP-запросит ресурсы, которые он должен был сделать по протоколу HTTPS.
Пример . Из ответа сервера клиент должен загрузить mail.google.com. Злоумышленник изменил его на gmail.google.com, так что это не тот же (дочерний) домен. Затем клиент запросит DNS для этого домена, dns2proxy ответит реальным IP-адресом mail.google.com. Затем клиент просто запросит этот ресурс через HTTP.
Чего я не понимаю, так это до этого ... Как злоумышленник может html-strip, в то время как соединение должно быть HTTPS от клиента к серверу ...?
Кусочка не хватает... :с
Спасибо