来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 0times;01 引言PHP是一种被广泛使用的脚本语言,尤其适合于web开发。具有跨平台,容易学习,功能强大等特点,据统计全世界有超过34%的网站有php的应用,包 括Yahoo、sina、163、sohu等大型...
0×01 引言
PHP是一种被广泛使用的脚本语言,尤其适合于web开发。具有跨平台,容易学习,功能强大等特点,据统计全世界有超过34%的网站有php的应用,包 括Yahoo、sina、163、sohu等大型门户网站。而且很多具名的web应用系统(包括bbs,blog,wiki,cms等等)都是使用php 开发的,Discuz、phpwind、phpbb、vbb、wordpress、boblog等等。 0×02 审计之初 代码审计的目的是以挖掘到可以利用的漏洞,所以我们不必通篇的去将代码完全看懂,但是在开始之前做一些准备还是必须,就像渗透之前,我们也需要收集足够多的目标信息,利用工具和制定渗透计划一样。 2.1 流程 在我刚开始练习审计时,拿到一套源码,马上做的事情就是,丢到工具里,去扫敏感的函数,然后去一个一个的回溯它,找到入口点。但是,这样审计了几套源 码,发现这个方法很浪费时间,因为每次我都要在回溯过程中,不断的去寻找源码中定义的一些通用函数。由于不了解整个源码的流程,导致在找这些通用函数的过 程中浪费了很多的时间与精力。 2.2 了解 流程的优化可以帮助我们在之后审计的过程中,免去时间和精力上不必要的浪费。而在深入阅读代码之前,了解整套代码的每一个功能点,每一个输入框和他曾经出现的漏洞及相关修补方案,将会大大提高我们在之后的审计效率。 2.3 计划 有计划地做事,这是一个很好的习惯。计划可以帮助我们明确我们取得了什么样的成果就可以称之为成功,面临什么样的问题才可以称之为失败。这样可以避免我们可能因为某天的情绪不佳而“果断”的放弃,也可以避免我们将时间不断地投向一个不可能完成的任务。 0×03 漏洞本质 程序的本质是变量与函数,漏洞所依赖的也无法脱离这两个元素。让我们先来看下漏洞形成的条件 0×04 漏洞挖掘 这章所讲的内容,不会很深入的讲述漏洞挖掘的技巧,因为每一种技巧都肯能会涉及到一种技术,单单一个技巧就可以作为一篇文章来发表了。所以我在这章中所 讲述的,只是漏洞挖掘中很基础的内容。目的也很简单,做个比喻来说,我只是为被大火困在高楼中的人们打开一扇窗,至于如何爬下这栋楼,这章中不会有涉及。 当然,如果你觉得你可以走楼梯,也是不错的。 0×05 总结 在这部分内容,给出大家一些,我在学习过程中摸索到的一些不错的方法和学习审计中所必须要积累的一些内容。 5.1 积累 1. 对于爆出的每种漏洞,都要对其进行分析了解(PoC学习) 5.2 练习 1. 阅读大的源码,了解代码执行流程 0×06 思考 在这一章节中,我将罗列出我在学习和练习代码审计过程中所想到,但是却没有得到答案的问题。希望能给大家带来思考的同时,也能让大家发现新的思路 6.1 如何跳出传统的思维 很多应用程序的官方都成立了安全部门,或者雇佣安全人员进行代码审计,因此出现了很多自动化商业化的代码审计工具。也就是这样的形势导致了一个局面:大公司的产品安全系数大大的提高,那些很明显的漏洞基本灭绝了,那些大家都知道的审计技术都无用武之地了。 6.2 变量跟踪自动化的可行性 在学习和练习代码审计的过程中,我没有发现一款能够进行变量跟踪的自动工具,大多数都是搜索危险函数的工具。传统的代码审计都是基于静态的,而变量跟踪需要动态的实现,这也是导致跟踪变量,工作量大的主要原因。 0×07 引用 1. 《WEB代码审计与渗透测试(PPT)》by 80vul |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com