Поиск загруженного типа файла из сообщения HTTP - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь создать простое загруженное расширение для сканирования файлов для популярного приложения безопасности с открытым исходным кодом ZAP. используя встроенный сниффер, я могу получить доступ к ответным сообщениям HTTP. Я не могу определить тип файла загружаемого файла. Хотя в блоге Mozilla , посвященном HTTP, говорится об использовании MIME-типа в заголовке «Content-Type» для определения типа файла, я обнаружил, что ни одно из полученных мной ответных сообщений не имеет ничего, кроме application/json или text/html или application/octet-stream. Как определить, содержит ли соответствующее тело ответа HTTP какой-либо конкретный тип файла? , Таким образом, я застрял в тупике!

Я новичок в этой области, и, возможно, я что-то упускаю из виду. Любая помощь или указатели будут с благодарностью.

1 Ответ

0 голосов
/ 13 ноября 2018

Поле заголовка объекта Content-Type указывает тип мультимедиа тела объекта, отправленного получателю, или, в случае метода HEAD, тип мультимедиа, который был бы отправлен, если бы запрос был GET.

Взято из https://tools.ietf.org/html/rfc2616 в "14.17 Content-Type"

Они приводят это в качестве примера:

Content-Type: text/html; charset=ISO-8859-4

Этот HTTP-запрос или ответ содержит текст в виде тела HTML.

Если вы не доверяете этому заголовку (что в большинстве случаев возможно), следующим шагом будет анализ содержимого файла. Например, если файл содержит открывающие и закрывающие теги HTML, существует большая вероятность, что файл является файлом HTML. Если файл начинается с [ или { и заканчивается ] или }, то есть большая вероятность, что это файл JSON. Конечно, фактический анализ был бы и должен быть гораздо более подробным.

...