php代码审计工具-rips

server/2025/3/11 2:25:53/

代码审计

代码审计就是检查所写的代码中是否有漏洞,检查程序的源代码是否有权限从而被黑客攻击,同时也检查了书写的代码是否规范。通过自动化的审查和人工审查的方式,逐行检查源代码,发现源代码中安全缺陷所造成的漏洞,并提供解决方案和建议。

rips_2">rips工具介绍

RIPS工具是一款专注于PHP代码的静态代码分析工具,用于自动化检测源代码的安全漏洞,能检测多种常见的漏洞,如:sql注入,跨站脚本(XSS),文件包含,远程代码执行漏洞(RCE)等。
这个工具提供简介的页面以及其自动化的分析静态代码,测试人可以很直观的分析工具分析出得结果,极大的减少了安全测试代码的时长,但是工具分析出来的结果还是得人工进一步测试是否真的有漏洞。

rips_5">rips工具的搭建

从官网下载软件
http://rips-scanner.sourceforge.net/
进入网址翻到网页最下
在这里插入图片描述
点击here
在这里插入图片描述
点击download就可以了,下载好直接解压出来,下面说一下解压出来的文件要放到哪里才可以正常运行。
在这里插入图片描述
这个工具不需要配置,但是这个工具前提是由一个网站环境,这里我用phpstudy这个工具搭建。
直接下载好这个工具会有一个WWW文件夹,把下载解压的RIPS文件夹拖到WWW文件夹。
在这里插入图片描述
在这里插入图片描述可以看到我们把文件夹已经拖进去了,这样我们的RIPS就算安装好了。
然后启动phpstudy。
在这里插入图片描述
打开浏览器输入:localhost/rips-0.55
在这里插入图片描述

注意:

这里WWW文件夹中工具是什么名字就输入对应的名字,不然会显示网址错误。
比如:

我的WWW文件夹下是rips-0.55
在这里插入图片描述
我这里就得在网址上输入:localhost/rips-0.55

工具功能

先看最上方的工具栏
在这里插入图片描述
subdirs:如勾选上这个选项,会扫描所有子目录,否则只扫描一级目录,缺省为勾选。
verbosity level:选择扫描结果的详细程度,一般用1。
vuln type:选择要搜索的漏洞种类,不选择则全部扫描。
code style:选择结果的显示风格。
/regex/:通过正则表达式过滤后的结果。
path/file: 要搜索的源代码所在的绝对路径。
scan: 扫描按钮。

工具汉化

https://github.com/J0o1ey/rips-Chinese
这是一个大佬翻译的rips软件,安装是一样的官方版本一样的操作,直接拖到WWW文件夹下就可以了。
这里注意文件名不要和官方版的一样,可以修改一下,在网址上输入修改后的文件名就可以进来了。
在这里插入图片描述

工具演示

sql注入漏洞检测

电脑上顺便配置一个sqli-labs靶场,然后测试一下。
在这里插入图片描述
在工具输入路径的地方输入我们下载好的靶场的对应关卡的绝对路径,也可以直接扫描整个关卡,但可能会比较慢,所以这里选一关测试一下。
在这里插入图片描述
其他的就不修改了,直接扫描
在这里插入图片描述

扫描后出现结果,这里为了显示直接点,用汉化版的看一下。
在这里插入图片描述
扫描出有sql注入漏洞,我们来看一下给出的代码段。
在这里插入图片描述
发现代码段这里,对用户的输入没有限制,并且直接输入后就调用到sql搜索上,造成sql注入漏洞。
这里也可以静态分析到这个是sql注入得用")闭合的。
那么下面写上payload:

?id=1") order by 3--+
判断表格有几列
?id=-1") union select 1,2,3--+
判断显示位,来判断表格的那几列是在网页显示的
?id=-1") union select 1,database(),version()--+
联合查询,爆出数据库名与数据库版本
?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
爆对应数据库下的表名
?id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
爆字段名
?id=-1") union select 1,2,group_concat(username ,id , password) from users--+
爆出敏感字段的信息

文件包含

