PHP代码审计之概念讲解

颓废 2019年5月19日08:50:32评论514 views字数 1136阅读3分47秒阅读模式
摘要

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


 什么是代码审计:

代码审计就是指对源码进行检查,寻找代码中的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. 还有一种是直接挖掘功能点漏洞,根据自身经验判断该类应用通常在哪些功能中会出现漏洞,自己全篇越读该功能的代码。

还有代码审计简单脑图:

PHP代码审计之概念讲解

持续更新代码审计文章~

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
颓废
  • 本文由 发表于 2019年5月19日08:50:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PHP代码审计之概念讲解https://cn-sec.com/archives/67892.html

发表评论

匿名网友 填写信息