当前位置: 首页 > article >正文

【SSRF漏洞】——gopherus工具伪造

改变的确很难,但结果值得冒险

本文如有错误之处,还请各位师傅指正

目录

一.gopherus概述

二.gopherus安装使用

三.gopherus覆盖的服务

 四.使用案例

web359:

 web360:


一.gopherus概述

Gopherus是一个专为生成Gopher协议Payload的工具,通过构造特定的Gopher协议数据包,攻击者能够利用SSRF漏洞对内网资源进行访问,甚至可能进一步执行远程代码(Remote Code Execution,RCE)。

二.gopherus安装使用

linux中,git下载

git clone https://github.com/tarunkant/Gopherus.git

 切换到gopherus目录下

cd Gopherus

三.gopherus覆盖的服务

  • MySQL(端口3306)
  • PostgreSQL(端口5432)
  • FastCGI(端口9000)
  • Memcached(端口11211)
  • Redis(端口6379)
  • Zabbix(端口10050)
  • SMTP(端口25)

 四.使用案例

MySQL

查看源码

这个隐藏的表单提交,name属性值是一个重定向链接

我们尝试抓下数据包:

这里都没有password参数,是无密码的mysql登录

所以在returl参数这我们用gopherus进行ssrf伪造

 select '<?php eval($_POST['cmd']);?> into outfile '/var/www/html/shell.php'

这是sql注入写文件操作,将一句话木马写入到目标shell.php文件

into outfileinto dumpfile 作用一样

 修改returl参数提交(参数要进行url特殊字符编码,因为%xx的内容会被urldecode

 执行ls /命令,得到flag.txt文件

Rides

先介绍一下什么是redis

redis全称:Remote Dictionary Server(远程字典服务器)。是完全开源免费的,用C语言编写的, 遵守BSD协议。是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器

虽然题目已经给了打redis,但我们可以用dict协议测出来端口(假设我们不知道的情况下)

采用爆破即可,这里使用burpsuit的intruder模块

只有80端口(http协议)6379端口(redis)返回值不一样

使用http协议得不到flag,所以排除;

于是乎我们便可以用gopher协议来利用redis服务器得到webshell

 在/var/www/html/目录下生成了shell.php木马文件

 得到flag


http://www.kler.cn/a/307156.html

相关文章:

  • AWS认证SAA-C0303每日一题
  • 11张思维导图带你快速学习java
  • win32 / WTL 开发多线程应用,子线程传递大对象给UI线程(主窗口)的方法
  • MyBatis CRUD快速入门
  • Web大学生网页作业成品——婚礼婚纱网页设计与实现(HTML+CSS)(6个页面)
  • Lucene 和 Elasticsearch 中更好的二进制量化 (BBQ)
  • sqli-labs靶场自动化利用工具——第10关
  • 上汽大众:存储成本节约85%,查询性能提升5倍|OceanBase案例
  • 【Multi-UAV】多无人机实现凸多边形区域覆盖--Voronoi分割
  • Mysql树形结构表-查询所有子集数据
  • 【OJ刷题】快慢指针问题
  • ARM驱动学习之基础小知识
  • Windows环境本地部署Oracle 19c及卸载实操手册
  • STL-vector练习题
  • 【2025届华为秋招机考三道编程题之一】华为校招留学生软件开发工程师-真题机考笔试/(200分)- 跳格子3(Java JS Python C)
  • 【C++】模板进阶:深入解析模板特化
  • 【数据库】MySQL内置函数
  • Args4j:Java命令行参数解析的利器
  • Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 死亡对象判断方法
  • uniapp自定义导航栏以及页面加背景
  • CSP-J算法基础 计数排序
  • mis_table.cs 与 csharp_mis_table.h
  • Oracle(121)如何进行数据文件的恢复?
  • Linux中使用Docker构建Nginx容器完整教程
  • k8s使用本地docker私服启动自制的flink集群
  • OKHttp实现原理分享