文件上传小结

结合靶场upload-lab对文件上传进一步理解。

  1. 客户端验证:一般采用JS代码过滤

  1. 服务端验证:
    1. MIME类型验证:验证Contetnt-Type内的文件类型。

 

 

 

    1. 黑名单验证:这种过滤一般通过找漏网之鱼来进行绕过。

例如php脚本中的PHP3,PHP4,phtml等只要配置允许就能被成功解析。

但是默认这个配置没有开启。

Asp中可用的扩展名: asa cer aspx

Jsp中可用扩展名:jspx  jspf

      

    1. 超强黑名单绕过的解决方案:利用.htaccess配置文件配置可解析的扩展名

上面的配置文件可以将任意文件解析成为php脚本。

其次还可以尝试其他黑名单的漏网之鱼,例如扩展名未进行去空格处理,可以通过添加空格绕过。

又若源码未进行大小写处理,可以通过大小写绕过。

还有利用windows特性,会自动去掉后缀名中最后的”.”,可在后缀名中加”.”绕过。

Windows特性中的文件流绕过。(具体原理不明)

 

 

 

    1. 白名单验证

1、可控路径上传:path路径可控,达到00截断的条件(php版本小于5.3.4,php的magic_quotes_gpc为OFF状态)。

 

    1. 白名单,只能上传图片文件等。这种情况下就需要进行漏洞的组合利用,先上传图片木马之后加上WEB容器解析漏洞,文件包含漏洞等组合getshell。

猜你喜欢

转载自blog.csdn.net/CSDNPM250/article/details/84673118