靶场漏洞PHP函数整理

一、文件包含漏洞

函数名说明特点
include()包含并执行指定文件出错后继续执行后续代码
include_once()仅包含一次指定文件避免重复包含
require()包含并执行指定文件出错后停止执行
require_once()仅包含一次指定文件出错后停止执行
file_get_contents()读取文件内容支持URL包装器
file_put_contents()写入文件内容支持URL包装器
readfile()读取并输出文件内容直接输出到缓冲区
file()读取文件内容到数组按行读取

二、XSS漏洞

函数名说明用途
htmlspecialchars()将特殊字符转换为HTML实体防御XSS的核心函数
htmlentities()将所有适用字符转换为HTML实体更全面的转义
strip_tags()去除HTML和PHP标签简单过滤
addslashes()在指定字符前添加反斜杠转义引号
filter_var()过滤变量输入验证
preg_match()正则表达式匹配输入验证
str_replace()字符串替换简单过滤
json_encode()JSON编码JavaScript上下文安全输出

三、Upload-lab文件上传漏洞

函数名说明安全相关
move_uploaded_file()移动上传文件文件保存
getimagesize()获取图片尺寸文件内容验证
exif_imagetype()获取图片类型文件头验证
pathinfo()获取文件路径信息后缀提取
basename()获取文件名文件名处理
strtolower()转换为小写后缀统一
strrchr()查找最后出现的字符后缀提取
substr()截取字符串后缀截取
in_array()检查值是否在数组中白名单验证
finfo_file()获取文件MIME类型真实类型检测
mime_content_type()获取文件MIME类型真实类型检测
file_get_contents()读取文件内容文件内容读取
file_put_contents()写入文件内容文件写入

四、命令执行漏洞

函数名说明输出方式
system()执行外部程序直接输出最后一行
exec()执行外部程序返回最后一行,可通过第2参数获取全部
shell_exec()通过shell执行命令返回完整输出字符串
passthru()执行外部程序直接显示原始输出
popen()打开进程管道返回文件指针
proc_open()打开进程并控制管道可控制stdin/stdout/stderr
pcntl_exec()在当前进程空间执行替换当前进程
反引号`执行shell命令返回输出字符串
eval()执行PHP代码代码执行(非命令执行)
assert()测试表达式PHP 8.0前可执行代码
call_user_func()调用回调函数动态函数调用