首页 >游刃有余 > >代码审计:企业级Web代码安全架构
代码审计:企业级Web代码安全架构

¥便宜不?

认证销售可享受威客价,巨便宜!您还没有选择角色,请点击选择销售角色,认证后享受威客价

最近有3人已购买

有货

代码审计

+
-

确认订单后预计7个工作日内送达,运费已实际到达为准

加入购物车申请试用
产品参数产品描述产品资料资质证书
作者:尹毅
出版社:机械工业出版社
页数:229
开本:16开
包装:平装

产品描述

本书详细介绍代码审计的设计思路以及所需要的工具和方法,不仅用大量案例介绍了实用方法,而且剖析了各种代码安全问题的成因与预防策略。对开发人员和安全技术人员都有参考价值。本书共分为三个部分,第一部分为代码审计前的准备,详细介绍代码审计前需要了解的PHP核心配置文件、PHP环境搭建的方法、代码审计需要的工具,以及这些工具的详细使用方法。第二部分着重介绍PHP代码审计的中漏洞挖掘思路与防范方法,包括代码审计的思路、常见漏洞的审计方法、二次漏洞的挖掘方法、代码审计过程中的一些常用技巧。第三部分主要介绍PHP安全编程规范,从攻击者的角度来告诉你应该怎么写出更安全的代码,包括参数的安全过滤、PHP中常用的加密算法、常见功能通常会出现的安全问题、企业的应用安全体系建设等。

目录

Contents  目  录

序言

前言

导读

第一部分 代码审计前的准备

第1章代码审计环境搭建

第2章审计辅助与漏洞验证工具

第二部分 漏洞发现与防范

第3章通用代码审计思路

第4章漏洞挖掘与防范(基础篇)

第5章漏洞挖掘与防范(进阶篇)

第6章漏洞挖掘与防范(深入篇)

第7章二次漏洞审计

第8章代码审计小技巧

第三部分 PHP安全编程规范

第9章参数的安全过滤

第10章 使用安全的加密算法

第11章 业务功能安全设计

第12章应用安全体系建设

参考资源

前言

代码审计是指对源代码进行检查,寻找代码中的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+ZendOptimizer+Zend Loader的集成环境,可以很方便地安装和切换环境。代码审计的工具有很多个,这里推荐使用笔者开发的Seay源代码审计系统以及RIPS,二者都是免费开源工具。

除了自动化审计工具外,还有一些像Burp Suite、浏览器扩展以及编码工具等审计辅助工具也都是必备的。

代码审计思路通常做代码审计都是检查敏感函数的参数,然后回溯变量,判断变量是否可控并且没有经过严格的过滤,这是一个逆向追踪的过程。而代码审计并非这一种手段,还可以先找出哪些文件在接收外部传入的参数,然后跟踪变量的传递过程,观察是否有变量传入到高危函数里面,或者传递的过程中是否有代码逻辑漏洞,这是一种正向追踪的方式,这样的挖掘方式比逆向追踪挖掘得更全。还有一种方式是直接挖掘功能点漏洞,根据自身的经验判断该类应用通常在哪些功能中会出现漏洞,直接全篇阅读该功能代码。

可能不少新手对于学习PHP代码审计还有一些迷茫,或许之前尝试过学习,但一直没有很好的进展,因为代码审计是一门很专的技术活,要学好PHP代码审计,需要掌握以下几点:

PHP编程语言的特性和基础。

Web前端编程基础。

漏洞形成原理。

代码审计思路。

不同系统、中间件之间的特性差异。

加入购物车成功,请到购物车结算:)