文件上传漏洞
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传” 本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
绕过验证
绕过一般分为:客户端绕过、服务端绕过、白名单绕过
客户端绕过
一般编程人员会在网页上用JS写入一段验证
判断方法:在浏览加载文件,但还未点击上传按钮时便弹出对话框
如:只允许上传.jpg/.jpeg/.png后缀名的文件,没有发送数据包。
绕过方法1:删除JS代码
右键-查看网站源代码-全部复制-创建文本-将代码放进去-把记事本后缀名改为.html-用Notepad打开-找到JS代码-删除,最后双击打开上传文件
绕过方法2:禁用JS
开发者工具-调试器-右侧设置-禁用JS,然后直接上传文件
绕过方法3:抓包后修改后缀名
服务端绕过
1、MIME媒体类型绕过
burp抓包,修改content-type
2、黑名单绕过
(1)使用未进黑名单的后缀 .php2 .php3 .php4 .php5 .phtml
还有一些存在不区分大小写的漏洞 例如 .Php就可以上传
(2)上传.htaccess文件
创建一个名为 .htaccess的文件
上传.htaccess文件
在图片文件内写入php代码
上传图片