理论篇 2
第1章 网络安全法律法规 2
第2章 业务安全引发的思考 8
2.1行业安全问题的思考 8
2.2如何更好地学习业务安全 9
第3章 业务安全测试理论 11
3.1业务安全测试概述 11
3.2业务安全测试模型 12
3.3业务安全测试流程 13
3.4业务安全测试参考标准 18
3.5业务安全测试要点 18
技术篇 22
第4章 登录认证模块测试 22
4.1暴力破解测试 22
4.1.1测试原理和方法 22
4.1.2测试过程 22
4.1.3修复建议 30
4.2本地加密传输测试 30
4.2.1测试原理和方法 30
4.2.2测试过程 30
4.2.3修复建议 32
4.3 Session测试 32
4.3.1 Session会话固定测试 32
4.3.2 Seesion会话注销测试 35
4.3.3 Seesion会话超时时间测试 39
4.4 Cookie仿冒测试 42
4.4.1测试原理和方法 42
4.4.2测试过程 42
4.4.3修复建议 45
4.5密文比对认证测试 45
4.5.1测试原理和方法 45
4.5.2测试过程 45
4.5.3修复建议 48
4.6登录失败信息测试 48
4.6.1测试原理和方法 48
4.6.2测试过程 49
4.6.3修复建议 50
第5章 业务办理模块测试 51
5.1订单ID篡改测试 51
5.1.1测试原理和方法 51
5.1.2测试过程 51
5.1.3修复建议 55
5.2手机号码篡改测试 55
5.2.1测试原理和方法 55
5.2.2测试过程 56
5.2.3修复建议 57
5.3用户ID篡改测试 58
5.3.1测试原理和方法 58
5.3.2测试过程 58
5.3.3修复建议 60
5.4邮箱和用户篡改测试 60
5.4.1测试原理和方法 60
5.4.2测试过程 61
5.4.3修复建议 62
5.5商品编号篡改测试 63
5.5.1测试原理和方法 63
5.5.2测试过程 63
5.5.3修复建议 65
5.6竞争条件测试 66
5.6.1测试原理和方法 66
5.6.2测试过程 67
5.6.3修复建议 69
第6章 业务授权访问模块 70
6.1非授权访问测试 70
6.1.1测试原理和方法 70
6.1.2测试过程 70
6.1.3修复建议 71
6.2越权测试 72
6.2.1测试原理和方法 72
6.2.2测试过程 72
6.2.3修复建议 76
第7章 输入/输出模块测试 77
7.1 SQL注入测试 77
7.1.1测试原理和方法 77
7.1.2测试过程 78
7.1.3修复建议 84
7.2 XSS测试 84
7.2.1测试原理和方法 84
7.2.2测试过程 85
7.2.3修复建议 88
7.3命令执行测试 89
7.3.1测试原理和方法 89
7.3.2测试过程 89
7.3.3修复建议 91
第8章 回退模块测试 92
8.1回退测试 92
8.1.1测试原理和方法 92
8.1.2测试过程 92
8.1.3修复建议 93
第9章 验证码机制测试 94
9.1验证码暴力破解测试 94
9.1.1测试原理和方法 94
9.1.2测试过程 94
9.1.3修复建议 97
9.2验证码重复使用测试 97
9.2.1测试原理和方法 97
9.2.2测试过程 98
9.2.3修复建议 100
9.3验证码客户端回显测试 101
9.3.1测试原理和方法 101
9.3.2测试过程 101
9.3.3修复建议 104
9.4验证码绕过测试 104
9.4.1测试原理和方法 104
9.4.2测试过程 104
9.4.3修复建议 106
9.5验证码自动识别测试 106
9.5.1测试原理和方法 106
9.5.2测试过程 107
9.5.3修复建议 111
第10章 业务数据安全测试 112
10.1商品支付金额篡改测试 112
10.1.1测试原理和方法 112
10.1.2测试过程 112
10.1.3修复建议 115
10.2商品订购数量篡改测试 115
10.2.1测试原理和方法 115
10.2.2测试过程 115
10.2.3修复建议 120
10.3前端JS限制绕过测试 121
10.3.1测试原理和方法 121
10.3.2测试过程 121
10.3.3修复建议 123
10.4请求重放测试 123
10.4.1测试原理和方法 123
10.4.2测试过程 123
10.4.3修复建议 125
10.5业务上限测试 126
10.5.1测试原理和方法 126
10.5.2测试过程 126
10.5.3修复建议 128
第11章 业务流程乱序测试 129
11.1业务流程绕过测试 129
11.1.1测试原理和方法 129
11.1.2测试过程 129
11.1.3修复建议 133
第12章 密码找回模块测试 134
12.1验证码客户端回显测试 134
12.1.1测试原理和方法 134
12.1.2测试流程 134
12.1.3修复建议 137
12.2验证码暴力破解测试 137
12.2.1测试原理和方法 137
12.2.2测试流程 137
12.2.3修复建议 140
12.3接口参数账号修改测试 140
12.3.1测试原理和方法 140
12.3.2测试流程 141
12.3.3修复建议 144
12.4 Response状态值修改测试 144
12.4.1测试原理和方法 144
12.4.2测试流程 144
12.4.3修复建议 147
12.5 Session覆盖测试 147
12.5.1测试原理和方法 147
12.5.2测试流程 148
12.5.3修复建议 150
12.6弱Token设计缺陷测试 150
12.6.1测试原理和方法 150
12.6.2测试流程 151
12.6.3修复建议 153
12.7密码找回流程绕过测试 153
12.7.1测试原理和方法 153
12.7.2测试流程 154
12.7.3修复建议 157
第13章 业务接口调用模块测试 158
13.1接口调用重放测试 158
13.1.1测试原理和方法 158
13.1.2测试过程 158
13.1.3修复建议 160
13.2接口调用遍历测试 160
13.2.1测试原理和方法 160
13.2.2测试过程 161
13.2.3修复建议 166
13.3接口调用参数篡改测试 167
13.3.1测试原理和方法 167
13.3.2测试过程 167
13.3.3修复建议 169
13.4接口未授权访问/调用测试 169
13.4.1测试原理和方法 169
13.4.2测试过程 170
13.4.3修复建议 172
13.5 Callback自定义测试 172
13.5.1测试原理和方法 172
13.5.2测试过程 173
13.5.3修复建议 177
13.6 WebService测试 177
13.6.1测试原理和方法 177
13.6.2测试过程 177
13.6.3修复建议 184
实践篇 186
第14章 账号安全案例总结 186
14.1账号安全归纳 186
14.2账号安全相关案例 187
14.1.1账号密码直接暴露在互联网上 187
14.1.2无限制登录任意账号 189
14.1.3电子邮件账号泄露事件 192
14.1.4中间人攻击 195
14.1.5撞库攻击 197
14.3防范账号泄露的相关手段 199
第15章 密码找回安全案例总结 200
15.1密码找回凭证可被暴力破解 200
15.1.1某社交软件任意密码修改案例 201
15.2密码找回凭证直接返回给客户端 203
15.2.1密码找回凭证暴露在请求链接中 204
15.2.2加密验证字符串返回给客户端 205
15.2.3网页源代码中隐藏着密保答案 206
15.2.4短信验证码返回给客户端 207
15.3密码重置链接存在弱Token 209
15.3.1使用时间戳的md5作为密码重置Token 209
15.3.2使用服务器时间作为密码重置Token 210
15.4密码重置凭证与用户账户关联不严 211
15.4.1使用短信验证码找回密码 212
15.4.2使用邮箱Token找回密码 213
15.5重新绑定用户手机或邮箱 213
15.5.1重新绑定用户手机 214
15.5.2重新绑定用户邮箱 215
15.6 服务端验证逻辑缺陷 216
15.6.1删除参数绕过验证 217
15.6.2邮箱地址可被操控 218
15.6.3身份验证步骤可被绕过 219
15.7在本地验证服务端的返回信息——修改返回包绕过验证 221
15.8注册覆盖——已存在用户可被重复注册 222
15.9 Session覆盖——某电商网站可通过Session覆盖方式重置他人密码 223
15.10防范密码找回漏洞的相关手段 225
第16章 越权访问安全案例总结 227
16.1平行越权 227
16.1.1某高校教务系统用户可越权查看其他用户个人信息 227
16.1.2某电商网站用户可越权查看或修改其他用户信息 229
16.1.3某手机APP普通用户可越权查看其他用户个人信息 232
16.2纵向越权 233
16.2.1某办公系统普通用户权限越权提升为系统权限 233
16.2.2某中学网站管理后台可越权添加管理员账号 235
16.2.3某智能机顶盒低权限用户可越权修改超级管理员配置信息 240
16.2.4某Web防火墙通过修改用户对应菜单类别可提升权限 244
16.3防范越权访问漏洞的相关手段 247
第17章OAuth 2.0安全案例总结 248
17.1 OAuth 2.0认证原理 248
17.2 OAuth 2.0漏洞总结 250
17.2.1某社交网站CSRF漏洞导致绑定劫持 250
17.2.2某社区劫持授权 251
17.3防范OAuth 2.0漏洞的相关手段 253
第18章 在线支付安全案例总结 254
18.1某快餐连锁店官网订单金额篡改 254
18.2某网上商城订单数量篡改 256
18.3某服务器供应商平台订单请求重放测试 257
18.4某培训机构官网订单其他参数干扰测试 259
18.5防范在线支付漏洞的相关手段 261