gopher 初探

简介: gopher 初探

gopher协议

简介

Gopher是Internet上一个非常有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另一处。在WWW出现之前,Gopher是Internet上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70端口。但在WWW出现后,Gopher失去了昔日的辉煌。

gopher协议支持发出GET、POST请求:可以先截获get请求包和post请求包,在构成符合gopher协议的请求。gopher协议是ssrf利用中最强大的协议

Gopher协议格式

URL:gopher://<host>:<port>/<gopher-path>_后接TCP数据流
  • gopher的默认端口是70
  • 如果发起post请求,回车换行需要使用%0d%0a,如果多个参数,参数之间的&也需要进行URL编码

发送GET请求

curl

curl www.baidu.com
-A参数指定客户端的用户代理标头,即User-Agent
-b参数用来向服务器发送 Cookie。
-d参数用于发送 POST 请求的数据体

gopher

curl gopher://192.168.10.128:70/_coleak

a.php

<?php
    echo "Hello ".$_GET["name"]."\n"
?>

发起get请求的格式

GET /a.php?name=a HTTP/1.1

Host: 192.168.10.128

URL编码

%5f%47%45%54%20%2f%61%2e%70%68%70%3f%6e%61%6d%65%3d%61%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20%31%39%32%2e%31%36%38%2e%31%30%2e%31%32%38%0d%0a

最终格式为:

curl gopher://192.168.10.128:80/_%5f%47%45%54%20%2f%61%2e%70%68%70%3f%6e%61%6d%65%3d%61%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20%31%39%32%2e%31%36%38%2e%31%30%2e%31%32%38%0d%0a

注意事项

1、问号(?)需要转码为URL编码,也就是%3f

2、回车换行要变为%0d%0a,但如果直接用工具转,可能只会有%0a

3、在HTTP包的最后要加%0d%0a,代表消息结束

gopher发POST请求

POST /a.php HTTP/1.1
Host: 192.168.10.128
Content-Length: 11
Content-Type: application/x-www-form-urlencoded
name=coleak

URL编码

curl gopher://192.168.10.128:80/_%50%4f%53%54%20%2f%61%2e%70%68%70%20%48%54%54%50%2f%31%2e%31%0d%0A%48%6f%73%74%3a%20%31%39%32%2e%31%36%38%2e%31%30%2e%31%32%38%0d%0A%43%6f%6e%74%65%6e%74%2d%4c%65%6e%67%74%68%3a%20%31%31%0d%0A%43%6f%6e%74%65%6e%74%2d%54%79%70%65%3a%20%61%70%70%6c%69%63%61%74%69%6f%6e%2f%78%2d%77%77%77%2d%66%6f%72%6d%2d%75%72%6c%65%6e%63%6f%64%65%64%0d%0A%0d%0A%6e%61%6d%65%3d%63%6f%6c%65%61%6b%0d%0A

目录
相关文章
|
存储 分布式数据库 数据库
Django项目中使用Hbase的方法
Django项目中使用Hbase的方法
233 0
|
8月前
|
存储 文件存储 对象存储
AI 场景下,函数计算 GPU 实例模型存储最佳实践
当前,函数计算 FC 已被广泛应用在各种 AI 场景下,函数计算支持通过使用容器镜像部署 AI 推理应用,并且提供多种选项来访问训练好的模型。为了帮助开发者高效地在函数计算上部署 AI 推理应用,并快速解决不同场景下的模型存储选型问题,本文将对函数计算的 GPU 模型存储的优缺点及适用场景进行对比分析,以期为您的模型存储决策提供帮助。
|
12月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
451 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
消息中间件 监控 关系型数据库
综合医院LIS系统全套源码,开箱即用,支持二次开发
该实验室管理信息系统采用C# .Net开发,支持多种主流数据库,利用MQ和Remoting实现分布式3层架构。系统强调标本全周期管理,包括采集、检测、报告和归档,集成多种医院系统,提供生化等多个专业报告,智能审核规则,支持危急值管理、微生物培养跟踪,并具备全面的质控和试剂管理功能。系统维护、条码、样本、常规与微生物检验、质控、查询统计、试剂耗材管理以及临床提醒和报告打印等功能一应俱全。
283 5
综合医院LIS系统全套源码,开箱即用,支持二次开发
|
API 开发工具
支付系统26------支付宝支付-----接口参数设置总结
支付系统26------支付宝支付-----接口参数设置总结
|
消息中间件 监控 Java
使用Java构建微服务架构的最佳实践
使用Java构建微服务架构的最佳实践
|
安全 Java
解决Java中的ClassCastException问题
解决Java中的ClassCastException问题
|
IDE Cloud Native 小程序
IDEA 中 30 秒生成 Spring Cloud Alibaba 工程
近日,阿里巴巴发布了 Spring 的国内脚手架定制版 Aliyun Java Initializer,因为全中文界面和流畅速度,被广大开发者热传。Spring 脚手架为开发者提供了丰富的可选组件,并且可以选择多种打包方式,大大方便了开发人员的使用。
16562 0
IDEA 中 30 秒生成 Spring Cloud Alibaba 工程
|
SQL 存储 关系型数据库
41MyCat - 常见问题与解决方案
41MyCat - 常见问题与解决方案
508 0
|
数据采集 网络安全 开发者
Request 爬虫的 SSL 连接问题深度解析
Request 爬虫的 SSL 连接问题深度解析

热门文章

最新文章