CTFHub靶场---SSRF攻击

摘要:

什么是SSRF?

SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种由攻击者构造恶意请求,并由服务器端 代为发起此请求的安全漏洞。攻击者能够利用存在缺陷的Web应用作为代理,去攻击服务器所在内网或本地的其他服务。

简单比喻A(用户)让B(存在漏洞的服务器)去访问C(目标,通常是内网或本地的资源)。如果B在"不知情"(即未对A的请求目标做严格校验)的情况下执行了请求,就形成了SSRF。

本文围绕 SSRF(服务端请求伪造)攻击实战展开,聚焦四大核心关卡:内网访问、伪协议读取文件、端口扫描、POST 请求伪造

作者对SSRF漏洞的总结: 网络安全进学习:SSRF(服务器端请求伪造)漏洞全解析-CSDN博客

目录

第一关:内网访问

第二关:伪协议读取文件

第三关:端口扫描

第四关:POST请求


第一关:内网访问

点击内网访问

由题知要我们在URL上修改,那就用http伪协议去访问http://127.0.0.1/flag.php

将得到的信息复制到提交栏,通关。

第二关:伪协议读取文件

访问题目给的文件,发现 ???,没有得到什么信息,检查源代码

得到想要的信息,通关!

第三关:端口扫描

访问127.0.0.1:8000端口,并使用bp抓包,发送intruder

由于只要一个变量,就直接选sniper,标亮端口

由题目知:Payload set选择numbers,范围是8000-9000,step是1

验证匹配结果,并开始攻击(不必要的参数都删掉,影响判断)

端口爆破成功,根据我们要的数据长度和别的数据不一样,找到我们要的数据(就像我这样参数太多了),复制信息,通关!

第四关:POST请求

题目这里说了使用跟踪302跳转,这就要求使用gopher协议来解答,gopher可以理解为古早版本的http请求。

访问目标文件

又没给我们信息,检查代码,复制这个key,后面有用

使用bp抓包,发送到repeater

点击发送,我们可以看到key值和我们刚刚复制的一样

构造一个简单的POST请求:

POST /flag.php HTTP/1.1

Host: 127.0.0.1:80

Content-Type: application/x-www-form-urlencoded

Content-Length: 36

key=c6dd59e90eebad8e3b6bb36df8e12188

对构造的post请求进行url编码

随便找个在线编码工具,对这个请求编码

对第一次编码的换行符进行处理:复制内容,把%0A改成%0D%0A;

再把得到的结果,再进行编码一次

得到的结果加上 gopher://127.0.0.1:80/_

再把URL后面的内容替换成复制的内容,点击发送,response回应我们要的数据,通关!

相关推荐
Flynt3 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
冬奇Lab7 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
Aphasia31111 天前
VPN 与内网穿透
安全
Mr_愚人派12 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
DaLi Yao12 天前
【无标题】
人工智能·安全
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院12 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
treesforest12 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
零零信安12 天前
零零信安荣登数世咨询《新质·数字安全专精百强(2026)》暗网情报领域,彰显专业实力与创新引领
安全·网络安全·数据泄露·暗网·零零信安
开发小能手-roy12 天前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全