PHP开源白盒审计工具怎么用

  介绍

这篇文章给大家介绍PHP开源白盒审计工具怎么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>前言

经过一番调研,本文筛选了近三年来一直在持续更新的13款针对PHP的白盒审计工具进行分析。本文主要介绍这些白盒审计框架的原理并简单分析下它们的规则列表,未对具体的挖洞效果进行评估。这主要考虑以下两个原因:一方面,不同白盒审计框架的侧重点是不一致的,有的是为了挖洞设计的,有的实际产出必须经过人工复核;再者,即使都是以挖洞为目标设计的,有的是针对特定的框架,有的又是可以通用的,所以,大家如果感兴趣的话,可以自行选择相应的框架进行测试。

目前,主流的PHP开源白盒审计工具在设计思路上大都是依据敏感函数的参数部分/全部来自未经安全函数处理的外部输入这一经验。最终落实到具体的实现上又可以划分成以下两大类:

<>强基于文本特征:也就是我们常说的正则方式,基于人工代码审计时发现漏洞点的源代码规律,从而归纳出相应的正则表达式,然后基于此正则表达式来查找此类漏洞。基于文本特征的白盒审计工具优点在于审计速度相对较快,且规则维护起来成本较低,但是缺点又在于准确率相对较低,误报率也比较高。

<>强基于静态分析:即借助传统静态分析技术来进行白盒审计。常见的技术主要有数据流分析,污点传播和控制流分析等。静态分析的方式能够更加准确的判断外部输入是否经过安全函数的处理,这点是基于文本特征的方式很难实现的。此外,基于静态分析的方式在判断一个变量是否部分/全部来自外部输入的时候也更有优势,尤其在针对框架进行审计的时候。

但是,有好的一面就有坏的一面,基于静态分析的问题在于:

1)时间开销大,做一次完整的分析所需的时间远大于基于文本特征的方式;

2)适配成本高,针对不同的目标,需要适配相应的解析器来生成所需的AST树和CFG等信息,此外,检测规则的适配也是一个相对较重的成本。

如下图所示,在本文中所介绍的13款白盒审计工具安全中,基于文本特征的审计工具有7款,基于静态分析的审计工具有6款。

 PHP开源白盒审计工具怎么用“> </p> <h3> <>强基于文本特征</强> </h3> <h4> <强> graudit </强> </h4> <pre> Github: https://github.com/wireghoul/graudit
  语言:壳
  Last  commit 提醒2019.11.12 </pre> <p> graudit从09年在Github开源到现在为止已经有十年左右的历史,并且仍在不断的更新中.graudit全称是<强> g </强>代表<强> r </强>咳嗽<强> </强> udit,顾名思义其主要是借助Linux内建的grep命令来实现白盒审计,其核心代码只有一个200行不到的bash脚本.graudit支持的语言为ASP, C、。net、Java、JavaScript、Perl、PHP、Python、Ruby等。</p> <p> graudit根据漏洞挖掘对象的开发语言选择相应的规则库,然后借助grep在源代码中快速定位,来满足指定规则的可疑位置,接下来由安全人员对这些可疑位置进行人工复核,看是否真实存在漏洞。</p> <p>同时,graudit经过多年的使用,不断更新,已经提供了十分全面的漏洞规则库(https://github.com/wireghoul/graudit/tree/master/signatures),其提供了24个涵盖不同的语言/漏洞类型的数据库,总计1256条规则。规则主要为针对危险函数及其参数的检查。值得一提的是,graudit在misc目录里面提供了很多很有用的小脚本。</p> <>之前,美元ls 签名/* .db | xargs 小姐,{},sh  -c  & # 39; echo “{}”cat  {} | grep  -vE  \“^ $ | ^ # \“| wc  - l”“& # 39;
  签名/actionscript.db ,,, 10
  签名/android.db ,,, 49
  签名/asp.db ,,, 53
  签名/c.db ,,, 280
  签名/cobol.db ,,,,,, 8
  签名/default.db ,,, 12
  签名/dotnet.db ,,, 134
  签名/exec.db ,,, 17
  签名/ios.db ,,, 39
  签名/java.db ,,, 102
  签名/js.db ,,,,,, 8
  签名/perl.db ,,, 33
  签名/php.db ,,, 160
  签名/python.db ,,, 67
  签名/rough.db ,,, 43岁
  签名/ruby.db ,,, 16
  签名/seafruit.db ,,, 11
  签名/secrets-b64.db ,,,,,, 1
  签名/secrets.db ,,,,,, 8
  签名/spsqli.db ,,,,,, 4
  签名/sql.db ,,, 74
  签名/strings.db ,,, 64
  签名/xss.db ,,,, 13 </pre> <h4> <强> VisualCodeGrepper </强> </h4> <pre> Github: https://github.com/nccgroup/VCG
  
  语言:Visual  Basic  . net
  
  Last  commit 提醒2019.11.06 <h2 class=PHP开源白盒审计工具怎么用