后缀名验证
ma.aspx.jpg中的.jpg修改为\00jpg 可绕过后缀名验证
正确的解决方法是:
/// <summary>
/// 判断是否IMG文件 bmp/JPEG/GIF/PNG 按前几个字节比较
/// </summary>
/// <param name="filename">string扩展</param>
/// <returns></returns>
public static bool IsImgFile(this string filename) {
if (!FileDirectory.FileExists(filename)) return false;
ushort code = BitConverter.ToUInt16(File.ReadAllBytes(filename), 0);
switch (code) {
case 0x4D42://bmp
return true;
case 0xD8FF://JPEG
return true;
case 0x4947://GIF
return true;
case 0x5089://PNG
return true;
default:
return false;
}
}

浙公网安备 33010602011771号