后缀名验证
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; } }