代码审计:企业级 Web 代码安全架构 下载 mobi epub pdf 电子书 2

 2024-03-11 05:04:21  阅读 0

11.9 远程地址访问202

11.10 文件管理 204

11.11数据库管理205

11.12命令/代码执行206

11.13 文件/数据库备份 207

11.

第十二章应用安全体系建设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

前言/前言 代码审计是指检查源代码以发现代码中的错误。 这是一项需要多种技能的技术,包括对编程的掌握、对漏洞形成原理的理解以及对系统和中间件的熟悉。

为什么需要代码审计

代码审计是企业安全运营和安全从业者必备的基本能力。 很多场景都需要代码审计,比如企业安全运营、渗透测试、漏洞研究等。目前很多公司都在推广微软的软件SDL(安全开发周期),涵盖需求分析→设计→编码→测试→发布→ 维护。 安全贯穿整个软件开发周期,其中设计、编码和测试就是整个SDL。 从本质上讲,安全问题主要在这里得到解决。 其中,在安全设计方面,我们必须充分了解漏洞形成的原理,并纵观全局。 在代码实现,即编码阶段,安全依赖于程序员的技术基础和早期安全设计的完善。 然后是测试,其中包括白盒测试。 黑盒测试和灰盒测试。 黑盒测试也称为功能测试,是指在不接触代码的情况下测试系统功能是否存在Bug以及是否满足设计要求。 白盒测试就是我们所说的代码审计,以开放的方式从代码层面寻找bug。 如果发现错误,将会修复。 在没有错误之前,该软件不会发布。

对于渗透测试人员来说,掌握代码审计非常重要,因为我们在渗透过程中经常需要对目标环境进行调试。 另外,如果通过扫描器扫描Web目录中的源代码备份包,攻击者通常会利用该源代码包来查找一些配置文件,因为其中包含数据库、API等配置。 如果环境存在限制,比如目标站点数据库限制连接IP等,那么工具小哥可能在源代码包中进行的漏洞利用就到此为止。 对于了解代码审计的人来说,结果是完全不同的。 他可以对源代码包进行安全审计,发现网站代码中的漏洞,然后利用发现的漏洞进行渗透。

编程能力要求

代码审计对编程语言的基础知识有一定的要求。 至少你必须能够理解代码。 这里理解代码并不是简单地理解几个if...else语句和for循环,而是能够理解代码的逻辑。 即使有很多你以前没有见过的功能,你仍然可以检查一下。 据说编程是语言的一站式商店。 只要我们彻底理解了编程思想,我们就能快速上手一门编程语言。 因此,无论您以前编写过 Java 还是 C# 程序,您都想使用它们。 使用 PHP 时的代码审核应该不是一个大问题。

代码审计环境准备

代码审计首先要准备的就是审计环境工具。 不同的环境会影响漏洞的利用,因此建议在Linux和系统下搭建一套PHP环境,需要多个PHP版本。 关于版本切换,建议安装。 是+Nginx++PHP+MySQL++Zend+Zend的集成环境,可以轻松安装和切换环境。 有很多代码审计工具。 推荐使用作者开发的Seay源码审计系统和RIPS。 两者都是免费的开源工具。

除了自动化审计工具之外,Burp Suite、浏览器扩展、编码工具等审计辅助工具也是必要的。

代码审计思路

通常代码审计是通过检查敏感函数的参数,然后对变量进行回溯来确定变量是否可控且没有被严格过滤。 这是一个逆向追踪的过程。 代码审计不是这种方法。 也可以先找出哪些文件在接收外部参数,然后跟踪变量的传递过程,观察是否有变量被传递到高危函数中,或者传递过程中是否有代码。 逻辑漏洞是一种正向追踪方法。 这种挖掘方法比逆向追踪更全面。 另一种方式是直接探查功能点漏洞,利用自己的经验判断该类应用的哪些功能通常存在漏洞,直接读取整个功能代码。

可能很多新手对于学习PHP代码审计还有些迷茫。 也许他们以前尝试过学习,但并没有取得很好的进展,因为代码审计是一项非常专业的技术活动。 想要学好PHP代码审计,需要掌握以下几件事。 观点:

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

Web 前端编程基础。

漏洞形成原理。

代码审计思路。

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

介绍

本书分为三个部分。 第一部分是代码审计前的准备,包括第一章和第二章。第一章详细介绍了学习代码审计之前需要了解的PHP核心配置文件和搭建PHP环境的方法。 第2章介绍PHP代码的学习。 审核所需的工具以及使用这些工具的详细说明。

第二部分包括第3章至第8章,重点介绍PHP代码审计中的漏洞挖掘思路和防范方法。

第3章详细介绍了PHP代码审计的思路,包括三种思路:基于关键字的回溯参数、通读代码全文、基于功能点定向挖掘漏洞。

第4章至第6章介绍了常见漏洞的审计方法,分别对应基础、高级和深入章节,涵盖SQL注入漏洞、XSS漏洞、文件操作漏洞、代码/命令执行漏洞、变量覆盖漏洞、逻辑处理漏洞。 。

