猜你喜欢
Web攻防之业务安全实战指南

Web攻防之业务安全实战指南

书籍作者:陈晓光 胡兵 张作峰 等 ISBN:9787121335815
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9882
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

★业务安全漏洞作为常见的Web安全漏洞,在各大漏洞平台时有报道,本书是一本从原理到案例分析,系统性地介绍这门技术的书籍。撰写团队具有10年大型网站业务安全测试经验,成员们对常见业务安全漏洞进行梳理,总结出了全面、详细的适用于电商、银行、金融、证券、保险、游戏、社交、招聘等业务系统的测试理论、工具、方法及案例。


★本书共15章,包括理论篇、技术篇和实践篇。理论篇首先介绍从事网络安全工作涉及的相关法律法规,请大家一定要做一个遵纪守法的白帽子,然后介绍业务安全引发的一些安全问题和业务安全测试相关的方法论,以及怎么去学好业务安全。技术篇和实践篇选取的内容都是这些白帽子多年在电商、金融、证券、保险、游戏、社交、招聘、O2O等不同行业、不同的业务系统存在的各种类型业务逻辑漏洞进行安全测试总结而成的,能够帮助读者理解不同行业的业务系统涉及的业务安全漏洞的特点。具体来说,技术篇主要介绍登录认证模块测试、业务办理模块测试、业务授权访问模块测试、输入/输出模块测试、回退模块测试、验证码机制测试、业务数据安全测试、业务流程乱序测试、密码找回模块测试、业务接口模块调用测试等内容。实践篇主要针对技术篇中的测试方法进行相关典型案例的测试总结,包括账号安全案例总结、密码找回案例总结、越权访问案例、OAuth 2.0案例总结、在线支付安全案例总结等。


★通过对本书的学习,读者可以很好地掌握业务安全层面的安全测试技术,并且可以协助企业规避业务安全层面的安全风险。本书比较适合作为企业专职安全人员、研发人员、普通高等院校网络空间安全学科的教学用书和参考书,以及作为网络安全爱好者的自学用书。

作者简介

★陈晓光,恒安嘉新(北京)科技股份公司执行总裁,资深安全专家,毕业于北京邮电大学信息安全专业。长期从事网络与信息安全方面的技术研究、项目管理和市场拓展工作。曾主导和参与多项重大国家标准、国家863 项目和242 安全课题;建设了多个全国性安全系统工程;为电信、金融和政府等多个行业提供安全建议。在安全风险评估、安全管理体系、安全标准、移动互联网安全和通信安全等领域有着丰富的实践经验。拥有CISSP、CISA、ISO27001 LA 等多项国际安全从业资质。

★胡兵,恒安嘉新(北京)科技股份公司安全攻防与应急响应中心总经理。负责公司安全产品解决方案、安全攻防技术研究、安全咨询服务等工作。多年来,一直致力于安全攻防技术的研究,曾参与国家信息安全有关部门、各大电信运营商、高校多个课题研究项目。带领安全研究团队支撑“中国反网络病毒联盟平台ANVA”、“国家信息安全漏洞共享平台CNVD”运营工作,以及承担国家重要活动期间的安全保障工作。

★张作峰(Rce),恒安嘉新(北京)科技股份公司安全攻防与应急响应中心副总经理、轩辕攻防实验室团队负责人、安全专家、互联网白帽子,原启明星辰资深安全研究员。十余年网络安全服务、安全研究、应急保障工作经验,在职期间参与完成了多个大型安全服务、集成、安全课题项目,以及多次国家重要活动的网络安全应急保障任务。

编辑推荐
适读人群 :本书比较适合作为企业专职安全人员、研发人员、普通高等院校网络空间安全学科的教学用书和参考书,以及作为网络安全爱好者的自学用书。

★ 本书得到了诸多专家推荐,严寒冰,徐凯,任望,陈新龙,余弦,白掌门,袁劲松……

★ 企业经营的核心命脉是业务,一切以业务可持续发展为优先安全保障

★ 本书立足于实践,再现了典型业务安全场景,总结了业务安全风险评估的过程和方法

★ 对于业务及开发人员来说本书可以让你的团队开发出的业务更安全、更可靠

★ 本书作者长期从事网络安全漏洞分析的相关工作,经验非常丰富


前言

前 言


“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。


