第1章代码安全保障系统基本配置1
1.1系统设置1
1.2模块管理7
1.2.1代码安全保障系统用户管理实验7
1.2.2代码安全保障系统检测模板管理实验15
1.2.3代码安全保障系统日志管理实验22
1.2.4代码安全保障系统引擎管理实验26
第2章代码安全保障系统缺陷检测32
2.1C/C++缺陷检测32
2.1.1代码释放后使用缺陷检测实验32
2.1.2代码返回栈地址缺陷检测实验44
2.1.3空指针解引用缺陷检测实验48
2.1.4代码越界访问缺陷检测实验53
2.1.5无符号整数回绕缺陷检测实验58
2.1.6字符串缺少终止符缺陷检测实验62
2.1.7代码在scanf函数中没有对%s格式符进行宽度限制
缺陷检测实验67
2.1.8缓冲区下溢缺陷检测实验73
2.1.9解引用未初始化的指针代码缺陷检测实验78
2.1.10sizeof操作符获取数组长度缺陷检测实验83
2.1.11宽窄字符串及其操作函数混淆缺陷检测实验87
2.1.12代码强制终止执行缺陷检测实验92
2.2PHP缺陷检测97
2.2.1命令注入缺陷检测实验97
2.2.2SQL注入缺陷检测实验102
2.2.3存储型XSS缺陷检测实验106
2.2.4反射型XSS缺陷检测实验110
2.2.5重定向缺陷检测实验115
2.2.6路径遍历缺陷检测实验119代码安全实验指导目录2.2.7动态解析代码缺陷检测实验123
2.2.8不安全的哈希算法缺陷检测实验126
2.2.9XPath注入缺陷检测实验130
2.2.10硬编码密码缺陷检测实验134
2.3Java缺陷检测141
第3章代码安全保障系统合规检测146
3.1C/C++合规检测146
3.1.1对环境变量的长度进行假设合规检测实验146
3.1.2检测并处理库函数中的错误合规检测实验151
3.1.3较大长度的值比较或赋值合规检测实验155
3.1.4代码在free()之后立即在指针中存储一个新值合规检测实验160
3.1.5代码只释放动态分配的内存合规检测实验164
3.1.6代码控制流合规检测实验169
3.1.7字符串存储空间合规检测实验174
3.2Java合规检测179
3.2.1代码重用Java标准库已经公开的标识符合规检测实验179
3.2.2代码使用Object.equals()方法来比较两个数组合规检测实验183
3.2.3代码使用相等操作符比较封装的基础数据类型合规检测实验187
3.2.4代码使用浮点数变量作为循环计数器合规检测实验190
3.2.5代码捕获NullPointerException或者任何它的基类合规检测实验…195
3.2.6代码实例锁的使用合规检测实验198
3.2.7代码在循环中调用wait()和await()方法合规检测实验202
3.2.8代码从流中读取的字符(或字节)和-1的区别合规检测实验206
3.2.9代码空无限循环合规检测实验209
3.2.10代码析构函数合规检测实验214
第4章代码安全保障系统发起检测任务218
4.1发起C/C++检测任务218
4.1.1C语言缺陷检测任务实验218
4.1.2C语言合规检测任务实验222
4.1.3C#语言缺陷检测任务实验225
4.2发起PHP检测任务229
4.2.1PHP语言缺陷检测任务实验229
4.2.2代码安全保障系统发起持续任务检测实验231
4.2.3代码安全保障系统发起项目里程碑检测实验240
4.3发起Java&Python检测任务247
4.3.1Java语言缺陷检测任务实验247
4.3.2Java语言自定义检测模板缺陷检测任务实验251
4.3.3Java语言基于maven构建的检测任务实验255
4.3.4Java语言基于gradle构建的检测任务实验258
4.3.5Java语言合规检测任务实验260
4.3.6溯源检测任务实验262
4.3.7Python语言缺陷检测任务实验264
第5章代码安全保障系统检测结果审计267
5.1检测结果分析267
5.1.1代码安全保障系统检测结果审计实验267
5.1.2代码安全保障系统检测结果mybug统计实验270
5.1.3代码安全保障系统检测结果统计分析实验274
5.2检测结果管理277
5.2.1代码安全保障系统审计信息携带实验277
5.2.2代码安全保障系统导出检测结果实验281