第7章介绍了二次漏洞挖掘的方法。 次要漏洞在逻辑上比常规漏洞更加复杂,因此我们需要将其单独拿出来并举例介绍。

学习了前面几章的代码审计方法,相信你一定能挖出很多有趣的漏洞。 第8章将介绍更多代码审计技巧。 利用这些技巧,你可以挖掘出更多有趣的漏洞。 每类漏洞都有多个配套的真实漏洞案例分析流程,帮助读者学习代码审计的经验。 不过,本章不仅介绍了发现漏洞的方法,还详细介绍了修复这些漏洞的方法,这对于开发人员来说是非常有用的部分。

第三部分包括第9章到第12章,主要介绍PHP安全编程规范,并从攻击者的角度告诉你如何编写更安全的代码。 这也是本书的核心内容:让代码没有漏洞。 第9章主要介绍参数的安全过滤。 所有的攻击都需要输入,所以如果我们想要防止攻击,首先要做的就是对输入参数进行过滤。 本章分析的过滤类通过示例进行了详细说明。 什么样的过滤更有效?

第10章主要介绍PHP中常用的加密算法。 目前,99%以上的知名网站都曾被拖库,泄露了大量的用户数据,本章将详细讲解什么样的加密算法可以帮助您增强数据的安全性。

第11章涵盖了安全编程的核心内容。 所有的应用程序都被一个又一个的功能堆叠起来。 本章从设计安全功能的角度出发,从攻击者的角度详细分析常用功能常见的安全问题。 在分析了这些安全问题是如何被利用后,给出问题的解决方案。 如果您是应用程序架构师,此内容可以帮助您在设计应用程序功能时避免这些安全问题。

第12章介绍了应用安全体系建设和实施案例的两种策略:横向精细化和深度策略。 企业应用安全应将这两种策略纳入系统建设中。

以上就是本书的全部内容。 看完介绍你是不是有点心动呢? 快来阅读并尝试一下吧。

感言和致谢

这本书断断续续写了一年多,期间发生了很多事情。 2014年9月,他辞去创新工场项目平安宝的职务,加入阿里巴巴安全部。 到了新环境后,我很快融入了工作方面。 然而,从北京到杭州,我从一个快节奏的城市走向了一个慢节奏的城市。 我感觉我变得懒惰了。 我的日常生活已经不像以前在北京那样了。 激情澎湃。 曾经有一段时间我想过放弃,因为我总觉得自己被束缚了。 我想做点什么但无法做到,因为我还有这本书要完成。 因为写这本书是我必须要做的事情。 首先是对自己在安全领域的一个解释。 第二,我向吴毅编辑承诺,我会努力写这本书。 在这件事情上,我觉得是非常严肃的,既然做出了承诺,就必须遵守。

为什么你认为这是对自己在安全领域的一个解释? 我记得我对很多朋友说过,创业是我必须要做的事情。 也许有一天我会转行创业,我会为自己在这个行业留下一些东西而感到欣慰。 回顾我最初对网络安全的痴迷到现在,其间的一些转折点和插曲还是蛮有趣的。 比如,我以全校第一的成绩考入重点高中后,一年后就辍学去参加远离家乡的软件开发培训。 在学校的时候,我在网吧花了500块钱买了一台不能玩酷狗的台式电脑,在重庆通宵学习了快一年。 这些都是美好的回忆。 在这些美好的回忆中,我遇到了很多很棒的人,我想对他们说声谢谢。

感谢我的父母、姐姐、姐夫。 第一次去重庆的时候,姐姐还怀着即将出生的侄女,所以她和姐夫开车送我去重庆。 学校的学费每学期一万到两万元,父母垫付了我的工资来支持我的学业。 我很感谢他们的努力。

感谢机械工业出版社吴毅编辑。 没有她的鼓励和指导,这本书就不会出版。 我真的很感激她。

感谢吴汉卿(网名:词、刀哥、大风)。 在平安宝工作期间,慈老师给了我很多帮助。 无论是在工作上还是在个人成长上,他都给予了我指导和宽容。 他是一个真正的好人。 老板。

感谢战队的兄弟们,他们是擎天小猪、tenzy、zvall、yy520等人。 本书中有很多非常有影响力的0day出自他们之手。 我们聚集在一起是因为我们喜欢代码审计。

感谢我的好哥们小雪和小阮陪我度过了无数个通宵。 我们曾经一起渗透,一起研究,一起写代码,分享一切。

我要感谢在工作中和我一起努力的同事们。 没有他们的辛勤付出,就没有我们今天攻城略地的辉煌成就。 他们包括但不限于:翁国军、李毅、权龙飞、曾焕。

感谢西服宝林能(ID:雅智成米)对本书提出的建设性建议。

代码审计:企业级Web代码安全架构下载mobi epub pdf txt电子书格式

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码