Admin Future
242 subscribers
50 photos
1 video
4 files
87 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
Невидимые символы: Чем нулевой байт опасен для системы (и почему с ним борются)

В мире текстовых файлов и строк мы привыкли видеть буквы, цифры и пробелы. Но есть один символ, который невидим, не печатается, но может вызывать огромные проблемы в программах и системах: нулевой байт (NULL character, \0).

▪️ В чем его магия (и опасность)?
В языках программирования C и C++ (на которых написано ядро Linux, множество утилит и системных библиотек) строки традиционно заканчиваются первым встреченным нулевым байтом. Это фундаментальное правило.

▪️ Что происходит, если кто-то подсунет его не туда?
Если программа ожидает строку, а в середине получает \0, она просто обрежет строку в этом месте. Это может привести к:

Обходу безопасности:

Представьте, что вы проверяете путь к файлу: /var/www/site/index.php.

Злоумышленник посылает: /var/www/site/index.php%00.jpg (где %00 — это нулевой байт).

Программа видит только /var/www/site/index.php (из-за нулевого байта), думает, что это безопасно, и выполняет файл как PHP-скрипт, хотя по расширению он выглядит как изображение.

Неожиданному поведению:

Система генерирует имя пользователя admin%00user.

В одной части системы оно распознается как admin, в другой — как admin%00user. Это может открыть лазейки для повышения привилегий.

Ошибкам и сбоям:

Некоторые функции могут просто «зависнуть», если получат неожиданный \0, поскольку ожидают конец строки в другом месте.

▪️ Где его ищут?
Современные языки программирования (Python, Go, Rust, Java) активно борются с проблемами нулевого байта, часто явно запрещая его в середине строк или обрабатывая иначе. Но системные утилиты и низкоуровневые API все еще могут быть уязвимы.

🧠 Для админа: Знание о нулевом байте помогает понимать, почему некоторые фильтры ввода так важны, и почему «непечатаемые символы» в именах файлов или полях форм могут быть не просто ошибкой, а попыткой атаки.

#Security #Linux #Programming #Exploit #SysAdmin #FunFact