
在本文档中,作者提出了一种静态代码分析和检测方法,用于对基于PHP语言开发的Web应用程序引起的漏洞进行处理.

首先解释什么是受污染的漏洞,因为用户的输入没有得到有效过滤,因此它进入了敏感功能,从而导致了漏洞.

例如,SQL注入,XSS,任意文件上载和下载,命令执行,代码注入等被称为“污点类型”漏洞. 在没有网站源代码的情况下,现在存在动态测试技术,其缺点是代码覆盖率低系统漏洞检测程序,并且容易产生假阴性. 静态分析技术的作者认为,由于PHP语言具有动态类型和弱类型两个特征,因此很难对其进行建模. 直接将C语言的静态分析技术用于PHP分析技术还不够准确. (我个人认为,更改准确性也是一个很好的移植过程)

作者的具体想法是: 为每个PHP文件和函数构造一个控制流程图(即CFG),并通过变量回溯来提取有效路径(此处的有效路径,我个人认为是敏感文件的输入点). 功能路径),以减少不必要的路径分析,并通过功能汇总来优化分析效率. 通过对PHP内置功能的建模,可以进行更准确的字符串分析和漏洞模型构建. 实现了TVFinder原型系统并验证了其可行性,并且还发现了大量未公开的漏洞.

原型系统主要由两个主要部分组成: 预处理阶段和污点分析阶段.

预处理阶段主要基于PHP内置函数token_get_all和token_name对PHP程序进行分段以生成AST(抽象语法树),然后在AST的基础上进行PHP语法和词法分析,准确地得出字符串分析提取函数抽象并创建CFG,其中函数摘要的准确性和CFG的完整性确保了染色分析的准确性和效率. 污点分析阶段基于上一阶段通过可变回溯提取有效路径,并“修剪”不相关的路径以确定用户输入到敏感点的路径是否已被有效过滤,然后确定是否存在漏洞.
本文主要是针对PHP应用程序的面向过程的代码块系统漏洞检测程序,主要检测SQL注入漏洞和任意文件读取漏洞.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-243798-1.html
哪里可以看到
中国也俱战