当前位置: 首页 > news >正文

文件包含漏洞--pyload

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结

一.PHP伪协议利用

php://协议

php://filter :用于在读取作用和写入文件时进行过滤和转换操作。

 作用1:利用base64编码过滤器读取源码

通常利用文件包含执行php://filter伪协议读取的源码会被服务器执行从而不会显示,因此需要使用特殊操作读取源码。

利用php://filter 的读取源码的基本语法如下:读取源码以base64编码格式输出

php://filter/read=convert.base64-encode/resource=文件路径

演示案例:

<?php
$a = $_GET["a"];
include('flag.php');
include($a);

 利用php://filter 以base64编码方式读取的源码:

 用base64解码后获得 flag.php源码完整信息

 作用2-(1):利用base64解码码绕过防御代码

利用php://filter 的base64方法解码问价内容基本语法如下:

php://filter/write=convert.base64-decode/resource=文件路径

一些防御代码为了阻止webshell代码被执行通常会在传递的参数前添加一些代码。

演示案例:

<?php
$content = '<?php exit; ?>';
$content .=$_GET['txt'];
file_put_contents($_GET['filename'],$content);
?>

尝试通过URL参数上传webshell代码到文件webshell.php中

 成功上传后,webshell.php文件内容:

 即使webshell成功上传,但是前面多出的防御代码会破坏webshell结构使其无法执行。这个防御代码十分常见,通常出现在缓存或配置文件等地方,防止用户直接访问文件。那么,如何绕过?

 php://filter伪协议支持多种方式读取和转换文件,其中包括以base64解码的方式读取文件。

当我们尝试利用php://filter伪协议将文件以base64方式解码再读取时,防御代码<?php exit; ?>会被当做base64编码进行解码,而<?php exit; ?>是php代码而非base64编码,<?php exit; ?>因为无法正常解码会被当作乱码写入文件,乱码不会被执行,就不会影响webshell的执行。

  成功上传后,webshell.php文件内容:

 执行1一下webshell.php文件试试--->成功执行

 作用2-(2):利用strip_tags()函数去除防御代码

strip_tags()会剥离字符串中的HTML和PHP标签,我们可以将webshell进行base64编码后上传,这样strip_tags()函数会帮助我们去除防御代码,同时联合base64编码过滤器将webshell解码

 


总结

http://www.lryc.cn/news/410844.html

相关文章:

  • C++包管理之`vcpkg`简介
  • 【机器学习】必会核函数之:高斯核函数
  • 51单片机和STM32区别
  • Python 伪随机数生成器
  • 7.5 grafana上导入模板看图并讲解告警
  • BUG解决(vue3+echart报错):Cannot read properties of undefined (reading ‘type‘)
  • VSCode+git的gitee仓库搭建
  • Golang | Leetcode Golang题解之第297题二叉树的序列化与反序列化
  • 交叉熵和MSE的区别
  • 具身智能又进一步!卡内基梅隆Meta苏黎世联邦实现虚拟人超灵活抓取
  • 嘉盛:货币政策走向与市场预期
  • [C#]基于wpf实现的一百多种音色的Midi键盘软件
  • 关于香橙派系统烧录,1.1.8或者1.1.10两个版本都无法启动Orangepi5
  • 深入解析Python `httpx`源码,探索现代HTTP客户端的秘密!
  • python爬虫【3】—— 爬虫反反爬
  • LIS接入开发
  • Stable Diffusion Windows本地部署超详细教程(手动+自动+整合包三种方式)
  • 【Golang 面试 - 基础题】每日 5 题(七)
  • 教你如何从Flink小白成为Contributor最终拿到腾讯的Offer
  • java-数据结构与算法-02-数据结构-07-优先队列
  • 从0开始搭建vue + flask 旅游景点数据分析系统(一):创建前端项目
  • 支持AI的好用的编辑器aieditor
  • 数据结构之《栈》
  • Vue3基础语法
  • 【Python】基础学习技能提升代码样例4:常见配置文件和数据文件读写ini、yaml、csv、excel、xml、json
  • JavaScript基础——JavaScript调用的三种方式
  • ITSS:IT服务工程师
  • 鸿蒙开发——axios封装请求、拦截器
  • Scikit-Learn中的分层特征工程:构建更精准的数据洞察
  • CSOL遭遇DDOS攻击如何解决