一、代码审计工具介绍
代码审计工具可以辅助我们进行白盒测试,大大提高漏洞分析和代码挖掘的效率。
在源代码的静态安全审计中,使用自动化工具辅助人工漏洞挖掘,一款好的代码审计软件,可以显著提高审计工作的效率。学会利用自动化代码审计工具,是每一个代码审计人员必备的能力。
代码审计工具按照编程语言、审计原理、运行环境可以有多种分类。商业性的审计软件一般都支持多种编程语言,比如VCG、Fortify SCA,缺点就是价格比较昂贵。其他常用的代码审计工具还有findbugs、codescan、seay,但是大多都只支持Windows环境。所以针对PHP代码审计,这里介绍一款免费并且支持linux环境的 PHP 代码审计软件——Rips。
二、RIPS 使用教程
RIPS是一个用 PHP 编写的源代码分析工具,它使用了静态分析技术,能够自动化地挖掘 PHP 源代码潜在的安全漏洞。渗透测试人员可以直接容易的审阅分析结果,而不用审阅整个程序代码。由于静态源代码分析的限制,漏洞是否真正存在,仍然需要代码审阅者确认。RIPS 能够检测 XSS, SQL 注入, 文件泄露, Header Injection 漏洞等。
下载好Rips之后,打开浏览器,输入url:localhost/rips
:
Rips 主界面
可以看到,这就是rips的主界面,给人的第一印象就是比较简单,选型并不复杂,所以也非常容易上手!
接下来我会向你一一介绍这些选项的含义。
-
subdirs:如果勾选上这个选项,会扫描所有子目录,否则只扫描一级目录,缺省为勾选。
-
verbosity level:选择扫描结果的详细程度,缺省为1(建议就使用1)。
-
vuln type:选择需要扫描的漏洞类型。支持命令注入、代码执行、SQL注入等十余种漏洞类型,缺省为全部扫描。
-
code style:选择扫描结果的显示风格(支持9种语法高亮)。
-
/regex/:使用正则表达式过滤结果。
值得注意的是:官方宣称rips只支持在firefox中使用。
接下来在path/file
中输入扫描目录, 点击scan:
scan
result
可以看到,扫描结果以图标的形式给出,非常直观。
rips 对扫描到的课程存在漏洞的代码,不仅会给出解释,还会给去相应的利用代码。比如:
结果详情
上图中,扫描到一个命令注入漏洞,打开详情,可以看到它给出的解释是Userinput reaches sensitive sink.
,即用户能够输入敏感信息, 造成命令注入漏洞。
点击左边的问号
,会为你解释什么是命令注入漏洞:
help
点击左边的红色按钮,还能生成漏洞利用代码:, 比如,就拿这个漏洞来举例,再bash一栏种输入uname -a
,点击creat,再将生成的代码保存为testcode.php
:
code
code
在testcode.php保存目录执行命令:php testcode.php localhost/codeaudit/cmdinject
:
攻击结果
可以看到成功返回服务器版本信息。
另外,help信息中还给出了漏洞的修补方案:
rips cmdinject7.png
翻译过来就是:
将代码限制为非常严格的字符集或构建允许输入的命令的白名单。
不要试图过滤恶意的命令,攻击者总是能绕过。
尽量避免使用系统命令执行功能。
示例代码:
学习资料分享
当然,只给予计划不给予学习资料的行为无异于耍流氓,### 如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
如果你对网络安全感兴趣,学习资源免费分享,保证100%免费!!!(嘿客入门教程)
👉网安(嘿客)全套学习视频👈
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
👉网安(嘿客红蓝对抗)所有方向的学习路线****👈
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
学习资料工具包
压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。
面试题资料
独家渠道收集京东、360、天融信等公司测试题!进大厂指日可待!
👉嘿客必备开发工具👈
工欲善其事必先利其器。学习嘿客常用的开发软件都在这里了,给大家节省了很多时间。