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

【攻防世界】Web_php_include

1.信息收集

题目:Web_php_include                 :PHP文件包含漏洞

2.思路:

1.代码审计:

<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
//在一个字符串中查找另一个字符串,并返回匹配位置到字符串结尾的字符串;$page=str_replace("php://", "", $page);
/*在一个字符串中替换指定的字符串,
str_replace(mixed $search, mixed $replace, mixed $subject, int &$count = null): mixed$search:要被替换的字符串,可以是一个字符串或一个数组。
$replace:用于替换的字符串,可以是一个字符串或一个数组。
$subject:要进行替换操作的字符串,可以是一个字符串或一个数组。
&$count:可选参数,一个变量,用于存储替换的次数。*/
}
include($page);//include 表达式包含并运行指定文件;
?>

strstr()函数是不区分大小写的。不论字符串的大小写如何,stristr()都会找到匹配的子字符串。

str_replace()函数是大小写敏感的,这意味着它只会替换完全匹配的字符串

str_replace()函数是全局替换,即会替换字符串中的所有匹配项。

str_replace()函数只能替换字符串中的文本,无法替换其他数据类型,如数字或特殊字符

// 2023-12-09 23:59:44  痴迷网络安全的岁月

// 不写了! 不写了! 这是在我的草稿箱里,还是发布一下,作为一个记录,留下痕迹

http://www.xdnf.cn/news/18468.html

相关文章:

  • GitLab CI:安全扫描双雄 SAST vs. Dependency Scanning 该如何抉择?
  • 阿德莱德多模态大模型导航能力挑战赛!NavBench:多模态大语言模型在具身导航中的能力探索
  • C++ csignal库详细使用介绍
  • 密码管理中Null 密码
  • 第九届86358贾家庄短片周在山西汾阳贾家庄举办
  • 齐次变换矩阵的逆变换:原理与SymPy实现
  • FIFO核心原理与机制
  • 解决 SymPy Lambdify 中的符号覆盖与语法错误问题
  • PiscCode使用 MediaPipe 检测人脸关键点多样展示
  • 大数据世界的开拓者:深入浅出MapReduce分布式计算经典范式
  • 相似度、距离
  • 一次性密码(OTP)原理及应用
  • OFD格式文件及Python将PDF转换为OFD格式文件
  • Centos 8 管理防火墙
  • 多目标跟踪中基于目标威胁度评估的传感器控制方法复现
  • LeeCode 40.组合总和II
  • SpringBoot -- 集成Spring Security (二)
  • CTFSHOW | 其他篇题解(二)web417 - web437
  • LeetCode第55题 - 跳跃游戏
  • 学习游戏制作记录(合成表UI和技能树的UI)8.22
  • SpringBoot项目创建的五种方式
  • 53 C++ 现代C++编程艺术2-枚举和枚举类
  • C++ unistd.h库文件介绍(文件与目录操作, 进程管理, 系统环境访问, 底层I/O操作, 系统休眠/执行控制)
  • Linux服务测试
  • 【链表 - LeetCode】24. 两两交换链表中的节点
  • 深入理解 Java IO 流 —— 从入门到实战
  • 排序(数据结构)
  • nanoGPT 部署
  • JUC之Fork/Join
  • EP4CE40F23I7N Altera FPGA Cyclone IV E