https как раз и создан как защита от подобных атак
единственный способ - атака через плагин в браузере клиента, собственно что и делают злоумышленники, скупая популярные и не очень расширения и добавляя туда свой модуль запуска скриптов на каждых сайтах (для сбора приватной информации и рекламы), через расширение можно подменять содержимое, подгружая логику с сервера, меняя или добавляя скрипты и т.п.
Еще - атака через смену браузера на стороне клиента (всеми способами тебе 'впаривается' новый браузер, типа как это делает яндекс или как это уже сделал гугл со всем миром) тут уже порядок обработки и контроля шифрованного соединения на совести браузера (например можно логировать ключи шифрования каждой сессии, в этом случае логирование шифрованных дампов у провайдера плюс эти ключи позволят их как минимум расшифровывать, ну для подмены данных этот способ неудобен)