php代码审计工具-rips

代码审计

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

rips工具介绍

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

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.mzph.cn/web/71544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker参数,以及仓库搭建

一。Docker的构建参数 注释: 1.对于CMD,如果不想显示,而是使用交互界面:docker run -ti --rm --name test2 busybox:v5 sh 2.对于CMD,一个交互界面只可以使用一个,如果想多次使用CMD,则用ENTR…

基于Python Django的人脸识别上课考勤系统(附源码,部署)

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

基于python实现的疫情数据可视化分析系统

基于python实现的疫情数据可视化分析系统 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat 系统功能实现 总体设计 系统实现 系统功能模块 系统首页可以查看首页、疫情信息、核酸检测、新闻资讯、个人中心、后…

(十 八)趣学设计模式 之 观察者模式!

目录 一、 啥是观察者模式?二、 为什么要用观察者模式?三、 观察者模式的实现方式四、 观察者模式的优缺点五、 观察者模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,…

Spring Boot 缓存最佳实践:从基础到生产的完整指南

Spring Boot 缓存最佳实践:从基础到生产的完整指南 引言 在现代分布式系统中,缓存是提升系统性能的银弹。Spring Boot 通过 spring-boot-starter-cache​ 模块提供了开箱即用的缓存抽象,但如何根据业务需求实现灵活、可靠的缓存方案&#xf…

苹果Siri升级遇阻,国行iPhone或将引入阿里、百度AI自救

AI整合进展缓慢 苹果正加速将生成式AI技术整合至Siri,但内部消息称其底层技术研发落后于竞争对手,进展未达预期。 国行iPhone将引入双AI模型 苹果计划在2025年中期为国行iPhone引入AI功能,目前已敲定与 阿里巴巴、百度 合作,用户…

阿里推出全新推理模型(因果语言模型),仅1/20参数媲美DeepSeek R1

阿里Qwen 团队正式发布了他们最新的研究成果——QwQ-32B大语言模型!这款模型不仅名字萌萌哒(QwQ),实力更是不容小觑!😎 QwQ-32B 已在 Hugging Face 和 ModelScope 开源,采用了 Apache 2.0 开源协议。大家可通过 Qwen C…

TomcatServlet

https://www.bilibili.com/video/BV1UN411x7xe tomcat tomcat 架构图,与 jre,应用程序之前的关系 安装使用 tomcat 10 开始,api 从 javax.* 转为使用 jakarta.*,需要至少使用 jdk 11 cmd 中默认 gbk 编码,解决控制…

JDK ZOOKEEPER KAFKA安装

JDK17下载安装 mkdir -p /usr/local/develop cd /usr/local/develop 将下载的包上传服务器指定路径 解压文件 tar -zxvf jdk-17.0.14_linux-x64_bin.tar.gz -C /usr/local/develop/ 修改文件夹名 mv /usr/local/develop/jdk-17.0.14 /usr/local/develop/java17 配置环境变量…

高考數學。。。

2024上 具体来说,直线的参数方程可以写为: x1t y−t z1t 二、简答题(本大题共5小题,每小题7分,共35分。) 12.数学学习评价不仅要关注结果评价,也要关注过程评价。简要说明过程评价应关注哪几个方面。…

C# 实现鼠标轨迹录制与回放自动化功能(附源码)

在软件自动化测试或者重复性办公任务中,鼠标操作的自动化可以大大减少人工干预,提高工作效率。这里将详细介绍如何使用 C# 实现鼠标轨迹的录制与回放功能,代码结构清晰,具有较强的扩展性。 引用 NuGet 包 在开发这个功能时&…

Nacos 核心功能实战笔记(超详细)

Nacos 核心功能实战笔记 一、Nacos 简介 1. 是什么? 全称:Nacos Naming and Configuration Service定位:阿里巴巴开源的 动态服务发现、配置管理、服务管理平台核心功能:服务注册与发现 统一配置管理 服务健康监测适用场景&…

安装remixd,在VScode创建hardhat

在终端,以管理员身份,cmd 需要科学上网 npm install -g remix-project/remixd 在vscode插件中,安装solidity插件,是暗灰色那款 1.将nodeJs的版本升级至18以上 2.在vscode打开一个新的文件,在终端输入 npx hardhat 3.…

unity pico开发 四 物体交互 抓取 交互层级

文章目录 手部设置物体交互物体抓取添加抓取抓取三种类型抓取点偏移抓取事件抓取时不让物体吸附到手部 射线抓取交互层级 手部设置 为手部(LeftHandController)添加XRDirInteractor脚本 并添加一个球形碰撞盒,勾选isTrigger,调整大小为0.1 …

CyberRT(apollo) 定时器模块简述及bug分析

timer 模块 timer的定义,cyberrt中timer模块用于设置定时器任务,字面意思,设置设置定时周期及出发频次(周期 or oneshot),到达指定时间时间触发callback time wheel 时钟节拍轮,常见的定时器设计&#x…

java八股文之消息中间件

1.RabbitMQ如何保证消息不丢失 开启生产者确认机制,确保生产者的消息能到达队列开启持久化功能,确保消息未消费前在队列中不会丢失(交换机,队列,消息都需要开启持久化功能)开启消费者确认机制为auto,由spr…

Win7重装不翻车!ISO镜像安全下载渠道+BIOS设置避雷手册

一、写在前面:为什么你需要这份教程? 当电脑频繁蓝屏、系统崩溃甚至无法开机时,重装系统可能是最后的救命稻草。但市面上的教程往往存在三大痛点: ⚠️ 镜像来源不明导致系统被植入后门 ⚠️ 启动盘制作失败反复折腾 ⚠️ 操作失…

大学至今的反思与总结

现在是2025年的3月5日,我大三下学期。 自大学伊始,我便以考研作为自己的目标,有时还会做自己考研上岸头部985,211,offer如潮水般涌来的美梦。 但是我却忽略了一点,即便我早早下定了决心去考研,但并没有早…

SpringBoot 全局异常处理

文章目录 异常处理全局异常处理(推荐)局部异常处理高级技巧设置返回状态码处理404异常异常处理 全局异常处理(推荐) 创建一个全局异常处理类,使用 @RestControllerAdvice 注解标记。 在方法上使用 @ExceptionHandler 声明当前方法可处理的异常类型。当系统发生异常时,…

【四.RAG技术与应用】【11.阿里云百炼应用(上):RAG在云端的实践】

一、为什么需要RAG?大模型的“知识困境”与破局之道 大模型虽然“博学”,但它的知识库存在两个致命短板: 缺乏私有知识:比如企业内部的产品手册、客户数据、行业报告等;知识更新滞后:大模型的训练数据往往停留在某个时间点,无法实时获取最新信息(比如今天的股票行情或…