web架构安全分析
web工作机制网页、网站我么可通过浏览器上网看到精美的页面,一般都是经过浏览器渲染的.html 页面,其中包含css 等前端技术。多个网页的集合就是网站。Web容器Web 容器,也叫Web 服务器,主要提供Web 服务,也就是常说的HTTP 服务。常见的Web 容器有:Apache/IIS/Nginx 等。静态页面静态页面,都是些.html 文件,是纯文本文件。这些文件中包含html 代码。中间件
web工作机制
网页、网站
我么可通过浏览器上网看到精美的页面,一般都是经过浏览器渲染的.html 页面,其中包含css 等前端技术。多个网页的集合就是网站。
Web容器
Web 容器,也叫Web 服务器,主要提供Web 服务,也就是常说的HTTP 服务。
常见的Web 容器有:Apache/IIS/Nginx 等。
静态页面
静态页面,都是些.html 文件,是纯文本文件。这些文件中包含html 代码。
中间件服务器
以上这种,只能单向给用户战术信息。随着Web 的发展,信息要双向流动,产生了交互的需求,也就是动态网页的概念;所谓动态就是利用flash、Php、asp、Java 等技术在网页中嵌入一些可以运行的脚本,用户浏览器在解释页面时,遇到脚本就启动运行它。
脚本的使用让Web 服务模式有了双向交流的能力,Web服务器模式也可以像传统的软件一样进行各种事务的处理,如编辑文件、利息计算、提交表单等,Web 架构的适用面大大扩展
这些脚本可以嵌入到页面中,如JS等。也可以以文件的形式单独存放在Web 服务器的目录里,如.asp、.php、jsp 文件等。这样功能性的脚本越来越多,形成常用的工具包,单独管理,Web 业务开发时,直接使用就可以了,这就是中间件服务器,它实际上时Web 服务器处理能力的扩展。
数据库的出现
静态网页与脚本都是事先设计好的,一般不经常改动,但网站上的很多内容需要经常更新,将这些变动的数据放在静态网页的程序中显然不合适,传统的办法是数据与程序分离,采用的专业的数据库。
Web 开发者在Web 服务器后边增加了一个数据库服务器,这些经常变动的数据被存进数据库,可以随时更新。当用户请求页面时,脚本根据用户请求的页面,涉及到动态数据的地方,利用SQL数据库语言,从数据中读取最新的数据,生产“完整”页面,最后送给用户
HTTP协议
简要概述
HTTP是浏览器与web服务器之间的通信协议 是传递消息的规范和要求。
1900年提出的,当前版本是1.1
HTTP是用来将HTML文档从web服务器传输到web浏览器,是一个请求和响应的协议。客户端发出请求,服务端对请求给回应
HTTP使用可靠的TCP连接,默认端口为80
特点
支持浏览器或服务模式
浏览器向服务器提出请求时,只需要传送请求方法和请求路径
HTTP运行传输任意类型的对象
URL
统一资源定位符(网址),用来告诉Web 容器,浏览器所请求的资源(文件)的路径。例如:Schema://login:password@adress:port/path/to/resource/?query_string#fragment
Port 80
Login 用户名
Password 密码
Fragment 锚点 (实现页面内定位)
URL的编码
URL 只允许出现的字符是有限制的,URL 中path 开始允许直接出现[A-Z][a-z][0-9]
半角减号(-)、下划线句点(。)、波浪号(~)。其他字符均会被百分号编码(包括空格)
可以在burp里的decoder中进行编码与解码
解码:%+ASCII码十六进制
HTTP报文分析
HTTP请求由请求行 请求头 请求正文构成
请求行:方法,资源路径,协议/版本
请求头:从请求报文第二行开始到第一个空行为止的内容。其中包含很多字段
请求正文:请求头下面
请求方法:
GET 最常用的方法,通常用户请求服务器发送的某个资源。
POST 可以向服务器提交参数以及表单,包括文件流等
HEAD 与GET 方法类似,但在服务器响应中只返回首部
PUT 与GET 从服务器读取文档相反,PUT 方法会向服务器写入文档
TRACE 回显浏览器的请求
OPTIONS 请求Web 服务器告知其支持的各种功能DELETE
响应报文分析
响应报文由状态行 响应头 响应正文组成
状态行:协议/版本,状态代码,描述短语
响应报头
第二行开始到第一个空行为止的所有内容,其中包含了关于HTTP响应的重要字段。
响应正文
服务器返回资源的内容,即浏览器接收到的HTML 代码。
状态码
100~199 信息性状态码
200~299 成功状态码
300~399 重定向状态码
400~499 客户端错误状态码
500~599 服务器错误状态码
主要字段
Server 服务器指纹
Set-Cookie 向浏览器端设置Cookie
Last-Modified 服务器通过这个头信息告诉浏览器,资源的最后修改时间
Content-Length 请求正文长度
Location 重定向目标页面
Refresh 服务器通过Refresh头告诉浏览器定时刷新浏览器
更多推荐
所有评论(0)