pikachu靶场----ssrf实现

目录

ssrf简介

SSRF(curl)

1.后端代码分析

2.http协议连接本地文件

3.file协议读取C盘中的文件。

4.dict协议扫描内网其他主机的端口开放情况

5.使用burp扫描内网其他主机的端口开放情况


ssrf简介

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

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

SSRF(curl)

点击这个连接,可以看见这个数据是从其它服务器连接过来的。

当我们改变url后面的参数时,它也是可以正常访问的,它这里不做一些安全措施的话,我们就可以进一步的干一些坏事了。

1.后端代码分析

这里我们是由于实验,先看一下后端的代码是怎么写的

前端传进来的url被后台使用curl_exec()进行了请求,然后将请求的结果又返回给了前端。

2.http协议连接本地文件

我们也可以发现可以访问这个服务器根路径文件。

3.file协议读取C盘中的文件。

这里我们通过file协议,把这个服务器当作本机一样,读取盘中的数据,也可以读取出来。

4.dict协议扫描内网其他主机的端口开放情况

我们再进一步,通过dict协议试探一下服务器的端口开放情况。

可以看见,这里有回显,只是我们没有权限,但我们已经知道了这个服务器有开放数据库的3306端口。

5.使用burp扫描内网其他主机的端口开放情况

抓包,并把抓到的包发送到攻击模块,进行端口探测。

可以看见,根据返回的长度不同,就可以看见服务器所开放的端口有哪些,就比如3306端口。

到这里,第一关就差不多好了。

相关推荐
苏格拉没有底_coder15 分钟前
【Easylive】详细解析 `stream()` 方法的使用
linux·服务器·windows
NorthCastle30 分钟前
Centos7 上 卸载 docker
运维·docker·容器
佩奇的技术笔记2 小时前
技巧:使用 ssh 设置隧道代理访问 github
运维·ssh·github
心灵宝贝2 小时前
openssl-1.0.1e.tar.gz编译安装步骤
linux·运维·服务器
自由鬼2 小时前
开源免费虚拟化软件PVE功能介绍
运维·服务器·开源·虚拟化
想要打 Acm 的小周同学呀2 小时前
TCP基础篇(一)
服务器·网络·tcp/ip
矮油0_o3 小时前
5.好事多磨 -- TCP网络连接Ⅱ
服务器·网络·tcp/ip·网络编程·socket
独隅3 小时前
针对Ansible执行脚本时报错“可执行文件格式错误”,以下是详细的解决步骤和示例
运维·开发语言·ansible·lua·lua5.4
m0_677904844 小时前
Nginx介绍及使用
服务器·nginx
菜鸟xy..4 小时前
麒麟系统桌面版本v10安装教程
linux·运维·服务器·虚拟机·安装教程·麒麟