Що таке обхід нульового байта?

0 Comments

Введення нульового байта є метод активного використання, який використовується для обходу фільтрів перевірки працездатності у веб-інфраструктурі шляхом додавання нульових байтових символів у URL-адресі (тобто %00 або 0x00 у шістнадцятковому) до наданих користувачем даних.

Нульовий байт є техніка обходу для надсилання даних, які інакше були б відфільтровані. Він покладається на введення нульових байтових символів ( %00 , \u0000 ) у надані дані. Його роль полягає в завершенні рядка.

Його часто скорочують як NUL (або NULL, хоча в деяких контекстах цей термін використовується для нульового покажчика). У 8-бітних кодах, він відомий як нульовий байт. Початкове значення цього символу було схоже на NOP — коли він надсилається на принтер або термінал, він не має ефекту (проте деякі термінали неправильно відображають його як пробіл).

Будь-який нульовий байт у шелл-коді (показаний жирним шрифтом) вважатиметься кінцем рядка, у результаті чого лише перші 2 байти шелл-коду копіюються в буфер. Для правильного копіювання шелл-коду в буфери потрібно видалити всі нульові байти.

Розміщуючи NULL байт у рядку в певному байті, рядок завершується в цій точці, обнуляючи решту рядка, наприклад розширення файлу.

Введення нульового байта — це техніка активного використання обійти фільтри перевірки працездатності у веб-інфраструктурі шляхом додавання кодованих URL-адрес нульових байтових символів (тобто %00 або 0x00 у шістнадцятковому) до наданих користувачем даних.