《图解HTTP》笔记(三)构建Web、Web安全、HTTP追加协议
这部分内容作者写的比较浅,科普文目录HTMLCSS动态HTMLCGI(Comment Gateway Interface)通用网关接口ServletXMLRSS针对Web应用的攻击模式Web应用的安全策略跨站脚本攻击SQL注入攻击OS命令注入攻击HTTP首部注入攻击/HTTP响应截断攻击邮件首部注入攻击目录遍历攻击远程文件包含漏洞...
这部分内容作者写的比较浅,科普文
目录
CGI(Comment Gateway Interface)通用网关接口
CSS
层叠样式表,指定如何展示HTML内的各种元素,属于样式表标准之一。
动态HTML
调用客户端脚本语言JS,实现对Web的动态改造;利用DOM(文档对象模型)课指定要发生动态变化的HTML元素。
CGI(Comment Gateway Interface)通用网关接口
Web服务器在接收到客户端发送来的请求后转发给程序的一组机制
Servlet
改进的CGI;
因Java而普及;
解决CGI的问题的对抗技术
XML
可拓展标记语言;
与HTML相比,对数据记录方式方面做了特殊处理;
RSS
简易信息集合;
发布新闻或者博客日志信息等更新信息文档的格式总称;
比如CSDN博客上也有:
针对Web应用的攻击模式
- 主动攻击
攻击者直接访问Web应用,把攻击代码传入攻击模式;
SQL注入攻击;
OS命令攻击; - 被动攻击
利用圈套策略执行攻击代码的攻击模式;
Web应用的安全策略
-
客户端验证
-
Web应用(服务器端)验证
输入值验证;
输出值转义;
跨站脚本攻击(XSS)
-
在动态生成的HTML处发生
-
对用户的Cookie窃取和攻击
HTTP首部注入攻击/HTTP响应截断攻击
攻击者在响应首部字段内插入换行,添加任意响应首部或主体的一种攻击;
- 设置任何Cookie信息
- 重定向至任意URL
- 显示任意的主体
目录遍历攻击
对本无意公开的文件目录,通过非法阶段其目录路径后,达成访问目的的一种攻击;
远程文件包含漏洞
当部分脚本内容需要通过其他文件读入时,攻击者利用指定外部服务器的URL充当依赖文件,当脚本读入后,就可以运行任意脚本的一种攻击;
因设置或者设计上的缺陷引发的安全漏洞
- 强制浏览
浏览非自愿公开的文件 - 不正确的错误消息处理
Web应用抛出的错误消息;
数据库等系统抛出的错误消息 - 开放重定向
因会话框管理疏忽引发的安全漏洞
- 会话框劫持
- 会话框固定攻击
- 站点请求伪造
密码破解
- 穷举法
- 字典攻击
事先收集好候选密码
从已加密过的数据导出明文
- 通过穷举法/字典攻击法
- 彩虹表
由明文密码以及对应的散列值构成的一张数据库表,通过事先制造庞大的彩虹表; - 拿到密钥
- 加密算法的漏洞
Dos攻击
让运行中的服务器呈现停止状态
- 利用访问请求造成资源过载;
- 通过攻击安全漏洞使服务器停止
后门程序
- 开发阶段作为Debug调用的后门程序
- 开发者为了自身利益植入的后门程序
- 攻击者通过某种方法设置的后门程序
HTTP主要瓶颈
- 一条连接上只能发送一个请求
- 请求只能从客户端开始,客户端不能接受消除响应以外的指令;
- 请求/响应未经压缩就发送,首部信息越多延迟越大;
- 发送冗长的首部,浪费多;
- 可以任意选择数据压缩格式,非强制压缩发送;
消除HTTP瓶颈的SPDY
- 缩短Web页面加载时间(50%);
- 从协议级别消除HTTP所遇到的瓶颈;
- 在TCP/IP的应用层与运输层之间通过新家会话层的形式运作;
- 规定通信中使用SSL;
- 多路复用流,通过单一的TCP连接可以无限制处理多个HTTP请求,所有请求的处理都在一条TCP连接上完成,提高效率;
- 赋予请求优先级;
- 压缩HTTP首部;
- 推送功能,支持服务器主动向客户端推送数据的功能;
- 服务器提示功能,服务器主动提示请求所需的资源;
使用浏览器进行全双工通信的WebSocket
- 推送功能,支持服务器向客户端推送数据的功能;
- 减少通信量,只要建立起WebSocket连接,就希望一直保持连接状态
HTTP2.0:SPDY的升级版
-
新的二进制格式(Binary Format),HTTP1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。
-
多路复用(MultiPlexing),即连接共享,即每一个request都是是用作连接共享机制的。一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。
-
header压缩,如上文中所言,对前面提到过HTTP1.x的header带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。
-
服务端推送(server push),同SPDY一样,HTTP2.0也具有server push功能。
更多推荐
所有评论(0)