加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 安全 > 正文

探究使用 Gopher 协议的 SSRF 的运用

发布时间:2023-10-13 11:13:42 所属栏目:安全 来源:
导读:使用 Gopher 通信规范可以进行信息传输,用于在Internet 协议网络中分发、搜索和检索文档。Gopher 协议和用户界面的设计是菜单驱动的,并在早期阶段提出了万维网​的替代方案,但最终不受欢迎,让位于HTTP。Gop

使用 Gopher 通信规范可以进行信息传输,用于在Internet 协议网络中分发、搜索和检索文档。Gopher 协议和用户界面的设计是菜单驱动的,并在早期阶段提出了万维网​的替代方案,但最终不受欢迎,让位于HTTP。Gopher 生态系统通常被认为是万维网的有效前身。

发起POST请求时,回车换行需要使用%0d%0a​代替,结尾也要加上%0d%0a

参数之间的&需要进行URL编码

参数以_开头 ,否则第一个字符会被吞掉

支持Gopher协议的环境

PHP —write-curlwrappers且PHP版本至少为5.3

Java 小于JDK1.7

Curl 低版本不支持

Perl 支持

ASP.NET 小于版本3

为什么要使用Gopher协议

在思考这个问题的时候我们可以看见这样的答案:

Gopher协议支持发出GET、POST请求:可以先截获get请求包和post请求包,再构成符合Gopher协议的请求。其中Gopher所用的协议技术是SSRF分布式利用中最强大的协议。

我总结的话,就一句话:支持多种协议且灵活,或者也可以说其没有固定的格式要遵守(这里所谓的格式指的是数据包的格式,必须在TTP数据包中必须携带哪些参数)。

我们做这样一个实验,在一台虚拟机上通过nc​监视3333​端口,然后分别通过http​协议和gopher协议去访问这个端口:

http://172.16.12.155:3333/abc

那么此时对端收到的是(我们通过curl​请求)带有​HTTP​的请求包格式:有可能会说比如说UA什么的完全可以不带,但是GET的请求包是一定要有的吧!一般情况下,我们会使用curl来处理这些请求,因为它的速度是最快的,并且不需要额外的服务器资源。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章