关于工具:
Rips 是使用PHP语言开发的一个审计工具,所以只要大家有可以运行PHP的环境就可以轻松实现PHP的代码审计,如果大家感兴趣可以自行了解官网http://rips-scanner.sourceforge.net/
关于下载:
环境我这里用的PHPstduy,下载RIPS后将其解压放入PHPstduy的根目录下即可使用 ,浏览器访问localhost/rips即可访问主界面。

首先访问我们所搭建好的审计环境:

 

PHP源代码审计

PHP源代码审计

从下图我们可以知道,该审计可支持的漏洞,也就是常说的正则表达式:

 

PHP源代码审计

PHP源代码审计

当然也可以自己对其进行编写正则表达式:

我们复制需要审计的路径:

 

PHP源代码审计

PHP源代码审计

 

输入到路径处,点击开始扫描即可:

PHP源代码审计

PHP源代码审计

 

我们来看下结果:

 

PHP源代码审计

PHP源代码审计

我们可以看到 其中包含文件包含 远程脚本攻击 等等。。。

通过参数定义,我们跳转到指定可能存在的行数:

 

PHP源代码审计

PHP源代码审计

有人说:不会复现怎么办?

现在简单的来说下复现原理:

 

PHP源代码审计

PHP源代码审计

我们可以看见上图:包含了一个文件路径,文件名称,代码参数,以及判断

 

1:验证本地文件是否可外部访问

2:通过审计结果去对应测试

3:编写 payload 语句,判断参数是否可控

 

当然还有其他的方式:

 

根据以上提示:该处是文件包含漏洞:

 

我们置语句:

 

main.php?files=Main.php?files=[]

注意看源代码的,发起请求的请求方式

 

PHP源代码审计

PHP源代码审计

需要注意以下几点:

 

1:在对完成审计的结果复现时,一定要从源文件查看整条语句:比如下图

 

PHP源代码审计

PHP源代码审计

 

提示存在问题的行数:转代码看此处的功能点(简称 分段式功能点)

 

PHP源代码审计

PHP源代码审计

2:在对其进行基本验证的时候,也许你会发现该文件从外部是不可访问的,我们就可以进行代码追踪到上一个文件:比如开始定义:

 

PHP源代码审计

PHP源代码审计

列相关payload语句:

 

Index.php?files=[main.php]_/files=/Index.php/main.php[files]$_post[files]=/

 具体操作可以完全根据实际情况来。。。