Из этой темы я знаю, какие атаки возможны, когда CURLOPT_SSL_VERIFYHOST отключен. Я хотел бы знать, какие атаки возможны, когда VERIFYPEER, а не _VERIFYHOST, отключен. Приемлем ли риск для платежей кредитными картами?
(я спрашиваю потому, что мой код работает только с отключенным _VERIFYPEER, хотя никто не знает почему)
Ответ 1 · рейтинг 5 · nneonneo
Если вы отключите CURLOPT_SSL_VERIFYPEER, curl не будет проверять, действительно ли сертификат подписан доверенным центром. Это очень опасно! В ситуации MITM без VERIFYPEER злоумышленник может просто заменить настоящий сертификат своим "самозаверяющим" сертификатом, и если имя хоста совпадает (что он может всегда делать, так как он делает сертификат), ваше приложение примет его.
Ваш код, вероятно, дает сбой, потому что у вас не настроено хранилище сертификатов ЦС, а сервер, с которым вы общаетесь, подписан ЦС, не входящим в репозиторий curl по умолчанию. Попробуйте использовать CURLOPT_CAINFO или CURLOPT_CAPATH, чтобы указать сертификаты для проверки, и убедитесь, что сертификаты, которые вы используете для проверки, доступны и соответствуют сертификатам целевого сервера.