• 文件上传漏洞的基本原理:绕过网站对上传文件的检查。
  • 上传绕过的步骤:先抓包,然后修改文件类型,再在上传路径后加上空格,用十六进制编辑器把空格改成00,最后用 NC 提交。
  • 在正常情况下,通过判断前10个字节,基本上就能判断出一个文件的真实类型。浏览器的 MIME Sniff 功能实际上也是通过读取文件的前256个字节,来判断文件的类型的。因此,为了绕过应用中类似 MIME Sniff 的功能,常见的攻击技巧是伪造一个合法的文件头,而将真实的 PHP 等脚本代码附在合法的文件头之后。
  • 防御方法:
    • 自己写死目录,文件名最好随机生成。
    • 直接设置文件服务器,最好隔离,目录权限不能执行(根本)。
    • 不直接使用服务器传入值,所有都要进行检测