pikachu靶场-11 SSRF漏洞

SSRF漏洞

概述

SSRF(Server-Side Request Forgery:服务器端请求伪造)

其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制
导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据

数据流:攻击者----->服务器---->目标地址

根据后台使用的函数的不同,对应的影响和利用方法又有不一样

PHP中下面函数的使用不当会导致SSRF:

file_get_contents()
fsockopen()
curl_exec()

如果一定要通过后台服务器远程去对用户指定(“或者预埋在前端的请求”)的地址进行资源请求,则请做好目标地址的过滤。

靶场
SSRF(curl)
image-20221213180232251

这里有一个a标签,我们点击一下看看

image-20221213180421882

image-20221213180440843

我们可以看到它传了一个URL到后台,我们可以先直接看一下源码

image-20221213180539012

我们可以看到,它这边会直接获取前端传进来的URL,然后就直接通过curl_init做了一个初始化,然后最终通过curl_exec对他进行了一个请求,然后把请求返回来的数据返回到了前端。如果这个时候我们传进来一个其他的地址会产生什么样的后果呢?我们试一下

我们在这里可以试着传一个百度

image-20221213180826658 image-20221213180910704

它就直接把百度的数据给我们显示出来了,这里并不是我们的浏览器直接去请求的百度,而是我们的浏览器把这个参数传到了后端,后端的服务器通过curl_exec这个方法去请求的百度,又把百度返回的数据返回到我们前端。

那就意味着我们可以通过SSRF这个漏洞去对后端服务器同一个网络里面的其他服务器去进行一个探测。比如我们可以通过http://127.0.0.15:22去看一下这个服务器的22号端口开着没有。这就是我们常说的SSRF可以用来打内网的原因。

curl支持很多协议,有FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE以及LDAP

SSRF(file_get_content)

image-20221213181430582

这里和上一个看着差不多,也是一个a标签

image-20221213181501507

image-20221213181516689

也是传了一个对应的地址,我们看一下源码

image-20221213181555131

其实和刚才差不多,但是这里使用的是file_get_contents这么一个函数,这个函数可以对本地的文件进行读取,也可以对远程的文件进行一个读取,他也支持很多协议,比如http,我们还是拿百度来试一下

image-20221213181801460

同样的它也能通过http把百度的资源通过后端服务器返回到前端。

读取PHP文件的源码:php://filter/read=convert.base64-encode/resource=ssrf.php

我们可以通过这个内置的php方法去读取相关的源码

image-20221213182123483

进入这个页面往下滑到最下面,我们就可以看到它就直接把我们这个文件的base64的编码返回到了前端,我们直接把这段编码去用base64解码,就能知道这个php文件对应的源码是什么了

image-20221213182222506

image-20221213182652092

SSRF这个漏洞利用的途径和方法还是很多的,主要是取决于后台用了哪一个对应的函数,我们要去研究这个对应的函数支持哪些网络协议,我们通过这些网络协议去构造相关的利用方法

SSRF这个漏洞利用的途径和方法还是很多的,主要是取决于后台用了哪一个对应的函数,我们要去研究这个对应的函数支持哪些网络协议,我们通过这些网络协议去构造相关的利用方法

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游子无寒衣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值