《攻防技术汇总部分》由会员分享,可在线阅读,更多相关《攻防技术汇总部分(234页珍藏版)》请在金锄头文库上搜索。
1、WEB应用安全和数据库安全的领航者部门技术汇总WEB应用安全和数据库安全的领航者目录2WEB应用安全和数据库安全的领航者Web应用安全基础 WEB应用的基本架构 HTTP协议简介 应用系统概述 数据传输编码技术简介3WEB应用安全和数据库安全的领航者WEB应用的基本架构 客戶端(Client)服务器(Server)架构 使用HTML ( HyperText Transfer Protocol)描述文件 使用URL(Uniform Resource Locator )指定文件的所在 透过HTTP(HyperText Transfer Protocol)协议与服务器沟通WEB应用安全和数据库安全的
2、领航者WEB应用安全和数据库安全的领航者WEB应用安全和数据库安全的领航者WEB应用安全和数据库安全的领航者WEB应用安全和数据库安全的领航者HTTP协议简介 HTTP介绍 URL介绍 HTTP的工作过程 HTTP代理服务器 HTTP的报文结构WEB应用安全和数据库安全的领航者HTTP介绍HTTP(Hypertext Transfer Protocol)是一种无 状态的协议,基于简单的请求响应模型 (requests / responses) HTTP请求和响应都有消息头(Header), 消息主体 (body) (请求的消息主体是可选) HTTP请求必须使用一个特定的请求方法(method)
3、 HTTP响应包含一个状态代码(Status Code) HTTP是一个纯文本的协议WEB应用安全和数据库安全的领航者URL介绍 统一资源定位符(URL,英语 Uniform / Universal Resource Locator 的缩写)也被称为网页地址,是因特网上标准的资源的地址。 URL的一般形式格式::/:/WEB应用安全和数据库安全的领航者COOKIES 是实现会话保持最常规的方法 要启动一个会话, 服务器使用Set-Cookie响应消息 头发布cookieBegins with a NAME=VALUE pair Followed by 0 or more semi-colon-
4、separated attribute-value pairs Domain, Path, Expires, Secure Set-Cookie: SID=5KXIOt4cS; expires=Mon, 31-May-2010 20:46:01 GMT; path=/; domain=; HttpOnly 客户端发送Cookie消息头到服务器保持继续会话 19WEB应用安全和数据库安全的领航者HTTP代理服务器代理服务器是一种网络实体,它能代表浏览器发出HTTP 请求。代理服务器将最近的一些请求和响应暂存在本地磁 盘中。当与暂时存放的请求相同的新请求到达时,代理服 务器就将暂存的响应发送出去,
5、而不需要按URL的地址再 去因特网访问该资源。代理服务器可在客户和服务器端工 作,也可在中间系统上工作。WEB应用安全和数据库安全的领航者HTTP代理服务器浏览器访问因特网上的服务器的过程是:1.浏览器访问因特网服务器时,要先与代理服务器建立TCP连接,并向 代理服务器发出HTTP请求报文。2.若代理服务器已经存放了所请求的对象,则将此对象放入HTTP响应 报文中返回给浏览器。 3.否则,代理服务器就代表发出请求的用户浏览器,与因特网上的服 务器建立TCP连接,并发送HTTP请求报文。4.因特网服务器将所请求的对象放在HTTP响应报文中,通过已建立的 TCP连接,返回给代理服务器。5.代理服务
6、器收到此对象后,先复制在本地存储器中,然后再将该对 象放在HTTP响应报文中,通过已建立的TCP连接返回给请求该对象 的浏览器。代理服务器即作为服务器,也作为客户。WEB应用安全和数据库安全的领航者WEB应用安全和数据库安全的领航者HTTP代理服务器WEB应用安全和数据库安全的领航者Demo HTTP PROXY 24WEB应用安全和数据库安全的领航者HTTP的报文结构了解HTTP功能最好的方法就是研究HTTP的报文结构。 HTTP有两类报文:(1)请求报文从客服向服务器发送请求报文。 (2)响应报文从服务器到客服的回答。HTTP报文由客户端到服务器的请求和服务器到客户端的 响应组成。请求报文
7、和响应报文都是由开始行(对于请求 报文,开始行就是请求行,对于响应报文,开始行就是状 态行),首部行(可选),空行(只有CRLF的行),报文正文(可选)组成。 WEB应用安全和数据库安全的领航者HTTP的报文结构 请求报文请求报文是客服向服务器发送请求的报文WEB应用安全和数据库安全的领航者HTTP的报文结构 请求行请求行由请求方法字段、URL字段和HTTP协议版本字段3 个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP请求方法 HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、 OPTIONS、TRACE、CONNECT。
8、GET:读取由URL所标识的信息。OPTION:请求一些选项的信息。HEAD:请求读取URL所标识信息的首部。POST:给服务器添加信息。PUT:在指明的URL下存储一个文档。DELETE:删除指明的URL所标志的资源。TRACE:用来进行环回测试的请求报文。CONNECT:用于代理服务器。WEB应用安全和数据库安全的领航者HTTP的报文结构在请求报文中的请求方法区分大小写。 URL字段:路径,如果URL中没有给出路径,那么当 它作为请求URI时,必须以“/”的形式给出,通常这个工 作浏览器自动帮我们完成。 版本:HTTP协议目前用的最多的是1.1版本。WEB应用安全和数据库安全的领航者HTT
9、P的报文结构 请求头部请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的 信息,典型的请求头有:User-Agent:产生请求的浏览器类型。Accept:请求报头域用于指定客户端接受哪些类型的信息。eg: Accept:image/gif,表明客户端希望接受GIF图象格式的资源; Accept:text/html,表明客户端希望接受html文本。Accept-Encoding:请求报头域类似于Accept,但是它是用于指定可 接受的内容编码 ,eg:Accept-Encoding:gzip.deflate ,表示可以接 受gzip算法编码
10、过的数据。Accept-Language:请求报头域类似于Accept,但是它是用于指定一 种自然语言。eg:Accept-Language:zh-cn,表示优先接受中文版文 档。WEB应用安全和数据库安全的领航者HTTP的报文结构Referer:上一个资源的URL。Connection:当值为Close时,告诉服务器发送响应的文件后关闭连 接,为Keep-Alive时,告诉服务器在完成本次请求的响应后,保持连 接。Host:主要用于指定被请求资源的Internet主机和端口号,它通常从URL 中提取出来的,eg: 。此处使用缺省端口号80,若指 定了端口号,则变成:Host::指定端口号 。
11、 空行最后一个请求头之后是一个空行,发送回车符和换行符, 通知服务器以下不再有请求头。 请求数据请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。WEB应用安全和数据库安全的领航者HTTP的报文结构 发送报文的格式GET方法 GET /js/2345 HTTP/1.1rn 请求使用了相对的URL Accept: */*rn 用户希望得到的文档的类型 Referer: http:/ 上一个网页的URL Accept-Language: ZH-CNrn 表示用户
12、优先得到中文版的文档 Accept-Encoding: gziprn 允许接受压缩过的数据 User-Agent: Mozilla/4.0 rn 用户使用的代理服务器 Host: union2.50bang.orgrn 给出主机的域名 Connection: Keep-Alivern 告诉服务器保持持久连接 rn CRLFWEB应用安全和数据库安全的领航者HTTP的报文结构 发送报文的格式POST方法 POST /search.jsp HTTP/1.1rn 请求使用了相对的URL User-Agent: Mozilla/4.0 rn 用户使用的代理服务器 Host: rn 给出主机的域名 C
13、ontent-Length: 16 rn 告诉服务器消息主体的字节长度 rn CRLFname=blah ”WEB应用安全和数据库安全的领航者Base64编码Base64编码仅用一个可打印的ASCII字 符就可安全转换任何二进制数据,它常用 于对电子邮件附件进行编码,使其通过 SMTP安全传输。它还可用于在基本HTTP 验证机制中对用户证书进行编码。WEB应用安全和数据库安全的领航者十六进制编码许多应用程序在传送二进制数据时直接 使用十六进制编码,用ASCII字符表示十六 进制数据库块。例如,对cookie中的用户名 daf进行十六进制编码,会得到以下结果:646166WEB应用安全和数据库安全的领航者提 纲 Web应用安全基础