欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > 文件包含基础

文件包含基础

2025/2/11 9:12:18 来源:https://blog.csdn.net/2302_81328699/article/details/143662288  浏览:    关键词:文件包含基础

<aside> 💡

文件包含产生原因

</aside>

1.web应用实现了动态包含:

**<?php
$path = "./inc.php";
include_once("./inc.php");
echo "<h1>This is include_once.php!</h1>";
include_once $path;
?>**

2.动态包含的文件路径参数,客户端可控:

**<?php
$path = $_GET['path'];
include_once("./inc.php");
echo "<h1>This is include once.php!</h1>";
include_once $path;
?>**

<aside> 💡

本地文件包含

</aside>

(LIF):当被包含的文件在服务器本地时,就形成的本地文件包含漏洞。

<aside> 💡

远程文件包含

</aside>

(RLF):本地文件包含和远程文件包含造成漏洞的原因是一样的

     **当php.ini 中的配置选项allow ur fopen和allow url include(默认是关闭的)为ON的话,则包含的文件可以是第三方服务器中的文件,这样就形成了远程文件包含漏洞。**

<aside> 💡

PHP中常见的包含文件的函数

</aside>

include当使用该函数包含文件时,只有代码执行到include()函数时才将文件包含进来发生错误时之给出一个警告,继续向下执行
include once功能与lnclude()相同,区别在于当重复调用同一文件时,程序只调用一次
requirerequire()与include()的区别在于require( )执行如果发生错误,函数会输出错误信息
require once功能与require()相同,区别在于当重复调用同一文件时,程序只调用一次

<aside> 💡

敏感目录文件

</aside>

Unix/Linux 系统:

  • /etc/passwd
  • /usr/local/app/apache2/conf/httpd.conf //apache2 默认配置文件
  • /usr/local/app/php5/lib/php.ini // PHP 相关设置
  • /etc/my.cnf // Mysql 配置文件

Windows 系统:

  • C:\\windows\\system32\\inetsrv\\MetaBase.xml // IS 配置文件
  • C:\\windows\\repair\\sam // 存储 Windows 系统初始安装密码
  • C:\\boot.ini // 查看系统版本

/etc/passwd 账户信息 /etc/shadow 账户密码文件 /etc/my.cnf mysql配置文件 /root/.ssh/id_rsa ssh-rsa私钥 /etc/redhat-release 系统版本 /root/.bash_history 用户历史命令记录文件 /home/user/.bash_history 特定用户的历史命令记录文件 /root/.mysql_history mysql历史命令记录文件 /var/lib/mlocate/mlocate.db 全文件路径 /proc/net/fib_trie 内网IP /proc/self/environ 环境变量

/proc/1/environ 进程pid为1的 环境变量 /proc/self/loginuid 当前用户uid

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com