【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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值