文件上传之中间件的绕过

常用的一些可执行的文件脚本后缀:.php .php2 .php3 .php5 .phtml.asp .aspx .ascx .ashx.cer.jsp .jspx

在上传的文件中使用一些特殊的符号,使得文件被上传到服务器中时路径被截断从而控制文件路径。常用的进行文件路径截断的字符如下:• • ?• %00在可以控制文件路径的情况下,使用超长的文件路径也有可能会导致文件路径截断。

.htaccess文件攻击.htaccess文件攻击即结合黑名单攻击服务器的 .htaccess文件 。通过move_uploaded_file函数把自己写的 .htaccess文件覆盖掉服务器上的这样就可以解析定义名单了。.htaccess文件用处:通过.htaccess文件调用php解释器去解析一个文件名中只要包含“haha”这个字符串的任意文件,无论你文件名是什么样子,只要包含”haha”这个字符串,都可以被以php的方式来解析。.htaccess文件内容:

SetHandler application/x-httpd-php

Apache解析漏洞test.php.aaa.bbb.ccc任意不属于黑名单且不属于Apache解析白名单之内的后缀名。

WampServer2.0All Version (WampServer2.0i / Apache 2.2.11) [Success]
WampServer2.1All Version (WampServer2.1e-x32 / Apache 2.2.17) [Success]
Wamp5 All Version (Wamp5_1.7.4 /Apache 2.2.6) [Success]
AppServ 2.4All Version (AppServ - 2.4.9 /Apache 2.0.59) [Success]
AppServ 2.5All Version (AppServ - 2.5.10 /Apache 2.2.8) [Success]
AppServ 2.6All Version (AppServ - 2.6.0 /Apache 2.2.8) [Success]

IIS7.0/7.5是对php解析时有一个类似于Nginx的解析漏洞, 对任意文件名只要在URL后面追加上字符串"/任意文件名.php"就会按照 php 的方式去解析eg:”/1.php”

任意文件名/任意文件名.php | 任意文件名%00.php

目前 Nginx 主要有这两种漏洞:• 一个是对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是 test.jpg,可以添加为 test.jpg/x.php 进行解析攻击。• eg: “/1.php”• 一种是对低版本的 Nginx 可以在任意文件名后面添加%00.php进行解析攻击。

Nginx 0.5.*• Nginx 0.6.*
• Nginx 0.7 <= 0.7.65
• Nginx 0.8 <= 0.8.37

以上Nginx容器器的版本下,上传⼀一个在waf白名单之内扩展名的⽂文件1.jpg,然后以1.jpg%00.php进行请求。

• Nginx 0.8.41 – 1.5.6:

• 以上Nginx容器器的版本下,上传⼀一个在waf白名单之内扩展名的⽂文1.jpg,然后以1.jpg%20%00.php进行请求

路径/拓展名检绕过• 黑名单绕过• 文件名大小写绕过• 名单列表绕过• 特殊文件名绕过• 0x00截断绕过•.htaccess文件攻击• Apache解析漏洞• IIS解析漏洞• Nginx解析漏洞

• 白名单绕过• 文件名后缀0x00截断绕过• PHP文件包含漏洞• IIS解析漏洞• Nginx解析漏洞

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

教你如何在Fedora,CentOS,RHEL中检查RPM包的依赖性

我们都知道,在基于红帽的Linux系统中,一个RPM包,需要把先将它依赖的其他包安装好才能正常的工作。对于终端用户,RPM的安装、更新、删除中存在的依赖关系已经...

351110
来自专栏我是攻城师

关于Hbase多版本存储的一个注意点

509160
来自专栏云计算教程系列

使用Capistrano,Nginx和Puma在Ubuntu 14.04上部署Rails应用程序

Rails是一个用Ruby编写的开源Web应用程序框架。Nginx是一种高性能HTTP服务器,反向代理和负载均衡器,以其并发性,稳定性,可伸缩性和低内存消耗而著...

17840
来自专栏华仔的技术笔记

Block类型变量-缓存Http请求与回调

35560
来自专栏SpringBoot 核心技术

第七章:SpringBoot整合JavaMail发送邮件

22340
来自专栏北京马哥教育

RedHat Linux服务器安全配置细节

云豆贴心提醒,本文阅读时间8分钟 1.概述 Linux服务器版本:RedHat Linux AS 2.1 对于开放式的操作系统---Linux,系统的安全设...

38460
来自专栏杂烩

在CentOS下搭建自己的Git服务器 转

首先需要装好CentOS系统,作为测试,你可以选择装在虚拟机上,这样比较方便。这步默认你会,就不讲了。 有了CentOS,那么如何搭建Git服务器呢? 1...

16230
来自专栏数据和云

使用 Oracle 的 Security External Password Store 功能实现数据库加密登陆

编辑手记:让安全成为一种习惯,使用 Oracle 的 Security External Password Store 功能实现加密登录, 不将明文密码暴露在生...

49460
来自专栏Youngxj

AE博客原创 | 开源的短网址程序Myurl

36920
来自专栏散尽浮华

Linux下FTP虚拟账号环境部署总结

vsftp的用户有三种类型:匿名用户、系统用户、虚拟用户。 1)匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。 2)本地用户登录:...

54080

扫码关注云+社区

领取腾讯云代金券