include_once()
如果该文件中的代码已经被包含了,则不会再次包含

include与require区别:

如果有错误,include会继续执行后面的。require则会停止

highlight_file() 函数对文件进行 PHP 语法高亮显示

PHP里用点拼接

PHP中addslashes函数是把单引号、双引号、反斜杠前添加反斜杠

  • file://—访问本地文件系统
  • http://—访问HTTP URL
  • ftp://—访问FTP URL
  • php://—访问各种I / O流
  • zlib://—压缩流
  • data://—数据(RFC 2397)
  • glob://—查找匹配模式的路径名
  • phar://— PHP存档
  • ssh2://—安全外壳2
  • rar://— RAR
  • ogg://—音频流
  • Expect://—流程交互流

能够打开并包含本地文件的漏洞,被称为本地文件包含漏洞

远程文件包含漏洞。是指能够包含远程服务器上的文件并执行

开启:php.ini中的

allow_url_fopen = On

allow_url_include = On

00%截断:

由于操作系统使用c语言写的,C语言默认0x00(/0)是作为字符串的结尾,操作系统在识别的时候,读取到\0时达到字符串的结束,可以用burp抓包修改

一些常见的敏感信息路径:

Windows系统:

c:\boot.ini // 查看系统版本
c:\windows\system32\inetsrv\MetaBase.xml // IIS配置文件
c:\windows\repair\sam // 存储Windows系统初次安装的密码
c:\ProgramFiles\mysql\my.ini // MySQL配置
c:\ProgramFiles\mysql\data\mysql\user.MYD // MySQL root密码
c:\windows\php.ini // php 配置信息
Linux/Unix系统:

/etc/passwd // 账户信息
/etc/shadow // 账户密码文件
/usr/local/app/apache2/conf/httpd.conf // Apache2默认配置文件
/usr/local/app/apache2/conf/extra/httpd-vhost.conf // 虚拟网站配置
/usr/local/app/php5/lib/php.ini // PHP相关配置
/etc/httpd/conf/httpd.conf // Apache配置文件
/etc/my.conf // mysql 配置文件