- 已选 件
- 已售件
-
服务
- √7天无理由退货(拆封后不支持)
- √假一赔三
- √消费者保障服务
商品详情
-
ISBN编号
9782109231738
-
作者
曹玉杰王乐李家辉孔韬循尹毅
-
出版社名称
机械工业出版社
-
出版时间
2021年9月
-
开本
16开
- 纸张
- 包装
-
是否是套装
否
- 查看全部
编辑推荐
---------------------------4894212 - 代码审计:企业级Web代码安全架构---------------------------
·全方位介绍代码审计,丛审计环境的准备到审计思路、工具的使用以及功能的安全设计原则,涵盖了大量工具和方法。
·针对各种实际漏洞案例进行剖析,不仅分析了漏洞的成因,还给出了具体防御方案,方法简洁实用,讲解一针见血。
内容简介
书籍
计算机书籍
---------------------------8083976 - Web代码安全漏洞深度剖析---------------------------
本书系统化介绍代码审计的步骤和业务漏洞分析,总结了作者在信息安全领域多年的实践经验,内容丰富,实践性强。本书分三大部分,共14章。“准备工作”部分介绍漏洞剖析环境搭建和辅助工具简单使用,为后续分析打下基础。“常规应用漏洞分析”部分介绍了几种漏洞的基本概念和实例解剖,如SQL注入、XSS跨站、CSRF/XSRF、文件类型、代码执行与命令执行等漏洞,并介绍了代码审计的思路和步骤。“业务安全漏洞分析”部分通过实例介绍了业务安全中的典型漏洞,如短信验证码、会话验证、密码找回、支付、越权等漏洞,并针对漏洞给出了防御措施。
---------------------------4894212 - 代码审计:企业级Web代码安全架构---------------------------
本书详细介绍代码审计的设计思路以及所需要的工具和方法,不仅用大量案例介绍了实用方法,而且剖析了各种代码安全问题的成因与预防策略。对开发人员和安全技术人员都有参考价值。本书共分为三个部分,第一部分为代码审计前的准备,详细介绍代码审计前需要了解的PHP核心配置文件、PHP环境搭建的方法、代码审计需要的工具,以及这些工具的详细使用方法。第二部分着重介绍PHP代码审计的中漏洞挖掘思路与防范方法,包括代码审计的思路、常见漏洞的审计方法、二次漏洞的挖掘方法、代码审计过程中的一些常用技巧。第三部分主要介绍PHP安全编程规范,从攻击者的角度来告诉你应该怎么写出更安全的代码,包括参数的安全过滤、PHP中常用的加密算法、常见功能通常会出现的安全问题、企业的应用安全体系建设等。
作译者
---------------------------4894212 - 代码审计:企业级Web代码安全架构---------------------------
尹毅,网名Seay,阿里巴巴安全专家,Seay源代码审计系统作者,也是知名网络安全博客www。cnseay。com的博主,至今个人博客访问量超百万。他15岁便开始接触网络安全,致力于Web安全研究,开发了大量的安全工具,乐于分享,在代码审计和渗透测试方面有丰富的经验。
目录
[套装书具体书目]
4894212 - 代码审计:企业级Web代码安全架构 - 9787111520061 - 机械工业出版社 - 定价 59
8083976 - Web代码安全漏洞深度剖析 - 9787111690252 - 机械工业出版社 - 定价 99
---------------------------8083976 - Web代码安全漏洞深度剖析---------------------------
本书赞誉
序言
前言
致谢
第一部分准备工作
第1章搭建代码审计环境2
1.1基于Windows搭建phpStudy2
1.2基于Linux搭建phpStudy4
1.3在Linux下利用Docker搭建PHP环境6
1.4phpStorm远程连接Docker容器14
1.5小结20
2.1代码调试工具phpStorm+Xdebug21
2.2火狐浏览器56.0的HackBar和FoxyProxy 26
2.3抓包工具Burp Suite34
2.4小结47
第3章了解目标48
3.1代码审计的思路与流程48
3.2漏洞分析前的准备工作52
3.3php.ini配置53
3.4小结55
第二部分常规应用漏洞分析
第4章SQL注入漏洞及防御58
4.1SQL注入的原理及审计思路58
4.2GET型SQL注入防御脚本绕过案例剖析60
4.3Joomla 注入案例分析67
4.4SQL 存储显现insert注入案例分析72
4.5小结81
第5章跨站脚本攻击及防御82
5.1XSS简介82
5.2反射型XSS三次URL编码案例分析88
5.3存储型XSS案例分析95
5.4DOM型 XSS案例分析103
5.5小结107
第6章跨站请求伪造漏洞及防御109
6.1CSRF原理109
6.2GET型CSRF案例分析112
6.3POST型CSRF分析117
6.4小结121
第7章文件类型漏洞及防御122
7.1文件上传漏洞122
7.2文件上传漏洞案例剖析124
7.3文件下载漏洞134
7.4文件下载漏洞实际案例剖析134
7.5文件删除漏洞137
7.6文件删除漏洞实际案例剖析137
7.7文件包含漏洞140
7.8本地文件包含日志漏洞案例剖析145
7.9本地前台图片上传包含漏洞案例剖析153
7.10远程文件包含漏洞案例剖析156
7.11小结159
第8章代码执行漏洞与命令执行漏洞160
8.1代码执行漏洞的原理160
8.2代码执行案例剖析165
8.3反序列化代码执行案例剖析169
8.4命令执行漏洞178
8.5命令执行漏洞案例分析182
8.6小结186
第9章常规应用漏洞的其他类型187
9.1XXE漏洞187
9.2XXE漏洞案例剖析190
9.3URL 跳转漏洞193
9.4URL跳转漏洞案例剖析194
9.5SSRF漏洞198
9.6SSRF漏洞案例剖析201
9.7PHP 变量覆盖漏洞203
9.8变量覆盖漏洞案例剖析210
9.9小结215
第三部分业务安全漏洞分析
第10章短信验证码漏洞及防御218
10.1短信验证码业务的安全问题及防御思路218
10.2短信验证码漏洞案例剖析220
10.3小结228
第11章会话验证漏洞及防御229
11.1会话验证的过程229
11.2Cookie 认证会话漏洞案例剖析230
11.3Session身份认证漏洞案例剖析234
11.4小结239
第12章密码找回漏洞及防御240
12.1简介240
12.2密码找回漏洞案例剖析241
12.3小结246
第13章支付漏洞及防御247
13.1简介247
13.2支付漏洞案例剖析248
13.3小结253
第14章越权漏洞及防御254
14.1简介254
14.2平行越权案例剖析255
14.3垂直越权案例剖析259
14.4小结263
---------------------------4894212 - 代码审计:企业级Web代码安全架构---------------------------
Contents 目录
序言
前言
导读
第一部分代码审计前的准备
第1章代码审计环境搭建2
1.1wamp/wnmp环境搭建2
1.2lamp/lnmp环境搭建4
1.3PHP核心配置详解6
第2章审计辅助与漏洞验证工具14
2.1代码编辑器14
2.1.1Notepad++15
2.1.2UltraEdit15
2.1.3Zend Studio19
2.2代码审计工具21
2.2.1Seay源代码审计系统21
2.2.2Fortify SCA24
2.2.3RIPS25
2.3漏洞验证辅助27
2.3.1Burp Suite27
2.3.2浏览器扩展32
2.3.3编码转换及加解密工具36
2.3.4正则调试工具38
2.3.5SQL执行监控工具40
第二部分漏洞发现与防范
第3章通用代码审计思路46
3.1敏感函数回溯参数过程46
3.2通读全文代码50
3.3根据功能点定向审计64
第4章漏洞挖掘与防范(基础篇)68
4.1SQL注入漏洞68
4.1.1挖掘经验69
4.1.2漏洞防范74
4.2XSS漏洞77
4.2.1挖掘经验77
4.2.2漏洞防范82
4.3CSRF漏洞83
4.3.1挖掘经验83
4.3.2漏洞防范85
第5章漏洞挖掘与防范(进阶篇)88
5.1文件操作漏洞88
5.1.1文件包含漏洞88
5.1.2文件读取(下载)漏洞93
5.1.3文件上传漏洞95
5.1.4文件删除漏洞99
5.1.5文件操作漏洞防范100
5.2代码执行漏洞102
5.2.1挖掘经验102
5.2.2漏洞防范108
5.3命令执行漏洞108
5.3.1挖掘经验109
5.3.2漏洞防范112
第6章漏洞挖掘与防范(深入篇)114
6.1变量覆盖漏洞114
6.1.1挖掘经验115
6.1.2漏洞防范121
6.2逻辑处理漏洞122
6.2.1挖掘经验122
6.2.2漏洞防范130
6.3会话认证漏洞131
6.3.1挖掘经验131
6.3.2漏洞防范135
第7章二次漏洞审计136
7.1什么是二次漏洞136
7.2二次漏洞审计技巧137
7.3dedecms二次注入漏洞分析137
第8章代码审计小技巧142
8.1钻GPC等转义的空子142
8.1.1不受GPC保护的$_SERVER变量142
8.1.2编码转换问题143
8.2神奇的字符串146
8.2.1字符处理函数报错信息泄露146
8.2.2字符串截断148
8.3php: 输入输出流150
8.4PHP代码解析标签153
8.5fuzz漏洞发现154
8.6不严谨的正则表达式156
8.7十余种MySQL报错注入157
8.8Windows FindFirstFile利用161
8.9PHP可变变量162
第三部分PHP安全编程规范
第9章参数的安全过滤166
9.1第三方过滤函数与类166
9.1.1discuz SQL安全过滤类分析167
9.1.2discuz xss标签过滤函数分析173
9.2内置过滤函数175
第10章使用安全的加密算法177
10.1对称加密177
10.1.13DES加密178
10.1.2AES加密180
10.2非对称加密183
10.3单向加密185
第11章业务功能安全设计187
11.1验证码187
11.1.1验证码绕过187
11.1.2验证码资源滥用191
11.2用户登录192
11.2.1撞库漏洞192
11.2.2API登录193
11.3用户注册194
11.4密码找回195
11.5资料查看与修改197
11.6投票/积分/抽奖198
11.7充值支付200
11.8私信及反馈200
11.9远程地址访问202
11.10文件管理204
11.11数据库管理205
11.12命令/代码执行206
11.13文件/数据库备份207
11.14API208
第12章应用安全体系建设211
12.1用户密码安全策略211
12.2前后台用户分表213
12.3后台地址隐藏215
12.4密码加密存储方式216
12.5登录限制218
12.6API站库分离218
12.7慎用第三方服务219
12.8严格的权限控制220
12.9敏感操作多因素验证221
12.10应用自身的安全中心223
参考资源227
前言
---------------------------8083976 - Web代码安全漏洞深度剖析---------------------------
网络安全是国家战略安全的一部分,网络空间的博弈对抗,实质上是人与人之间的对抗。网络安全人才是实施国家战略安全的核心力量之一,培养网络安全从业者的实战对抗能力,是落实国家安全战略、确保各行各业网络信息系统安全的基础。《道德经》中提及“知其白,守其黑,为天下式”,对应到网络安全人才成长路线,就是要从了解攻击模式、掌握安全漏
洞分析和利用方法开始,制定有效的安全策略,分析可能的安全漏洞,设计安全的程序。
从互联网发展开始到如今,PHP编程语言及基于该语言实现的各类网络信息系统占据了Web应用的半壁江山。历史上,由于缺乏安全编码规范、PHP代码安全分析与审计的工具和方法普及不足等,一度出现了PHP漏洞盛行的不良局面。在此背景下,行业内出现了大量自发学习、研究、运用PHP漏洞分析与代码审计的爱好者,国内CTF类比赛也将这一方向作为重要的考察内容。但是由于缺少相关的系统性学习资料,网文、博客等也多以理论性介绍为主,很多初学者在学习、实践中无从下手。
笔者有幸在该领域躬耕多年,积累了丰富的PHP代码漏洞分析、安全审计实战经验。合作作者李家辉、孔韬循是笔者多年的朋友,在这一领域也颇有建树。在他们的鼓励和帮助下,我们成立了编写组,针对当前PHP代码安全分析领域的特点和需求,结合编写组同人的经历和经验,制订了详细的编写计划,精心设计实验用例并逐一验证测试,进而形成本书的雏形。
在写作过程中,我们发现从不同的思维角度能更清楚地描述网络安全技术。于是,我们邀请广州大学专职教师王乐老师加入编写组,将“实战化教学与思辨能力培养”的教学理念融入本书的设计和编写中,我们齐心合力,经过多轮的修改迭代,最终成稿。
本书可以作为PHP代码安全分析初学者的实验指导书,也可以作为Web安全研究者的参考手册。由于信息技术发展迅速,网络安全对抗与博弈技术瞬息万变,本书的各位作者虽然尽了全力,但难保完美无缺。如果读者发现关于本书的任何问题、不足或建议,请反馈给作者,以期改进!你可以通过QQ交流群(874215647)或者添加作者微信(曹玉杰(xiaoh-660)、李家辉(LJ_Seeu)、孔韬循(Pox-K0r4dji))与我们联系。
曹玉杰
2021年春
---------------------------4894212 - 代码审计:企业级Web代码安全架构---------------------------
代码审计是指对源代码进行检查,寻找代码中的bug,这是一项需要多方面技能的技术,包括对编程的掌握、漏洞形成原理的理解,系统和中间件等的熟悉。
代码审计是企业安全运营以及安全从业者必备的基础能力。代码审计在很多场景中都需要用到,比如企业安全运营、渗透测试、漏洞研究等。目前已经有不少公司在推广微软的软件SDL(Security Development Lifecycle,安全开发周期),它涵盖需求分析→设计→编码→测试→发布→维护,安全贯穿整个软件开发周期,其中设计、编码和测试是整个SDL的核心,安全问题大多在这里被解决掉。其中在安全设计这块,必须要非常了解漏洞形成原理,纵观全局。而在代码实现也就是编码阶段,安全依靠于编程人员的技术基础以及前期安全设计的完善性。然后是测试,测试包括白盒测试。黑盒测试以及灰盒测试。黑盒测试也叫功能测试,是指在不接触代码的情况下,测试系统的功能是否有bug,是否满足设计需求。而白盒测试就是我们说的代码审计,以开放的形式从代码层面寻找bug,如果发现有bug则返回修复,直到没有bug才允许软件发布上线。
渗透测试人员掌握代码审计是非常重要的,因为我们在渗透过程中经常需要针对目标环境对payload进行调试。另外,如果通过扫描器扫描到Web目录下的一个源码备份包,通常攻击者都会利用源码包找一些配置文件,因为里面有数据库、API等一类配置。如果环境有限制,比如目标站数据库限制连接IP等,那么工具小子可能在源码包进行的漏洞利用也就到此为止。对于懂代码审计的人,结果完全不一样,他可以对源码包进行安全审计,发现网站代码里存在的漏洞,然后利用挖掘到的漏洞进行渗透。
编程能力要求
代码审计对编程语言的基础有一定要求,至少要能看得懂代码,这里说的看懂代码不是简单地理解几个if...else语句和for循环,而是能看懂代码的逻辑,即使有很多函数没见过,也是可以到Google去查的。都说编程在语言这块是一通百通,只要我们对编程思想理解得非常透彻,重新接触一种编程语言也是非常快就能上手的,所以不管你之前写过Java还是C#程序,想玩一玩PHP的代码审计都应该不是什么大问题。
代码审计环境准备
代码审计首先要准备的是审计环境工具,不同的环境会影响漏洞的利用,所以建议Linux和Windows系统下的PHP环境都搭建一套,并且需要多个PHP版本。关于版本切换这块,建议安装phpStudy,phpStudy是一套Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader的集成环境,可以很方便地安装和切换环境。代码审计的工具有很多个,这里推荐使用笔者开发的Seay源代码审计系统以及RIPS,二者都是免费开源工具。
除了自动化审计工具外,还有一些像Burp Suite、浏览器扩展以及编码工具等审计辅助工具也都是必备的。
代码审计思路
通常做代码审计都是检查敏感函数的参数,然后回溯变量,判断变量是否可控并且没有经过严格的过滤,这是一个逆向追踪的过程。而代码审计并非这一种手段,还可以先找出哪些文件在接收外部传入的参数,然后跟踪变量的传递过程,观察是否有变量传入到高危函数里面,或者传递的过程中是否有代码逻辑漏洞,这是一种正向追踪的方式,这样的挖掘方式比逆向追踪挖掘得更全。还有一种方式是直接挖掘功能点漏洞,根据自身的经验判断该类应用通常在哪些功能中会出现漏洞,直接全篇阅读该功能代码。
可能不少新手对于学习PHP代码审计还有一些迷茫,或许之前尝试过学习,但一直没有很好的进展,因为代码审计是一门很专的技术活,要学好PHP代码审计,需要掌握以下几点:
PHP编程语言的特性和基础。
Web前端编程基础。
漏洞形成原理。
代码审计思路。
不同系统、中间件之间的特性差异。
序言
---------------------------8083976 - Web代码安全漏洞深度剖析---------------------------
在当今互联网高速发展的环境下,信息安全成了热门话题,覆盖个人信息安全、企业信息安全,乃至国家安全。攻击者常常把目标定位在寻找和获取系统源码上,传统IT开发人员从0到1建设系统时,少不了涉及常规化的开发与实施流程,但是在整体系统建设的信息安全方面,投入也许不是很大,直到问题被发现时才会“醒悟”。
白盒测试比黑盒测试更能发现可利用高危漏洞。在发现业务系统有异常时,很多手段与方式都只能“临时解围”。要从根本上提升系统的安全性,一是要注重人为方面的安全,二是要注意系统本身的代码安全,从多个角度审视系统自身存在的问题往往是最有效的解决办法。
本书深入浅出,系统性地讲解了代码审计技术的方方面面,从常规的环境搭建到漏洞原理均有介绍,再结合实战案例对主流Web安全漏洞进行剖析,对安全技术爱好者、在校大学生、相关领域从业人员等群体来说,这本书是很好的分享,同时也是做白盒安全测试时不可多得的佳作。
叶猛
京东攻防对抗负责人
---------------------------4894212 - 代码审计:企业级Web代码安全架构---------------------------
我第一次见到尹毅是2013年在北京中关村。那时候我正在安全宝创业,我们需要招募到最好的人才。这时候尹毅的博客吸引了我,在一个技术分享逐渐枯竭的时代,他的博客令人眼前一亮。然后我试图联系到了他,并邀请到北京来聊一聊。
让我大吃一惊的是,尹毅当时还是一个孩子模样,但是时不时能从生涩的脸庞里看到成熟。在这个年纪就出来工作,我想他一定吃过很多苦。在之后的工作中,尹毅展现出了惊人的天赋。交给他的工作总是能迅速并出色地完成,并时不时会在工作中有一些创新性成果令人惊喜。他的自驱力极强,总是不满足于简单的工作,于是我不得不想出一些更复杂和艰难的挑战交给他。
2014年9月,安全宝分拆了部分业务被阿里收购,我带着尹毅一起到了阿里。此时他已经成为一个安全团队的Leader,在中国最大的互联网公司里贡献着力量。
尹毅认为,一个好的黑客,必须要懂编程。这也是他在这本书里所倡导的理念。在他看来,不懂编程、没挖过漏洞的黑客,充其量只能算“脚本小子”。所以,尹毅在本书的出发点是从代码审计开始,通过代码审计,去发现和挖掘漏洞。
漏洞挖掘是一门艺术,同时也是信息安全的核心领域。安全技术发展到今天,常见的漏洞挖掘技术有代码审计、黑盒测试、Fuzzing、逆向分析等。每一种技术都有独到之处,而其中,代码审计又是最基本、最直接的一种方式,是每一个安全专家都应该掌握的技能。
但时至今日,全自动化的代码审计仍然存在很多困难,主要难点在于理解编程语言的语法、跨文件之间的关联调用、理解开发框架、业务逻辑等地方。因为这些困难在短期内难以克服,所以通过代码审计来挖掘漏洞,仍然是一种极具技巧性和需要丰富经验的工作。在本书中,尹毅根据他自身的经验和学习成果,对这些知识技巧做了一个很好的总结。
本书虽然主要讲述的是PHP代码安全问题,但其中的很多思想和案例都非常具有代表性。同时,因为互联网上大量的Web应用都是由PHP写成的,因此研究PHP代码安全对于整个互联网Web安全的研究具有至关重要的作用。对于新人来说,非常建议从本书中讲述的内容开始学习。
吴翰清,阿里云云盾负责人,《白帽子讲Web安全》作者
2015.9.20
媒体评论
---------------------------8083976 - Web代码安全漏洞深度剖析---------------------------
代码审计是软件开发和网络攻防领域既基础又至关重要的一项技术,专业的代码审计人员可以发现软件设计、开发和应用等各个阶段存在的安全漏洞,从而保障代码库和软件架构的安全性。K神(孔韬循)是国内网络安全领域年轻的“老专家”,对安全攻防理解透彻,是知名安全组织“破晓团队”的创始人。他乐于分享知识,培养人才,最重要的是能够把各类安全技术梳理得逻辑清晰,同时兼具独到见解。这本书简洁明了,干货满满,是非常适合代码审计技术学习者阅读的实战指南。
鲁辉中国网络空间安全人才教育联盟秘书长
代码审计能力是安全能力体系的重要组成部分。本书凝结了作者团队多年的心血,通过典型案例,深入浅出地讲述了代码审计的环境构建、漏洞发现和安全剖析,对于从事安全工作的初学者来讲,具有很好的指导作用。
薛继东电子六所网络安全所副所长
代码审计是网络攻防实战的核心技术之一,这本书从环境建设、实战剖析、业务安全三个维度展开,是作者及其团队多年一线实战经验的精华凝结。尤其是对SQL注入、跨站脚本、跨站请求、文件类型、代码和命令执行等漏洞的分析阐述与实战分析,具有重要的学习指导意义和实战指引价值。
王忠儒中国网络空间研究院信息化研究所副所长
代码审计是多数应用安全从业者入门的第一步。本书全面介绍了代码审计的基本方法和常见漏洞的审计方法示例,讲解了业务逻辑类漏洞的审计方法,是对应用代码审计介绍得最全面的安全书籍之一,将对安全知识初学者和应用安全从业者起到重要指导作用。
张欧蚂蚁集团网商银行CISO