文件上传
文件上传
0x00 前言
文件上传漏洞通常是用来传木马或者留下后门,攻击者利用该漏洞可以用蚁剑连接服务器。常见的上传一句话木马有:
1 | eval($_POST[aaa]); |
0x01 常见waf
常见的waf有判断后缀名,判断上传类型,判断文件内容
如以下代码:在$filename = $_FILES["file"]["name"];
是得到上传的文件名和, $_FILES['file']['type']
是得到上传类型,在这个php文件里面是限定了只能是image/png,这个存在于http请求报文中,也就是说我们可以抓包修改。
1 | error_reporting(0); |
0x02 .htaccess和.user.ini
.htaccess文件(或者”分布式配置文件”),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能
启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:AccessFileName .config 。
笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
可利用的是在htaccess写入:SetHandler application/x-httpd-php
这句话是让所有的文件变成php来执行,再上传一个图片码就可以了,