Нам нужно проверить файл изображения во время загрузки из приложения MVC. Чтобы проверить изображение, мы добавили логику проверки заголовка изображения, которая работает нормально, если пользователь пытается загрузить файл после преобразования типа файла в (JPG, GIF, PNG).
Логика проверки заголовка:
Private Shared Function IsValidImage(uploadedFileStrem As Stream) As Boolean
Dim IsImageValid As Boolean = False
Using bitmap As Drawing.Bitmap = New System.Drawing.Bitmap(uploadedFileStrem)
If (ImageFormat.Jpeg.Equals(bitmap.RawFormat)) Then
IsImageValid = True
End If
End Using
return IsImageValid
End Function
Но если пользователь пытается загрузить файл со вставленными (добавленными) вредоносными данными в содержимое файла изображения или перехватитьзапрашивайте и внедряйте вредоносные данные в Image Raw, после чего логика проверяющего заголовка изображения говорит, что файл действителен, а содержимое изображения недопустимо.
Ссылка на снимок экрана с вредоносными данными, которые вводятся после содержимого изображения.
https://i.stack.imgur.com/uNnsW.png
Может ли кто-нибудь помочь мне получить правильную логику проверки дляФайл изображения с недействительным / вредоносным содержимым и проверками OWASP.