由于Web 2.0的兴起,基于Web环境的互联网应用越来越广泛,也让Web应用的安全技术日趋成熟。目前互联网上接连爆发的应用安全漏洞,让各大企业的安全人员、运维人员、研发及管理人员都不得不重视这一领域,并为之投入了大量的人力和物力。日渐成熟的防护产品和解决方案,让Web安全防护的整体环境有了很大的提升。互联网上的网站模板,大部分都自带了防SQL注入、跨站脚本等攻击的功能,传统的“工具党”、“小白”已很难再通过简单操作几个按钮就成功完成一次Web入侵。


随着互联网业务的不断发展,互联网上的商务活动也越来越多,所涉及的网络交易也越来越频繁,交易的数额也越来越庞大,引发的安全事件也越来越多。而这些安全事件的攻击者更倾向于利用业务逻辑层的安全漏洞,如互联网上曝光的“1元购买特斯拉”、“微信无限刷红包”、“支付宝熟人可重置登录密码”等业务安全层面的漏洞。基于传统的渗透测试方法很难发现这些业务逻辑层面的问题,这类问题往往又危害巨大,可能造成企业的资产损失和名誉受损,并且传统的安全防御设备和措施对业务安全漏洞防护收效甚微。


业务安全问题在互联网上也时有报道,不算新生事物,但目前缺乏一套体系化的介绍这门技术的书籍。我们通过多年的不同行业的安全服务经验积累了大量的业务安全方面的经验,于是萌生了编写这本书的想法,把我们所有沉淀的业务安全测试经验分享给爱好网络安全事业的白帽子们,让大家一起成长,共同为国家网络安全事业贡献绵薄之力。


本书的撰写者均为轩辕攻防实验室白帽子,这些白帽子具备多年的业务安全测试经验,同时他们在国家信息安全漏洞共享平台(CNVD)报送过很多原创漏洞(2016年轩辕攻防实验室报送原创漏洞排名第二)。这些白帽子平时低调做人、高调做事,听说要编写这本书时,大家群情激奋,热烈响应,牺牲了很多的个人休息时间,经过了近一年的努力才总结完成了全面的、详细的可以适用于不同行业和不同业务系统的业务安全测试理论、工具、方法及案例。在此也感谢所有参与撰写本书的这些默默无闻,不求名、不逐利、默默分享的白帽子。在编写本书的过程中,我们也在互联网上发现了很多关于业务安全方面的经典案例,并选取了几个非常不错且比较典型的案例,经过我们整理总结后分享给各位读者,有的案例原作者已经联系上了,有个别的也无从联系了,在此也对分享这些经典案例且默默在互联网上耕耘和贡献的白帽子表示衷心的感谢和发自内心的致敬。


在内容甄选时,抛开了一些纯理论的内容,书中选取的场景案例多是作者在工作中实际遇到的问题加以改造的,目的是让读者通过对本书的学习,掌握实用的业务安全测试技术,协助企业规避业务安全层面的安全风险。


本书共15章,包括理论篇、技术篇和实践篇。理论篇开篇首先介绍从事网络安全工作涉及的相关法律法规,请大家一定要做一个遵纪守法的白帽子,然后介绍业务安全引发的一些安全问题和业务安全测试相关的方法论及怎么去学好业务安全。技术篇和实践篇选取的内容都是这些白帽子多年在电商、金融、证券、保险、游戏、社交、招聘、O2O等不同行业、不同的业务系统存在的各种类型业务逻辑漏洞进行安全测试总结而成的,能够帮助读者理解不同行业的业务系统涉及的业务安全漏洞的特点。具体来说,技术篇主要介绍登录认证模块测试、业务办理模块测试、业务授权访问模块测试、输入/输出模块测试、回退模块测试、验证码机制测试、业务数据安全测试、业务流程乱序测试、密码找回模块测试、业务接口模块调用测试等内容。实践篇主要针对技术篇中的测试方法进行相关典型案例的测试总结,包括账号安全案例总结、密码找回案例总结、越权访问案例、OAuth 2.0案例总结、在线支付安全案例总结等。


通过对本书的学习读者可以很好地掌握业务安全层面的安全测试技术,并且可以协助企业规避业务安全层面的安全风险。本书比较适合作为企业专职安全人员、研发人员、普通高等院校网络空间安全学科的教学用书和参考书,以及作为网络安全爱好者的自学用书。


由于水平有限,书中难免有不妥之处,加之网络攻防技术纵深宽广,发展迅速,在内容取舍和编排上难免考虑不周全,诚请读者批评指正。



轩辕攻防实验室负责人 张作峰

2018年01月 于北京


目录

★理论篇
第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
★技术篇
第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
★实践篇
第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