Проблемы безопасности, связанные с нулевым байтомТак как для работы с файловой системой PHP использует нижележащие C-функции, то в этом случае возможна крайне неожиданная обработка нулевого байта. Так как нулевой байт означает конец строки в C, то строки, содержащие такой байт, не будут трактоваться полностью, а только до той позиции, в которой находится этот байт. Следующий пример содержит уязвимый код, демонстрирующий эту проблему: Пример #1 Скрипт, уязвимый к нулевому байту
<?phpТаким образом, любая испорченная строка, используемая в операциях с файловой систеthat должна быть соответствующим образом проверена. Вот улучшенная версия предыдущего примера: Пример #2 Correctly validating the input
<?php |
||