数据库与编程安全
4.1 数据库安全
-
4.1.1 数据库基础与操作
-
数据库类型与工具
-
常用数据库(MySQL、PostgreSQL、MongoDB)
-
管理工具(phpMyAdmin、Navicat、DBeaver)
-
SQL语法与CURD操作
-
数据增删改查(INSERT、DELETE、UPDATE、SELECT)
-
条件表达式与函数(WHERE、LIMIT、聚合函数如
COUNT()
) -
多表联查与子查询(JOIN、UNION)
-
4.1.2 数据库漏洞与防护
-
SQL注入攻击
-
注入类型(布尔盲注、时间盲注、报错注入)
-
绕过技巧(注释符、编码混淆、WAF绕过)
-
数据库安全配置
-
权限最小化(限制用户权限、禁用
FILE_PRIV
) -
日志审计与备份策略(Binlog监控、异地容灾)
4.2 PHP安全编程
-
4.2.1 PHP基础与语法
-
核心语法
-
变量与数据类型(字符串、数组、对象)
-
运算符与流程控制(条件判断、
for
/foreach
循环) -
函数与模块化
-
自定义函数与内置函数(如
mysqli_query
) -
文件包含与命名空间(
include
、require
安全风险) -
4.2.2 PHP安全实践
-
防注入编码
-
参数化查询(PDO预处理语句)
-
输入过滤与转义(
htmlspecialchars
、addslashes
) -
Web操作安全
-
Session管理(会话固定防御、
session_regenerate_id
) -
文件上传防护(白名单校验、重命名存储)
技术案例与工具推荐
-
实战工具
-
SQL注入检测:SQLMap(自动化注入)、Havij(图形化注入工具)
-
PHP代码审计:RIPS(静态代码分析工具)、PHPStan(代码质量检查)
-
漏洞复现靶场
-
SQLi Labs(SQL注入专项训练环境)
-
PHP Vulnerable Functions(PHP危险函数利用场景)
扩展学习建议
-
研究方向
-
NoSQL注入(MongoDB JSON注入、CouchDB未授权访问)
-
ORM框架安全(如Laravel Eloquent的SQL注入防护机制)
-
认证体系
-
eLearnSecurity eWPT(Web渗透测试认证,涵盖PHP与数据库安全)
-
MySQL OCP(数据库管理与安全认证)