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端口。

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

相关推荐
sinat_3842410942 分钟前
使用 npm 安装 Electron 作为开发依赖
服务器
朝九晚五ฺ1 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
Kkooe2 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒3 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
虚拟网络工程师4 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
BLEACH-heiqiyihu4 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
勤奋的小王同学~4 小时前
项目虚拟机配置测试环境
服务器
007php0075 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
JosieBook5 小时前
【网络工程】查看自己电脑网络IP,检查网络是否连通
服务器·网络·tcp/ip
我的K84095 小时前
Flink整合Hudi及使用
linux·服务器·flink