【网络安全 | HTTP】 gopher协议原理、语法及利用总结

简介: 【网络安全 | HTTP】 gopher协议原理、语法及利用总结

什么是gopher协议

Gopher协议是一种早期的互联网协议,用于在网络上获取文本信息。它于1991年提出,旨在提供一种简单、高效的方式来浏览和访问文件。


Gopher协议使用类似于文件系统的层次结构来组织数据,其中每个项目都有一个唯一的标识符。通过Gopher客户端软件,用户可以浏览目录并选择下载或查看文件。Gopher服务器可以提供文本文件、图像文件、二进制文件等。


与HTTP相比,Gopher协议具有更简单的设计和较少的功能。它基于传输控制协议(TCP)进行通信,默认端口号为70。然而,随着万维网的崛起和HTTP的普及,Gopher协议逐渐被取代。


利用

语法

gopher协议的格式通常为:

gopher://hostname:port/请求方法(get、post等)/path

其中,hostname 表示 Gopher 服务器的主机名或 IP 地址,port 表示 Gopher 服务器监听的端口号(默认为 70),而 path 则是资源的路径。

举个例子

  1. 要请求 Gopher 服务器上的 /example/file.txt 文本文件,可以使用以下 URL 格式:
gopher://example.com:端口/example/file.txt
  1. 在本地主机的80端口上使用Gopher协议的GET方法访问一个资源:
gopher://127.0.0.1:80/_GET /index.php HTTP/1.1

/_GET /index.php HTTP/1.1 表示使用 GET 方法请求位于 /index.php 的资源,并且使用 HTTP 1.1 协议版本

  1. 对于POST请求,可以抓包后使用以下脚本将数据包转换为gopher协议格式:
import urllib.parse
payload = """
POST /被渗透页面.php HTTP/1.1
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 36
key/cookie等等=xxx 
#用于身份验证或授权
"""
# 对payload中的特殊字符进行编码
tmp = urllib.parse.quote(payload)
# 将换行符%0A替换为回车换行符%0D%0A,以利用CRLF漏洞
new = tmp.replace('%0A','%0D%0A')
# 构建Gopher URL
result = 'gopher://127.0.0.1:80/'+'_'+new
# 对新增的部分继续编码
result = urllib.parse.quote(result)
print(result)

总结

以上为gopher协议原理、语法及利用总结,读者可躬身实践。

我是秋说,我们下次见。

目录
相关文章
|
8天前
|
安全 数据建模 网络安全
深入理解SSL数字证书:定义、工作原理与网络安全的重要性
本文阐述了SSL数字证书在网络安全中的关键作用,定义了其作为验证服务器身份的数字凭证,基于PKI体系保障数据传输安全。文章介绍了三种类型的证书,包括DV、OV和EV,适用于不同安全需求的网站。获取和安装证书涉及向证书颁发机构申请并部署到服务器。在网络安全挑战下,正确使用和管理SSL证书对于保护用户数据和提升信任度至关重要。
|
8天前
|
缓存 网络协议
【计算机协议】第一章——HTTP协议详解
【计算机协议】第一章——HTTP协议详解
|
10天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
12天前
|
缓存 安全 网络协议
Http协议是什么
【4月更文挑战第12天】HTTP是用于从WWW服务器传输超文本到浏览器的协议,基于TCP/IP,特点包括无连接、无状态、面向对象、无阻塞和可缓存。它的工作原理是客户端发送请求,服务器处理后返回响应。自1989年创建以来,HTTP已发展支持多媒体内容传输,并通过HTTPS提供安全保护。学习更多可参考计算机网络技术文献。
18 6
|
14天前
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
11 0
|
14天前
|
存储 JSON 前端开发
网络原理(4)HTTP协议(下)
网络原理(4)HTTP协议
26 0
|
1月前
|
安全 网络协议 Unix
网络安全产品之认识安全隔离网闸
随着互联网的发展,网络攻击和病毒传播的方式越来越复杂,对网络安全的要求也越来越高。传统的防火墙设备在面对一些高级的网络攻击时,往往难以做到全面的防护,因此需要一种更加有效的网络安全设备来提高网络的安全性。此外,随着信息技术的不断发展,各个行业对信息系统的依赖程度也越来越高,一旦信息系统遭受攻击或入侵,可能会导致数据泄露、系统瘫痪等严重后果。因此,对于一些高安全级别的网络环境,如政府、军队、公安、银行等,需要一种更加可靠的安全设备来保证网络的安全性。在这样的背景下,安全隔离网闸作为一种新型的网络安全设备应运而生。本文让我们一起来认识安全隔离网闸。
44 0
|
1月前
|
存储 安全 网络安全
构筑安全堡垒:云计算环境下的网络安全与防护策略
【2月更文挑战第31天】 在信息技术迅猛发展的当代,云计算以其高效、灵活和成本优化的特点成为企业数字化转型的重要支撑。然而,随着云服务的广泛应用,数据的安全与隐私保护问题也日益凸显。本文将深入探讨在复杂多变的云计算环境中,如何通过创新技术和策略加强网络安全防护,确保信息安全。我们将分析当前云计算服务中存在的安全威胁,探讨加密技术、身份认证、访问控制以及入侵检测等关键技术的应用,并提出一个多层次、综合性的安全防护框架,以助力企业在享受云计算便利的同时,有效防范安全风险。
|
1月前
|
存储 安全 网络安全
云计算与网络安全:构建数字化安全堡垒
在当今数字化时代,云计算技术的快速发展为企业提供了更便捷高效的信息化解决方案,然而,随之而来的网络安全隐患也备受关注。本文将探讨云计算与网络安全的紧密关系,分析云服务、网络安全、信息安全等技术领域的发展现状,以及如何通过有效的策略和技术手段构建数字化安全堡垒,确保信息安全与数据隐私。
13 1
|
3天前
|
安全 JavaScript 前端开发
第十六届山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题—B模块安全事件响应/网络安全数据取证/应用安全
该内容描述了一次网络安全演练,包括七个部分:Linux渗透提权、内存取证、页面信息发现、数字取证调查、网络安全应急响应、Python代码分析和逆向分析。参与者需在模拟环境中收集Flag值,涉及任务如获取服务器信息、提权、解析内存片段、分析网络数据包、处理代码漏洞、解码逆向操作等。每个部分都列出了若干具体任务,要求提取或生成特定信息作为Flag提交。
6 0