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

SSRF请求伪造

目录

1. redis

1.1. . 什么是Redis未授权访问?

1.2. redis在未授权情况下如何getshell?

2. Gopher

3. pikachu靶场演练

4. kali靶场搭建


SSRF(Server-Side Request Forgery) 是指攻击者通过构造恶意请求,诱使服务器向非预期的目标发起网络请求的漏洞。服务器被当作“代理”或“跳板”,用于访问内部系统、第三方服务或敏感资源,从而绕过安全限制。
将访问的服务器当跳板,以此来访问内部系统。

1. redis

redis 是一个数据库,默认端口6379。

1.1. . 什么是Redis未授权访问?

  • Redis特性:Redis默认以高性能为目标,设计时未强制启用身份验证。若管理员未配置密码或网络访问控制,服务可能暴露在公网。
  • 未授权访问:攻击者可直接连接到Redis服务器(默认端口6379),无需用户名/密码即可执行任意命令,包括读取、修改数据甚至控制服务器。

1.2. redis在未授权情况下如何getshell?

1. redis主从备份getshell redis版本要小于6大于4(开头版本号)

主要是下载一个.so文件,利用.so文件反弹shell

2. 写入计划任务反弹shell

通过未授权直接在redis里面实现计划任务反弹shell

3. ssh公私钥写入

使用redis获取shell中,查看IP地址不可使用ifconfig,IP a,ipconfig

2. Gopher

定义:Gopher是Internet上一个非常有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另一处。在WWW出现之前,Gopher是Internet上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70端口。但在WWW出现后,Gopher失去了昔日的辉煌。现在它基本过时,人们很少再使用它;

gopher协议支持发出GET、POST请求:可以先截获get请求包和post请求包,在构成符合gopher协议的请求。gopher协议是ssrf利用中最强大的协议

Gopher格式:

URL:gopher://<host>:<port>/<gopher-path>_后接上TCP数据流

3. pikachu靶场演练

根据标题并且访问可知,常见的找url,发现端倪

http://pikachu/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/vul/vul/ssrf/ssrf_info/info1.php

加粗位置就是端倪,试试利用这个来访问其他文件

将url后面网址换一个其他网站试试,这里我使用dnslog来测试

访问图中地址

具有回信,变成访问原始界面一样,同时去dnslog网站查看

访问被记入,也就验证了该处可能存在ssrf漏洞

接下来使用改处来访问本机banner(以模仿访问服务器)、(http协议也可以换为dict协议等)

http://172.220.33.74:3306

可以得知在我电脑3306这个端口开放了mysql服务

还有就是在实战中我们不可能一个一个去试端口吧,这个也可以使用bp爆破

将端口添加

可以扫描全端口

如果开放了端口,长度会不一样得

4. kali靶场搭建

使用指令查看docker 这两个存不存在

docker -version

docker-compose -v

这两个是靶场准备

下载好靶场压缩包,将文件复制到kali中(要使用VMware tools 插件)

  1. unzip 文件名解压该文件
  2. cd./ssrf等切换目录
  3. 然后ls 需要我们看到该文件

  1. docker-compose up -d会去下载靶场,并打开容器

下载的时候出现访问失败,因为地址属于外网,访问超时了,可以在kali中装一个代理就好了

或者使用一个镜像源即可

  1. docker ps 可以查看到docker容器开放的端口

图中有箭头的意思是将虚拟机的80端口,映射到本机的9080端口,后续对该端口进行访问

  1. docker是Linux中的虚拟机
  2. docker stop $(docker ps -q) 关闭所有容器

  1. 访问一下虚拟机 192.168.119.128:9080

  2. file:///etc/passwd

http://www.xdnf.cn/news/4483.html

相关文章:

  • -CoderOilStationJava高级工程师
  • 民宿管理系统6
  • 时间序列数据集构建方案Pytorch
  • Vuerouter 的底层实现原理
  • 【机器学习】Logistic 回归
  • 藏文助词标注器入门实践
  • SQLite数据库加密(Java语言、python语言)
  • 第8章-1 查询性能优化-优化数据访问
  • 微信小程序预览文件 兼容性苹果
  • redis bitmap数据类型调研
  • TB6600HG是一款PWM(脉宽调制)斩波型单芯片双极性正弦波微步进电机驱动集成电路。
  • 三款实用工具推荐:配音软件+Windows暂停更新+音视频下载!
  • ZYNQ移植FreeRTOS与OpenAMP双核开发实践指南
  • 《汽车噪声控制》复习重点
  • AI开发playwright tool提示词
  • 信奥赛CSP-J复赛集训(图和树专题)(1):P8604 [蓝桥杯 2013 国 C] 危险系数
  • 蓝桥杯 20. 倍数问题
  • 传输层协议 1.TCP 2.UDP
  • 碰一碰发视频源码搭建的技术迭代与升级实践
  • 16.Excel:数据收集
  • cuda矩阵加法
  • 【解决】VsCode C++异常【terminate called after throwing an instance of ‘char const‘】
  • STM32的网络天气时钟项目
  • 【AI提示词】双系统理论专家
  • 在IDEA中编写Spark程序并运行
  • 深入解析Http11AprProtocol:Tomcat高性能通信的底层原理
  • MySQL OCP和Oracle OCP怎么选?
  • daplink开发_一次开发DAPLink的详细开发流程及调试步骤
  • 多线服务器具有什么优势
  • 5月7日星期三今日早报简报微语报早读