- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络协议信息隐藏
请求行有三个字段:方法字段、URL字段和HTTP协议版本字段。方法字段可以取值GET、POST、HEAD、OPTION、PUT、DELETE、TRACE、CONNECT,最常用的是前面三种,其含义如下: GET请求,返回Request-URI所指定的任意信息。 HEAD请求,类似于GET请求,但服务器程序只返回指定文档的首部信息,而不包含实际的文档内容。该请求通常被用来测试超文本链接的正确性、可访问性和最近的修改。 POST请求用来发送电子邮件、新闻或发送能由交互用户填写的表格。这是唯一需要在请求中发送实体主体(Body)的请求。使用POST请求时需要在报文首部Content-Length字段中指出Body的长度。 HTTP协议仍在不断发展,现在的较新版本是1999年在RFC2616中公布的HTTP/1.1,它已经成为互联网草案标准。有关HTTP的其它技术细节可参阅有关文献,在此不再赘述。 协议机制分析 HTTP是一种应用层协议,由于面向用户,协议的制定者基于友好性的考虑,为HTTP设计了自容错、强纠错的特性。协议由两部分程序实现:一个客户机程序和一个服务器程序,它们运行在不同的端系统中,通过交换HTTP报文进行会话。同时,HTTP是建立在TCP基础上的请求响应模式的协议,该模式的基本工作原理如图示。 HTTP报文构造试验 HTTP请求包括三种方法,下面以GET方法为例,通过报文构造试验研究HTTP中的协议隐写。实验的主要思路是利用自编的CovertHTTP_Sender来构造自定义HTTP请求报文,反复模拟IE向Web服务器发送GET请求,同时捕获服务器对每一个请求的HTTP响应报文,并判断其是否正常,以此来发现HTTP中的语义冗余。 ①获得IE的标准GET请求 首先需要得到普通浏览器软件产生的标准HTTP请求报文,下面考察Microsoft Windows 2000 SP4下Internet Explorer 5.0的GET请求头数据,下文所有的协议隐写将全部以此为例。 通过IE访问IP地址为7的Web服务器,该服务器安装的信息服务软件为Microsoft-IIS/5.1,同时运行自编嗅探器IPMonitor,得到的结果如下页图所示。 下面以示例请求报文为例说明隐写过程,为方便显示,以[SP]表示Space,[HT]表示Tab(Horizontal Tab),[CRLF]表示回车换行。 大小写混排编码 HTTP报文由普通ASCII文本书写,因此它只能表示英文字母、数字和简单标点符号,请求报文的请求行严格区分英文字母的大小写,但首部行对大小写的变化却不敏感。这种大小写无关意味着HTTP报文提供了近12.5%的空间隐藏秘密信息。例如: 非默认首部字段值 上文提到的HTTP请求报文仅用一句“GET / HTTP/1.1”就可替代,原因在于特定浏览器发送请求报文的报头域参数都有默认值,如果报文中没有此报头域,服务器端就会认为浏览器使用相应的默认选项。比如Windows 2000下IE 5.0的GET请求头数据中,Accept的默认值是“*/*”,而实际上该值还可以为“image/ gif, text/html, application/vnd.ms-excel”等。例如: 微调URI特殊符号 URI即统一资源标识符(Uniform Resource Identifiers),它用于唯一地标识元素或属性的数字或名称,常用的URL就是一种特殊的URI。HTTP程序在实现时屏蔽了用户之间可能存在的差异,包括用户的错误输入、简化输入等。最明显的例子在“/”、默认端口和单双引号上,比如“http:// /”、“http:// :/”、“ http:// :80”在HTTP中代表同样的含义。而在查询资源Cookie时报头域要用到的If-None-Match默认使用双引号来标识资源哈希值,如: If-None-Match: 0c41a86ad11c11:1aec HTTP报头中还有几种标点符号——括号、冒号、逗号、分号和等于号,它们本身不具有冗余性,但它们对周围的空格变化不敏感。前四种在每一个首部行都中有使用,等于号在短时间内再次发送同样资源请求的HTTP报头中存在。举例如下: 自定义消息报头域 HTTP报文首部行常用字段接近20种,请求报文常用字段共9种。HTTP程序的多样化,使新版本客户端发送的HTTP报头经常出现服务器端无法识别的情况(如HTTP/1.1的请求报文发送到了只支持HTTP/1.0的服务器上),此时服务器会忽略这样的字段,只提供可识别字段所对应的服务,HTTP代理也会原样转发这样的字段。因此,可以通过自定义消息报头域来隐藏秘密信息,例如: 二进制对象排序隐藏 排序隐藏最早由Kamran Ahs
文档评论(0)