《代码审计:企业级web代码安全架构》
【代码审计是企业安全运营的基础,是安全从业者必备的基本技能。本书详细介绍代码审计的设计思路以及所需要的工具和方法,不仅用大量案例介绍了实用方法,而且剖析了各种代码安全漏洞的成因与预防策略。对应用开发人员和安全技术人员都有参考价值。】
之前写的一本书,一直没有去推广,既然决定在简书写点东西,也把这本书放上来挂着吧,希望能让更多的人看到,帮助到更多的人。
购买地址 https://item.jd.com/11823406.html
内容简介
代码审计是企业安全运营的重要步骤,也是安全从业者必备的基础技能。本书详细介绍代码审计的设计思路以及所需要的工具和方法,不仅用大量案例介绍了实用方法,而且剖析了各种代码安全问题的成因与预防方案。无论是应用开发人员还是安全技术人员都能从本书获益。
本书共分为三个部分。第一部分为代码审计前的准备,包括第1~2章,第1章详细介绍代码审计前需要了解的PHP核心配置文件以及PHP环境搭建的方法;第2章介绍学习PHP代码审计需要准备的工具,以及这些工具的详细使用方法。第二部分着重介绍PHP代码审计中的漏洞挖掘思路与防范方法,包括第3~8章,第3章详细介绍PHP代码审计的思路,包括根据关键字回溯参数、通读全文代码以及根据功能点定向挖掘漏洞的三个思路;第4~6章则介绍常见漏洞的审计方法,分别对应基础篇、进阶篇以及深入篇,涵盖SQL注入漏洞、XSS漏洞、文件操作漏洞、代码/命令执行漏洞、变量覆盖漏洞以及逻辑处理等漏洞;第7章介绍二次漏洞的挖掘方法;第8章介绍代码审计过程中的一些重要技巧。第三部分主要介绍PHP安全编程规范,从攻击者的角度来告诉你应该怎么写出更安全的代码,包括第9~12章,第9章介绍参数的安全过滤;第10章介绍PHP中常用的加密算法;第11章从设计安全功能的角度出发,从攻击者的角度详细分析常见功能通常会出现的安全问题以及解决方案;第12章介绍企业的应用安全体系建设,介绍横向细化策略和纵深防御策略的具体实施方法与典型案例。
目录
序言
前言
导读
第一部分 代码审计前的准备
第1章代码审计环境搭建2
1.1 wamp/wnmp环境搭建2
1.2 lamp/lnmp环境搭建4
1.3 PHP核心配置详解6
第2章审计辅助与漏洞验证工具14
2.1 代码编辑器14
2.1.1 Notepad++15
2.1.2 UltraEdit15
2.1.3 Zend Studio19
2.2 代码审计工具21
2.2.1 Seay源代码审计系统21
2.2.2 Fortify SCA24
2.2.3 RIPS25
2.3 漏洞验证辅助27
2.3.1 Burp Suite27
2.3.2 浏览器扩展32
2.3.3 编码转换及加解密工具36
2.3.4 正则调试工具38
2.3.5 SQL执行监控工具40
第二部分 漏洞发现与防范
第3章通用代码审计思路46
3.1 敏感函数回溯参数过程46
3.2 通读全文代码50
3.3 根据功能点定向审计64
第4章漏洞挖掘与防范(基础篇)68
4.1 SQL注入漏洞68
4.1.1 挖掘经验69
4.1.2 漏洞防范74
4.2 XSS漏洞77
4.2.1 挖掘经验77
4.2.2 漏洞防范82
4.3 CSRF漏洞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.3 dedecms二次注入漏洞分析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.3 php:// 输入输出流150
8.4 PHP代码解析标签153
8.5 fuzz漏洞发现154
8.6 不严谨的正则表达式156
8.7 十余种MySQL报错注入157
8.8 Windows FindFirstFile利用161
8.9 PHP可变变量162
第三部分 PHP安全编程规范
第9章参数的安全过滤166
9.1 第三方过滤函数与类166
9.1.1 discuz SQL安全过滤类分析167
9.1.2 discuz xss标签过滤函数分析173
9.2 内置过滤函数175
第10章 使用安全的加密算法177
10.1 对称加密177
10.1.1 3DES加密178
10.1.2 AES加密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.2 API登录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.14 API208
第12章应用安全体系建设211
12.1 用户密码安全策略211
12.2 前后台用户分表213
12.3 后台地址隐藏215
12.4 密码加密存储方式216
12.5 登录限制218
12.6 API站库分离218
12.7 慎用第三方服务219
12.8 严格的权限控制220
12.9 敏感操作多因素验证221
12.10 应用自身的安全中心223
参考资源227