Я знаю, что это, вероятно, непростой вопрос, но я разрабатываю несколько веб-форм и хочу, чтобы библиотека PHP, которую я могу использовать для отправки почты, и автоматически обрабатывать данные. Я смотрел PHPMailer, который выглядел довольно простым в настройке.
Является ли PHPMailer защищенной библиотекой для предотвращения того, чтобы мои формы не подвергались внедрению SQL Injection/E-mail Injection/XSS и т.д.? Я признаю, что ничего не на 100% безопасно, но я ищу простой сценарий для использования без необходимости дезинфекции данных.
PHPMailer не создает и не использует какой-либо SQL сам, и не имеет никакого отношения к javascript, поэтому он защищен на этих фронтах. Он часто используется рядом с кодом, который делает оба, но это не проблема PHPMailer.
Он применяет фильтрацию к заголовкам, чтобы избежать атак заголовков, и (насколько я знаю!) Правильно строит заголовки, чтобы убежать и закодировать в соответствии с RFC. Обычно PHPMailer предпочитает строгое техническое соблюдение там, где это практически возможно. Существует одна открытая проблема, касающаяся соответствия длины строки.
Если вы используете PHP 5.6 с настройками по умолчанию, он проверяет SSL/TLS-сертификаты на безопасные соединения. Раньше версии PHP не делали этого по умолчанию, и вы можете отключить его в PHP 5.6, хотя ни один из них не рекомендуется. Существует открытая проблема, связанная с форсированием этого параметра в ранних версиях PHP.
Все, что было сказано, конечно, PHPMailer (как и любая техническая библиотека) можно злоупотреблять, чтобы отправлять всевозможные неприятные фишинг, спам и вредоносное ПО, а класс SMTP можно использовать, чтобы попытаться запутать ад из почтовых серверов, хотя он попытается его труднее обеспечить, чтобы он делал это с максимальным уважением к RFC.
На данный момент существует рекомендуемый патч для уязвимостей для версий до 5.2.18. Загрузить здесь https://github.com/PHPMailer/PHPMailer
Цитата из Hacker News (http://thehackernews.com/2016/12/phpmailer-security.html) дает краткое резюме:
Критическая уязвимость (CVE-2016-10033), обнаруженная польским исследователем безопасности Давидом Голунски (Dawid Golunski), позволяет злоумышленнику удаленно выполнять произвольный код в контексте веб-сервера и компрометировать целевое веб-приложение.
"Чтобы использовать уязвимость, злоумышленник может ориентироваться на общие компоненты веб-сайта, такие как формы контактов/обратной связи, формы регистрации, сброс электронной почты с паролем и другие, которые отправляют электронные письма с помощью уязвимой версии класса PHPMailer", - пишет Голунски в опубликованном Cегодня.
Технические подробности будут размещены здесь: https://legalhackers.com/papers/Pwning-PHP-mail-func-For-Fun-And-RCE-New-Exploit-Techniques-Vectors.html