PHP代码审计之概念讲解

  • 内容
  • 相关

 什么是代码审计:

代码审计就是指对源码进行检查,寻找代码中的BUG,这是项需要掌握多方面技能的技术,比如编程,知道如何复现此漏洞,了解中间件等... ...


为什么需要代码审计:

代码审计是企业安全运营及安全从业者必备的基础能力。
代码审计用在比如企业安全运营,渗透测试,漏洞研究等


并且在帮助公司,企业测试产品的时候,分2种测试:


  • 黑盒测试(也叫功能测试):

    黑盒测试也叫功能测试,以黑客的角度攻击,也就是说在不接触代码的情况下,给这个产品测试,是否有BUG,是否能发布。

  • 白盒测试:

    白盒测试,就是我们所说的代码审计,给测试人员开放的形式从代码里找BUG,如果发现了BUG,就修复他,直到没有发现BUG的时候才允许软件发布上线。

而且,代码审计也是渗透人员必会的技能,因为我们只有知道了漏洞产生原理,才能更好的挖掘漏洞。

就好像我们渗透的时候,因为数据库的一些配置问题,如果有环境限制,比如目标数据库限制连接的IP,那么懂代码审计的我们就可以对源码包进行安全审计,从而来发现代码里存在的溃疡的,然后利用发现的漏洞来下一步渗透。


编程能力的要求:

代码审计对编程基础是有一定要求的,就是至少要看得懂代码,并不是一些简单的判断语句,输出内容之类的。而是能看懂代码的逻辑,如果你有很多的函数是不知道意思的,你可以选择去百度。而且,如果你有其他编程语言基础,那么学这个也是不难的,因为代码具有相通性。

PHP学习网站:

  • http://www.w3school.com.cn/php/index.asp
  • http://www.php.cn/php.html
  • https://www.bilibili.com/video/av12863134/
  • https://ke.qq.com/course/169576?from=qqchat

也还需要一些前端的基础(很简单的)。


环境准备:

代码审计首先需要有一个能执行PHP脚本的环境,所以我们需要下载phpstudy(不是只有这一款,你可以随意选择,但是这个集成了多个PHP版本以及apache、nginx、mysql、phpmyadmin等,可以方便我们使用),代码审计的工具有RIPS。


代码审计思路:


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

还有代码审计简单脑图:

路径.png

持续更新代码审计文章~

本文标签:

版权声明:若无特殊注明,本文皆为《only_free》原创,转载请保留文章出处。

收录状态:[百度已收录] | [360已收录] | [搜狗已收录]

本文链接:PHP代码审计之概念讲解 - https://www.0dayhack.com/post-827.html

严重声明:本站内容来自于互联网,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规,黑客不是骇客,黑客维护网络安全

发表评论

电子邮件地址不会被公开。 必填项已用*标注