编写静态代码分析工具

时间:2011-07-22 23:20:18

标签: php static-analysis php-extension

我想编写一个静态代码分析工具来查找PHP代码中的SQLi漏洞。通常,我只是使用一个脚本来分离功能,并将它们用于不适当的卫生处理。显然这种方法是有限的。

我想写的程序大纲是:

  1. 查找对mysql_query的所有调用
  2. 查找对调用mysql_query
  3. 的函数的所有引用
  4. 跟踪进入每个查询调用的所有变量,并查明是否对它们运行了mysql_real_escape_string。
  5. 我遇到了两种写这种方法的方法。我可以选择PHP扩展,也可以从头开始单独编写。

    使用PHP扩展的优点是我不必创建自己的标记器,解析器等(我认为,基于XDebug扩展的功能)。

    有没有编写PHP扩展经验的人对如何处理这个问题有任何建议吗?

1 个答案:

答案 0 :(得分:2)

我建议查看RIPS Scanner项目并查看其源代码以获取创意。它完全执行您希望执行的功能。