结合漏洞、ssrf-lab学习SSRF漏洞

前言:

本文首发于先知社区结合漏洞、ssrf-lab学习SSRF漏洞

学习新知识,这次通过Weblogic 存在的SSRF漏洞和ssrf-lab,来学习SSRF漏洞

0x00 了解SSRF

SSRF简介:

SSRF(Server-Side Request Forgery),即服务器端请求伪造,利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据限制,本质上是属于信息泄露漏洞。

SSRF漏洞原理:

SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制 。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等,而且在大部分的web服务器架构中web服务器自身是可以访问互联网和服务器所在的内网的,所以攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据
在这里插入图片描述
而且在一般情况下,SSRF攻击的目标是外网无法访问的内部系统(即内网),所以SSRF漏洞也可以用一句话来进行总结:利用一个可以发起网络请求的服务当作跳板来攻击内部其他服务

gopher、dict协议以及redis服务、Curl 命令

Gopher 协议可以做很多事情,特别是在 SSRF 中可以发挥很多重要的作用。利用此协议可以攻击内网的 FTP、Telnet、Redis、Memcache,也可以进行 GET、POST 请求。

DICT协议,一个字典服务器协议,A Dictionary Server Protocol,允许客户端在使用过程中访问更多字典并且该协议约定服务器端侦听端口号:2628

redis服务是在6379端口开启的
在这里插入图片描述
这些我们大致了解一下知道其用处即可

curl命令在SSRF漏洞有非常重要的作用,所以这里就简单介绍一下curl命令:

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思

不带有任何参数时,curl 就是发出 GET 请求

$ curl https://www.example.com

上面命令向www.example.com发出 GET 请求,服务器返回的内容会在命令行输出

-v参数输出通信的整个过程,用于调试。我们便可以利用-v参数进行读取文件

使用file协议curl -v file:///etc/passwd
使用ftp协议 curl -v "ftp://127.0.0.1:端口/info"
使用dict协议 curl -v "dict://127.0.0.1:端口/info"
使用gopher协议 curl -v "gopher://127.0.0.1:端口/_info"

其他参数可以参考curl

常见内网IP段

局域网地址范围分三类,以下IP段为内网IP段:

C类:192.168.0.0 - 192.168.255.255 

B类:172.16.0.0 - 172.31.255.255 

A类:10.0.0.0 - 10.255.255.255

SSRF漏洞的挖掘与利用:

存在SSRF漏洞的站点主要利用四个协议,分别是http、file、gopher、dict协议

file协议进行本地文件的读取
http协议进行内网的ip扫描、端口探测
探测到6379端口开放,可以利用http、gopher、dict这几个协议来打开放6379端口的redis服务。

在这里插入图片描述
正如上图所示,SSRF挖掘与利用方式有很多,只通过理论是无法理解一些东西的,下面就练习一下:

0x01 ssrf-lab

OUTGOING WEBHOOK 输入的https://yourhandler.io/events是有 REST API 监听的需要测试项目
在这里插入图片描述
在 SEE THE RESULT 的部分会显示请求响应的结果和状态码

下面就先测试一下127.0.0.1,发现有回显数据,说明这里没有对内网ip进行限制
在这里插入图片描述
上面了解了SSRF可以通过几种协议来进行读取文件,在这里就进行测试一下:

使用file:///etc/passwd读取用户密码,发现是可以读取
在这里插入图片描述
除此之外,利用这个协议可以读取主机内任意文件。接下来可以读取配置文件和源代码方便进一步的渗透,这里之所以成功实现是因为URL没有经过严格的过滤,所以才可以利用这个协议进行任意文件读取。

在上面还介绍过redis服务,看了很多SSRF 协议中的利用都是结合 Redis 服务的,所以这里就先在ssrf-basics 容器里面安装该服务

$ docker ps #查看容器编号
$ docker exec -it 容器编号 /bin/bash #进入容器
$ apt-get install redis-server # 安装redis服务
$ redis-server #开启redis服务

在这里插入图片描述
安装好之后,便可以利用协

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
程声明:该课程是教学使用,视频内涉及漏洞利用方法,请勿在互联网环境中使用;维护互联网安全,人人有责。实验所需环境:vmware;kali虚拟机一台;windows server一台;有docker环境的Linux虚拟机环境下载地址在购买课程后单独发送 【课程配套资源】1、Python脚本(Margin老师自研,不光能学漏洞,还能学Python,实在是划算)2、与Margin老师实时互动3、免费的CISP-PTE考试技巧指导(Margin老师与CISP-PTE的负责人很熟的,非常多的一手消息^o^)4、Margin老师的内部直播可以优先参加5、Margin老师的课程基于CISP-PTE的知识体系进一步扩展,使课程内容更贴近实战   【课程主要解决问题】1、CSRF、SSRF搞不清楚?2、SSRF原理是什么?危害大小?如何利用SSRF获取主机权限?如果使用Python提高挖洞效率?3、Gopher协议、Dict协议?完全没听过啊,没关系,看完课程后你门清。4、SSRF渗透Redis数据库,Redis客户端和服务器端怎么通信?通信报文是怎么样的?看这里就行。5、SSRF渗透Struts2总是失败?不知道如何编码?不知道如何使用Gopher协议?来这里。6、SSRF表面简单,实则有无数坑,通过视频提高学习效率吧。 【CISP-PTE介绍】1、CISP-PTE是进入网络安全行业的TOP1认证,能帮你梳理完整的网络安全知识体系2、有PTE证书在网络安全公司是免技术笔试的,怎么样?是不是很棒。3、Margin老师的课程基于CISP-PTE的知识体系进一步扩展,使课程内容更贴近实战本课程属于CISP-PTE渗透测试工程师认证体系的课程,但内容更加丰富。CISP-PTE是国内第一个以动手实操为主的网络安全认证,该注册考试是为了锻炼考生世界解决网络安全问题的能力,持续增强我国的网络安全水平和防御能力,促进国内网络防御能力的不断提高。考试内容从多个层面进行,考点和网络安全动态相结合,真实的反应出真实的网络环境中发现的各种问题。如果要考取CISP-PTE证书需要掌握以下内容:1、Web安全基础,注入漏洞、上传漏洞、跨站脚本漏洞、访问控制漏洞、会话管理漏洞哦等。2、中间件的安全知识,如:Apache,IIS,Tomcat,以及 JAVA 开发的中间件 Weblogic,Jboss, Websphere 等,且要了解中间件加固方法,在攻与防的能力上不断提升。3、操作系统安全,包含Windows和Linux操作系统,从账户管理、文件系统权限、日志审计等方面讲解,了解常见的漏洞方式和加固方法。4、数据库安全,包含MSSQL、MYSQL、ORACLE、REDIS数据,了解常用的数据库漏洞和题全方法,保证数据库的安全性。 【关于Margin老师】· Margin/教育系统网络安全保障人员认证首批讲师/高级讲师· 擅长CTF/Web安全/渗透测试 /系统安全· 3年研发/擅长Java/Python/某银行现金循环机业务系统开发者· 曾参与开发网络安全认证教材· 知乎专栏/CISP-PTE渗透测试工程师学习· 4年线下网络安全讲师/2000+线下学员/100000+线上学员

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值