PHP代码审计工具RIPS
0x00 代码审计工具RIPS
在安全工作中,代码审计是很重要的一项技能。在面对大规模的代码时,
使用自动化工具辅助人工漏洞挖掘,可以显著提高审计工作的效率。学会利用自动化代码审计工具,是每一个代码审计人员必备的能力。
博主在代码审计过程中选择使用RIPS,它使用了静态分析技术,能够自动化地挖掘PHP源代码潜在的安全漏洞如XSS ,sql注入,敏感信息泄漏,文件包含等常见漏洞;也可以采用正则方式扫描代码发现漏洞;还能够采用自定义的语法扫描代码发现问题。渗透测试人员可以直接容易的审阅分析结果,而不用审阅整个程序代码。当然,最后去校验结果必须是我们自己去做的。
0x01 安装与配置
rips官网:http://rips-scanner.sourceforge.net/
我们下载最新版本的rips之后,将压缩包解压后放在本地网站根目录下,通过浏览器(最好是firefox,因为rips宣称只支持firefox)访问即可使用。
0x02 主界面介绍
- subdirs:如果勾选上这个选项,会扫描所有子目录,否则只扫描一级目录,缺省为勾选。
- verbosity level:选择扫描结果的详细程度,缺省为1(建议就使用1)。
- vuln type:选择需要扫描的漏洞类型。支持命令注入、代码执行、SQL注入等十余种漏洞类型,缺省为全部扫描。
- code style:选择扫描结果的显示风格(支持9种语法高亮)。
- /regex/:使用正则表达式过滤结果。
- path/file: 要扫描的目录。
- scan: 开始扫描。
主界面就这些功能按键,我们接下来尝试一下。
0x03 实践
在路径处输入我搭建的各种渗透测试环境的网页根目录,然后点击scan,稍等一会就会出现全部结果,并以图表的方式弹出一个总结的结果页面。
我们可以发现,198个文件就报告了163个疑似漏洞的代码。
然后我们看这些报告
点击每一个代码块左上角的书页小图标,就会展开这个代码的详情。
点击每一个代码块左上角的红色小图标,可以生成漏洞的利用代码。
将生成的php代码放在php文件里面传入参数就可以运行
点击每一个代码块左上角的问号小图标,就会展开这个漏洞的详情、原理。
同样,问号中还有漏洞的解决方案和更安全的范例代码书写方法。
总是将期望的字符串嵌入到引号中,并在将其嵌入查询之前使用PHP构建函数将字符串转义。
始终嵌入不带引号的预期整数,并在将数据嵌入查询之前将数据转换为整数。
转义数据但嵌入不带引号并不安全。
0x04 总结
方便使用的工具十分重要,但同时工具也只是帮我们更快速的筛选一遍有可能出现问题的地方,然后我们需要做的就是自己去审计,将真正有隐患的地方寻找出来并提出解决方案。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!