Квест → Как хакнуть форму
Прошли: 77
Я не могу сосчитать, сколько раз слышал, что использование той или иной библиотеки или расширения PHP - ужасная ошибка. Настало время рассказать об этом.
libmcrypt
- это мертвый проект, не развиваемый 8 лет, последняя версия 2.5.8 вышла в феврале 2007 года! И, несмотря на множество багрепортов, все равно никакой активности.
Криптография - важная часть безопасности. Вспомните, сколько проблем было обнаружено и исправлено в различных программах. Существует постоянная необходимость улучшать стандарты безопасности и выбрасывать устаревшие алгоритмы, так как мы можем продолжать использовать не развивающийся 8 лет софт?
Альтернативные, активно развиваемые библиотеки:
Существующие решения для PHP:
crypt
-функция - единый способ хешированияopenssl
расширениеpassword hashing
функции начиная с PHPH 5.5 или их реализация на чистом PHP - password_compatphpseclib
- реализация на чистом PHP
RFC предлагал выбросить расширение mcrypt
из PHP 7, но, к нашему стыду, голосование провалилось (15 - 18), так что пока остается.
Курица и яйцо: расширение используется, потому что оно есть и останется на месте, так как его используют множество проектов.
Нам действительно необходимо распространить информацию об этой проблеме, и мы довольно давно занимаемся этим в Fedora. Большинство проектов понимает суть проблемы и согласны переключиться на более безопасные альтернативы, несколько примеров:
phpseclib
.openssl
по умолчанию, смотри rcube.php
openssl
в версии 3.0Некоторые другие фреймворки все еще предоставляют обертку для mcrypt (ex Zend\Crypt\Symmetric\MCrypt, issue #3), но снова встает проблема курицы и яйца с приложениями, полагающимися на функции mcrypt.
Это объясняет, почему некторые enterprise-дистрибутивы, такие как RHEL, не поставляют libmcrypt или php-mcrypt. Возможно, мы должны обсудить с другими Linux-дистрибутивами (Debian, Fedora) возможность перестать поставлять эту ужасную библиотеку.
Вы используете mcrypt
? Вы понимаете, что ДОЛЖНЫ незамедлительно переключиться с нее? Или, по крайней мере, рассказать о проблеме своему поставщику софта.
Если вас заинтересовала тема, поднятая в этой статье, обсуждаем в наших группах Facebook, ВКонтакте, Google+ mcrypt и альтернативы !