文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。这种攻击方式是最为直接和有效的,部分文件上传漏洞的利用技术门槛非常的低,对于攻击者来说很容易实施。
但是仅靠文件上传往往不行,有了解析漏洞的帮助效果可能会更好。
解析漏洞就是让web容器把我们上传的文件当成脚本解析的过程;
文件上传漏洞就是通过各种方式使得我们的含有恶意代码的文件上传到服务器的过程。
由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件。打个比方来说,如果你使用 windows 服务器并且以 asp 作为服务器端的动态网站环境,那么在你的网站的上传功能处,就一定不能让用户上传 asp 类型的文件,否则他上传一个 webshell,你服务器上的文件就可以被他任意更改了。因此文件上传漏洞带来的危害常常是毁灭性的,Apache、Tomcat、Nginx等都曝出过文件上传漏洞。
Apache 是从右到左开始判断文件扩展名来解析文件,如果文件扩展名不被识别,就再往左判断,比如 cimer.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把cimer.php.owf.rar解析成php
apache认识哪些扩展名,可以在apache安装目录下的“conf/mime.types”中查看
适用于上传的时候有目录参数时,直接用%00截断目录,利用burpsuite编码成URL HEX。
./dir.asp/aaa.txt //txt文件将被按照asp文件进行解析
aaa.asp;1.jpg //该文件将被按照asp文件进行解析
– .asa
– .cer
– .cdx
1)在默认Fast-CGI开启状况下,攻击者上传一个名字为cimer.jpg,内容为
2)然后访问cimer.jpg/.php,在这个目录下就会生成一句话木马shell.php
空字节代码执行漏洞:上传图片,然后通过xx.jpg%00.php解析漏洞连接一句话木马测试
1)上传图片马,BP改后缀.php(可以解决 本地、MIME验证)
2)大小写绕过 .jpg.PhP
3)文件头欺骗漏洞
在一句话木马前面加入GIF89a,然后将木马保存为图片的格式
例如 123.jpg 123.gif
文件头欺骗可以用来绕过简单的waf
文件上传的位置用burp就可以截断
4)filepath漏洞
可以用来突破自动命名规则, xxxx.gif
改变文件上传后的路径
/a.asp/ 需要一定的创建权限,不一定能成功创建
成功创建后为
/a.asp/xxxx.gif
直接改变文件名称
/a.asp;. 修改后为 /a.asp;xxxxx.gif
5)%00截断
在文件名后缀中间添加空格,在hex中由20改为00 或者直接加%20 然后进行url编码
6)filetype漏洞
更改文件类型上传
7)双文件上传
8).htaccess绕过 (该文件只对当前目录有效)
SetHandler application/x-httpd-php
9)特殊文件名绕过
– .asa
– .cer
– .cdx
1)版本信息:editordialog ck_about.html
2)上传点:
editor ilemanageruploadphp
editor ilemanagerupload
editor ilemanagerconnectors
3)在Apache中绕过
2.4.3 以下:黑名单验证,可以绕过。.phphpp 或加空格
2.6.3-2.6.4:需要借助GPC等于OFF。构造xx.asp形式的目录
4)asp:全版本可上传
5)aspx:2.6.4以下要结合IIS版本,新建1.asp的文件夹 IIS6.0
http://www.test.com/ewebeditor/admin_login.asp
http://www.test.com/ewebeditor/eWebEditor.asp
后台默认口令:admin admin 或者 admin admin888
http://www.test.com/ewebeditor/db/ewebeditor.mdb
http://www.test.com/ewebeditor/db/ewebeditor.asp
copy img.jpg/b + shell.php/a newshellimg.jpg