在这里插入图片描述
这是分析了pikachu靶场的文件包含的源代码,输出的结果说有2个文件包含漏洞,这里看一下本地文件包含漏洞。
在这里插入图片描述
rips分析的不安全代码,这里对我们的输入没有任何检测,并且输入的文件路径会直接用include函数执行,从而造成文件包含的漏洞。

在这里插入图片描述
点击左下角的问号,会弹出工具给我们的分析,其中有这个漏洞是如何产生的,举例poc利用,以及修复方法。
下面我们测试一下这个漏洞是否存在。
在这里插入图片描述
随便点击下拉框的一个点击
在这里插入图片描述
可以发现会对应的弹出信息,观察网址,可以看到通过get函数传参了,是一个filename参数。
修改其参数观察。
在这里插入图片描述
改成file2可以发现换了一个信息输出,分析下拉框一共有5个,试一下file6.php
在这里插入图片描述
输出了账号和密码,说明有文件包含漏洞,再输入file7.php看看。
在这里插入图片描述
报错了,但是也说明了根目录的一些信息,说明是Windows系统,win系统下一定会有C:\Windows\win.ini这个文件,通过观察报错的回显,我们可以看到现在所在的路径,那么我们通过这2个信息,写上文件C:\Windows\win.ini文件的路径。
…/…/…/…/…/…/windows/win.ini
在这里插入图片描述
输出了对应的信息,证实了有这个漏洞。

分析一个文件夹的源代码

在这里插入图片描述
警告选择持续就行。
在这里插入图片描述
显示了整个文件夹中源代码的漏洞。


http://www.ppmy.cn/server/174069.html

相关文章

用Python实现PDF转Doc格式小程序

用Python实现PDF转Doc格式小程序 以下是一个使用Python实现PDF转DOC格式的GUI程序,采用Tkinter和pdf2docx库: import tkinter as tk from tkinter import filedialog, messagebox from pdf2docx import Converter import osclass PDFtoDOCConverter:de…

011---UART协议的基本知识(一)

1. 摘要 文章为学习记录。主要介绍 UART 协议的概述、物理层、协议层、关键参数。 2. UART概述 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART(串口),是一种异步****串…

德鲁伊连接池

德鲁伊连接池(Druid Connection Pool)是一个开源的Java数据库连接池项目,用于提高数据库连接的性能和可靠性。德鲁伊连接池通过复用数据库连接、定时验证连接的可用性、自动回收空闲连接等机制,有效减少了数据库连接的创建和销毁开…

Jetson nano配置Docker和torch运行环境

这里将介绍Jeston安装docker并部署walk-these-way的jeston镜像。 注意,该方法有版本问题,Jepack4.6.1的python3.6 torch无法与unitree官方提供的python3.8库兼容 1. Docker安装 这里安装的是docker engine,如果已经有了docker desktop也同样…

vscode好用的前端插件

Beautify:代码美化 vue Baidu Comate(百度的AI代码补全工具) Chinese:适用于 VS Code 的中文(简体)语言包 GitLens:使用强大的 Git 功能(如编辑器内指责注释、悬停、CodeLens 等)增强您的工…

Hadoop命令行语句

一、前言 1、启动虚拟机 2、连接工具 3、启动Hadoop并查询确保进程为51 start-all.shjps练习完请一定 stop-all.sh 关掉hadoop进程 关掉虚拟机 再关机电脑 二、Hadoop命令行主命令 1、进入Hadoop安装目录的bin路径 cd /training/hadoop-3.3.0/bin/2、查看低下的执行文…

java每日精进 3.08 OAUTH 2.0

1.OAuth 2.0 是什么 系统之间的用户授权; 授权模式有三种: 客户端模式(Client Credentials Grant): 适用场景:认证主体是机器,主要用于没有前端的后端应用或者守护进程等场景,比如…

卡尔曼滤波算法从理论到实践:在STM32中的嵌入式实现

摘要:卡尔曼滤波(Kalman Filter)是传感器数据融合领域的经典算法,在姿态解算、导航定位等嵌入式场景中广泛应用。本文将从公式推导、代码实现、参数调试三个维度深入解析卡尔曼滤波,并给出基于STM32硬件的完整工程案例…