debian

Debian PHP如何代码审计

小樊
32
2025-12-09 01:22:05
栏目: 编程语言

Debian PHP 代码审计实操指南

一 环境与准备

二 审计流程与方法

三 重点漏洞检查清单

漏洞类型 关键函数/特征 审计要点 修复建议
SQL注入 select/insert/updatemysql_query/mysqli_queryPDO::query/exec 是否使用预处理/参数化查询;拼接或动态表名列名是否可控 全链路使用PDO 预处理或等价机制;禁止拼接可执行片段
XSS echo/print/printf/die/var_dump 输出是否按上下文转义(HTML/JS/URL);CSP 策略是否到位 输出编码;设置CSPHttpOnly/Secure等安全头
文件包含 include/require/include_once/require_once 路径是否由用户输入控制;是否未做白名单校验 白名单目录/文件;使用basename/realpath规范化路径
文件上传 $_FILESmove_uploaded_file 是否校验MIME/后缀/内容;是否重命名与隔离存储;是否可执行 严格校验;随机重命名;存非 Web 可访问目录;禁用执行权限
代码执行 eval/assert/preg_replace/eval()call_user_func/call_user_func_array 用户输入是否进入动态执行或回调;回调参数是否可控 移除/禁用危险函数;最小权限;输入严格校验与白名单
命令执行 system/exec/shell_exec/``/passthru/popen/proc_open 是否拼接命令或调用外部程序;是否可被注入 使用escapeshellarg/escapeshellcmd或改为安全 API;避免拼接
变量覆盖 extract/parse_str/$$/import_request_variables 是否从请求直接导入变量覆盖关键配置 禁用或严格限制;显式声明与赋值
反序列化 serialize/unserialize__wakeup/__destruct 反序列化入口是否可信;是否可利用 POP 链 避免反序列化不可信数据;使用签名/加密或白名单类
XXE SimpleXML/XMLReader/ DOMDocument 是否启用外部实体解析;是否处理不可信 XML 禁用外部实体与 DTD;使用本地 DTD与安全解析选项
CSRF/越权 表单、Cookie/SessionJWT 是否缺失CSRF Token;权限校验是否基于用户/角色而非参数 全站CSRF Token;服务端强制权限校验与最小权限原则

四 工具链与命令示例

五 报告与修复闭环

0
看了该问题的人还看了