• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Получение бинарной маски файла из Windows

Full-R

Заблокирован
06.09.2020
72
39
BIT
0
Здаровствуйте.

Если переименовать исполняемый UNIX файл в картинку, например, JPEG или PNG, то нет ни какой проверки mime типа для браузера и стороны сервера. Мы можем просто загрузить shell или exploite и выполнить картинку.

Однако, для UNIX существует утилита XXD, которая может выковырять бинарную маску файла и показать, что это ELF или не DOCx(Word Document).

Я проверяю это следующим образом. Есть дескриптор файлов разрешенных для загрузки на сервер и я к каждому файлу прописываю маску бинарника для проверки, а дальше гоню проверку на соответствие заявленному расширению файла.

PHP:
shell_exec('xxd '. $f[0] .' | head -1')))[0]

Например, башка JPEG соответствует маске 'ffd8' и мы можем идентифицировать, что программа не притворяется фотографией.

Вопрос такого характера: как это или с помощью какой утилиты можно это проверить на системе Windows?

Может есть какой-то exe для CMD, который я смогу включать в дистрибутив и использовать через shell_exec. В общем нужен детектор кода башки файла для Windows.
 

rpt5

Green Team
03.12.2019
116
3
BIT
8
Вопрос такого характера: как это или с помощью какой утилиты можно это проверить на системе Windows?

Может есть какой-то exe для CMD, который я смогу включать в дистрибутив и использовать через shell_exec. В общем нужен детектор кода башки файла для Windows.

В Windows 10 есть такая штука как WSL (Windows Subsystem for Linux ) - слой совместимости для запуска Linux-приложений. Попробуй ее, так у тебя кстати будет полноценная переносимость bash скриптов между разными ОС.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!