浅析HTTP协议
来源:互联网 发布:云计算峰会的会议定位 编辑:程序博客网 时间:2024/05/21 05:59
1.HTTP工作方式:
- 建立连接
- 客户端发送请求信息
- 服务器发送响应信息
- 关闭连接
2.HTTP规范:
- HTTP协议采用了请求/响应模型。
- HTTP请求由三部分组成,分别是请求行,消息报头,请求正文。
请求行主要由三部分组成,分别是请求方法,请求路径(URL),请求协议。 - HTTP响应也是由三部分组成,分别是状态行,消息报头,响应正文。
3.HTTP协议之消息报头:
- 普通报头
- 请求报头
- 响应报头
- 实体报头
具体参考链接http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
4.伪造HTTP请求头和响应头一些规范事项
Request(一个Request包括:请求行,多个普通报头,请求报头,实体报头和消息实体)
- Request编写规范如下:(注意换行符CRLF和空格SP)
- 请求行编写规范如下:
- 以下为普通报头:
- 以下为请求报头:
- 以下为实体报头:
- Request编写规范如下:(注意换行符CRLF和空格SP)
Response(一个Response包括:状态行,多个普通报头,响应报头,实体报头和消息实体)
- Response编写规范如下:(注意换行符CRLF和空格SP)
- 状态行编写规范如下:
- 以下为普通报头:
- 以下为响应报头:
- 以下为实体报头:
- Response编写规范如下:(注意换行符CRLF和空格SP)
5.例子
- http response splitting的基本实现步骤
- 假如有如下URL
- 我们可以在language参数上面做些手脚,我们可以在该参数后面拼接自己精心设计的request,构造特殊字符形成截断。
- 伪造一个request请求
- 进行URL转码
- 当客户端接收到第一个响应之后会向相应的目标进行跳转,而这个时候客户端会认为第二个响应正是针对第二个请求的响应,也就是我们自己伪造的第二个响应,从而达到欺骗的目的。
- 假如有如下URL
ps:伪造一个request请求样例
enContent-Length: 0HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 26<html>Hacked by zhx</html>
总结:
造成http响应头截断漏洞的主要原因是对用户提交的非法字符没有进行严格的过滤,尤其是CR,LF字符的输入。攻击者通过发送一经过精心构造的request,迫使服务器认为其返回的数据是两个响应,而不是常规的一个响应。当可以通过精心制作的request完全 控制第二个响应时,可以通过这样来实现攻击。
0 0
- 浅析HTTP协议 (转载)
- 浅析HTTP协议
- 浅析HTTP协议
- 浅析HTTP协议
- HTTP 协议浅析(上)
- 浅析HTTP协议
- 浅析HTTP协议
- 浅析HTTP协议
- 浅析HTTP协议
- 浅析HTTP协议
- 浅析HTTP协议
- 浅析http协议
- 浅析HTTP协议
- Http协议浅析
- 浅析HTTP协议
- 浅析HTTP协议
- 浅析HTTP协议
- 浅析HTTP协议
- 2015-07-28总结
- C\C++ 程序的编译过程
- hdu 3853 概率dp
- 【西祠日志】【10】周二周二
- Eclipse:Error:could not find java SE Runtime Environment/Error: could not find java.dll
- 浅析HTTP协议
- linux常用命令----文本格式化输出
- No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instanc
- 【水题】高精度加法
- Hibernate 注解方式 save后获取不到对象id一种情况
- http(3)详解------Web的结构组件
- 关于在Java学习中遇到的浮躁
- android 中自定义广播的使用broardcast
- CSS总结(1)