Seay源代码审计系统

一.源代码审计系统
1.获得源码:大多数PHP程序都是开源的,找到官网下载最新的源码包。
2.安装网站:在本地搭建网站,一边审计,一边调试,实时跟踪各种动态变化。
3.网站结构:

  • 网站结构:浏览源码文件夹,了解该程序大致目录。
  • 入口文件:index.php、admin.php等文件一般是整个程序的入口,详细读一下index文件可以知道程序的架构,运行流程、包含哪些配置文件,包含哪些过滤文件以及包含哪些安全过滤文件,了解程序的业务逻辑。
  • 配置文件:一般类似conflg.php等文件,保存一些数据库相关信息,程序的一些信息。先看看数据库编码,如果是gbk则可能存在宽字节注入,如果变量的值用双引号,则可能存在双引号解析代码执行的问题。
  • 过滤功能:通过祥读公共函数文件和安全过滤文件等文件,清晰掌握用户输入的数据,那些被过滤,哪些无过滤,在哪里被过滤了,如果过滤的,能否绕过过滤的数据,过滤的方式是替换还是正则?有没有GPC?有没有使用addslasher()处理?
    Seay源代码审计系统_第1张图片
    二.审计方法
    1.通读全文法
    最全面的审计法萌发,特别针对大型程序,源码成千上万 行,这要读到什么时候,但这也是一种必要的方法,了解整个业务的应用逻辑,才能挖掘到更有价值的漏洞。
    根据入口文件进入各个功能进行审计
    2.敏感函数参数回溯法(shell_exec)
    最高效最常用的方法。大多数漏洞产生的原因是函数的使用不当导致的,我们只要找到这样的一些使用不当的函数,可以快速发掘想要的漏洞。利用正则匹配一些高危函数,关键函数及敏感关键字。
    然后,我们可以分析敏感函数的上下文,追踪参数源头。尝试控制可控的参数。
    3,.定向功能分析法(安装问题)
    根据程序的业务逻辑来说审计。
    那个浏览器诸葛访问浏览,看看这套程序有哪些功能,根据相关功能 ,大概推测存在哪些漏洞。
    常见功能漏洞:
  • 程序初始安装
  • 站点信息泄露
  • 文件上传
  • 文件管理
  • 登录认证
  • 数据库备份恢复
  • 找回密码
  • 验证码

你可能感兴趣的:(源代码审计)