实战篇——文件包含漏洞一

news/2024/10/6 1:58:07/文章来源:https://www.cnblogs.com/yaoguyuan/p/18288664

实战篇——文件包含漏洞(1)

本地文件包含

本地文件包含一般需要依赖文件上传漏洞。如果文件上传漏洞限制上传文件的后缀必须为.jpg,那么配合本地文件包含,就可以通过上传图片木马获得服务器权限。

上传图片木马:

利用本地文件包含,成功连接一句话木马:

image-20240707150207753

可见本地文件包含最大的缺陷在于需要依赖文件上传漏洞,下面着重介绍不依赖文件上传漏洞获得服务器权限的方法。

远程文件包含

远程文件包含就是利用http://伪协议包含第三方服务器上的文件。如果第三方服务器可控,那么就可以利用第三方服务器上的一句话木马获得目标服务器的权限。远程文件包含的前提条件是在php.ini配置文件中allow_url_fopen和allow_url_include必须同时开启。

需要注意的是,利用远程文件包含包含的文件后缀不能是.php,否则将因先解析后包含而无法连接一句话木马

image-20240707151710504

image-20240707151814863

解决办法就是将后缀改为任意非.php的后缀,这样就可以先包含后解析

image-20240707152106228

image-20240707152147237

data://伪协议

data://伪协议文件包含的前提条件是在php.ini配置文件中allow_url_fopen和allow_url_include必须同时开启。

首先准备一句话载体:

image-20240707153359690

然后对一句话载体进行base64编码,并对末尾的+进行url编码:

image-20240707153625210

执行,即可连接一句话木马:

image-20240707153754134

php://input伪协议

data://伪协议文件包含的前提条件是在php.ini配置文件中allow_url_include必须开启。

抓包,添加一句话载体,发送:

image-20240707154749950

成功连接一句话木马:

image-20240707154930683

日志投毒:

日志投毒就是将一句话木马植入错误日志中,通过包含错误日志获得服务器权限。由于日志投毒本质上是本地文件包含,因此对php.ini中的allow_url_fopen和allow_url_include两项配置没有任何要求。

日志投毒的前提是需要知道错误日志的路径,如果存在phpinfo泄露,可以通过apache2handler中的Server Root得到apache的安装路径,进而得到错误日志的路径。

错误日志的路径为C:/phpStudy/PHPTutorial/Apache/logs/error.log。

image-20240707160136750

将一句话木马嵌入路径:

image-20240707160607690

抓包:

image-20240707160658576

可见URL已被自动URL编码,必须将其还原,否则将无法连接一句话木马。

将一句话木马还原并发送:

image-20240707160916206

成功连接一句话木马:

image-20240707161121364

.html绕过

通过拼接.html包含文件是一种常见的做法:

image-20240707161612643

此时将无法直接连接一句话木马:

image-20240707161831634

第一种绕过方法是00截断(适用于所有文件包含方式)

image-20240707162104138

第二种方法是通过添加大量的'.'或' '实现路径截断(只适用于本地文件包含和日志投毒)

image-20240707162428927

image-20240707162540751

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

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

相关文章

XShell连接失败解决

实现:宿主机的 Windows 和虚拟机的 Linux 能够进行网络连接,同时虚拟机的 Linux 可 以通过宿主机的 Windows 进入互联网简而言之:Windows 和虚拟机的 Linux能够互相ping成功解决的问题:XShell连接不成功第一步:编辑 VMware 的网络配置然后全部点击确定,VMware 的网络配置…

基于负相关误差函数的4集成BP神经网络matlab建模与仿真

1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 MATLAB2022a3.部分核心程序while(Index<=Max_iteration) Indexjj=1; error2 = zeros(Len,KER);while(jj<=Len) for k=1:No;d(k)=T(jj); endfor i=1:NI;x(i)=P(jj,i);end%集成多个BP神经…

9、flask-会话-cookie

Cookie 客户端的会话技术: - cookie本身由浏览器保存,通过response将cookie写道浏览器上、下一次访问时、浏览器会根据不同的规则携带cookie过来特点: - 客户端的会话技术、浏览器的会话技术 - 数据全都是存储在客户端中 - 存储使用的键值对结构进行的存储 - 特性:- 支持过…

# Day02

1. #盘符转换 2. #查看当前目录下的所有文件 dir 3. #切换目录 cd change directory 4. #返回上一级 cd.. 5. #进入目录下的一级文件 先用第二步查看目录下的文件 然后cd+空格+一级文件名称 6 .#进入一级文件下的二级文件 方法同第五步 7. #清理屏幕 cls (简记clear screen) 8.…

dotnet WinUI3 Win2D 翻转图片

本文将告诉大家如何在 WinUI3 里面使用 Win2D 进行图片的翻转,本文的方法也适用于 UWP 框架图片的翻转在 Win2D 里面,可以使用 Transform2DEffect 特效来辅助实现,核心逻辑就是通过缩放矩阵当成2D翻转矩阵,将缩放的 X 和 Y 传入负数即可分别实现对应方向的翻转。比如左右水…

UWP WinUI 制作一个路径矢量图标按钮样式入门

本文将告诉大家如何在 UWP 或 WinUI3 或 UNO 里,如何制作一个路径按钮。路径按钮就是使用几何路径轮廓表示内容的按钮,常见于各种图标按钮,或 svg 系贴图矢量图按钮在网上有非常多矢量图库,其中免费的图库也非常多,比如 https://www.iconfont.cn/ 等等。在咱的应用程序里面…

【攻防技术系列+代理转发】工具--netcat

【需求】现在想要实现两个不同网段的私网之间相互通信,我们该如何做呢?🔴实验环境:【kali(攻击端)】:192.168.10.131 【centos7(跳板机)】:192.168.10.39;172.16.80.130 【win7】:172.16.80.131 工具:netcat【kali】: 开启监听【centos7】:【kali】: 获得对方的…

基于FPGA的A律压缩解压缩verilog实现,包含testbench

1.算法仿真效果 VIVADO2019.2仿真结果如下(完整代码运行后无水印):RTL图如下所示:2.算法涉及理论知识概要A律压缩是一种广泛应用于语音编码的非均匀量化技术,尤其在G.711标准中被欧洲和中国等国家采纳。该技术的核心目的是在有限的带宽下高效传输语音信号,同时保持较高的…

LFU算法实现

LFU (Least Frequently Used) 是一种用于缓存管理的算法。它通过跟踪每个缓存项被访问的频率来决定哪些项应该被移除。LFU算法倾向于保留那些使用频率较高的项,而移除那些使用频率较低的项。以下是LFU算法的详细介绍: 工作原理计数器:每个缓存项都有一个计数器,用于记录该项…

灰色预测GM(1,1)模型的理论原理

灰色预测是对时间有关的灰色过程进行预测。通过建立相应的微分方程模型,从而预测事物未来发展趋势的状况。 由于笔者的水平不足,本章只是概括性地介绍GM(1,1)模型的理论原理,便于对初学者的初步理解 目录一、灰色系统二、GM(1,1)灰色预测模型1.生成累加数据与紧临均值生成…

JMonkeyEngine——材质文件备注

默认J3M编辑器不支持编辑纹理参数的Mag/Min滤波选项,只能配置Flip和Wrap模式,但是可以单独编辑J3M源码,如下: 添加你需要的Mag/Min滤波选项,参考源码的解析,就是Mag/Min+拼接对应的Filter值。 虽然打开J3M编辑器会报错: 但实际进游戏时并不会报错,而且一切正常,如下:…