更新时间:2021-10-15 18:12:56
封面
版权信息
奇安信代码安全实验室
内容简介
编委会
前言
第1章 概述
1.1 缺陷的基本概念
1.2 发现缺陷的方法
1.3 自动化缺陷检测技术
1.4 缺陷处置流程
1.5 缺陷种类划分
1.6 代码审计工具使用实例
1.7 代码安全保障技术趋势前瞻
第2章 输入验证类缺陷分析
2.1 SQL注入
2.2 XML外部实体注入
2.3 命令注入
2.4 XPath注入
2.5 LDAP注入
2.6 JSON注入
2.7 XQuery注入
2.8 HTTP响应截断
2.9 不安全的反序列化(XStream)
2.10 动态解析代码
2.11 ContentProvider URI注入
2.12 反射型XSS
2.13 存储型XSS
2.14 弱验证
2.15 组件间通信XSS
2.16 进程控制
2.17 路径遍历
2.18 重定向
2.19 日志伪造
第3章 资源管理类缺陷分析
3.1 缓冲区上溢
3.2 缓冲区下溢
3.3 越界访问
3.4 释放后使用
3.5 二次释放
3.6 内存泄漏
3.7 文件资源未释放
3.8 流资源未释放
3.9 错误的资源关闭
3.10 重复加锁
3.11 错误的内存释放对象
3.12 错误的内存释放方法
3.13 返回栈地址
3.14 被污染的内存分配
3.15 数据库访问控制
3.16 硬编码密码
3.17 不安全的随机数
3.18 不安全的哈希算法
3.19 弱加密
3.20 硬编码加密密钥
第4章 代码质量类缺陷分析
4.1 有符号整数溢出
4.2 无符号整数回绕
4.3 空指针解引用
4.4 解引用未初始化的指针
4.5 除数为零
4.6 在scanf()函数中没有对%s格式符进行宽度限制
4.7 被污染的格式化字符串
4.8 不当的循环终止
4.9 双重检查锁定
4.10 未初始化值用于赋值操作
4.11 参数未初始化
4.12 返回值未初始化
4.13 Cookie:未经过SSL加密
4.14 邮件服务器建立未加密的连接
4.15 不安全的SSL:过于广泛的信任证书
4.16 Spring Boot配置错误:不安全的Actuator
4.17 未使用的局部变量
4.18 死代码
4.19 函数调用时参数不匹配
4.20 不当的函数地址使用
4.21 忽略返回值