《图解HTTP》 第11章 web的攻击技术
11.1 针对Web的攻击技术
简单的HTTP协议本身并不存在安全性问题,所以协议本身几乎不会成为攻击的对象。
11.1.1 HTTP不具备必要的安全功能
11.1.2 在客户端即可篡改请求
在HTTP请求报文内加载攻击代码,就能发起Web应用的攻击。

11.2 因输出值转义不完全引发的安全漏洞
实施Web应用的安全对策大致分为两个部分:
客户端的验证
Web应用端(服务器端)的验证
- 输入值验证
- 输出值转义
多数情况下采用JavaScript在客户端验证数据,然而客户端允许篡改数据和关闭JavaScript。
11.2.1 跨站脚本攻击
跨站脚本攻击(Cross-Site Scripting,XSS)是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击。
可能的影响:
- 利用虚假输入表单骗取用户个人信息
- 利用脚本窃取用户的Cookie值,在被害者不知情的情况下,帮助攻击者发送恶意请求。
- 显示伪造的文章或图片
案例

如果图中用的是js脚本呢?(可获取用户的cookie或把密码信息定向发到攻击者手里)
11.2.2 SQL注入攻击
SQL注入攻击有可能会造成以下等影响:
- 非法查看或篡改数据库内的数据
- 规避认证
- 执行和数据库服务器业务关联的程序
11.2.3 OS命令注入攻击
OS命令注入攻击(OS Command Injection)是指通过Web应用,执行非法的操作系统命令来达到攻击的目的。只要在能调用Shell函数的地方就又存在被攻击的风险。
11.2.4 HTTP首部注入攻击
HTTP首部注入攻击(HTTPHeader Injection)是指攻击者通过在响应首部字段内插入换行,添加任意响应首部或主体的一种攻击。
可能的影响:
- 设置任何Cookie信息
- 重定向至任意URL
- 显示任意的主体(HTTP响应截断攻击)
11.2.5 邮件首部注入攻击
邮件首部注入(Mail Header Injection)是指Web应用中的邮件发送功能,攻击者通过向邮件首部To或Subject内任意添加非法内容发起的攻击。
11.2.6 目录遍历攻击
目录遍历(Directory Traversal)攻击是指对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击
11.3 因设置或设计上的缺陷引发的安全漏洞
11.3.1 强制浏览
强制浏览(Forced Browsing)安全漏洞是指,从安置在Web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。
可能的影响:
- 泄露顾客的个人信息等重要情报
- 泄露原本需要具有访问权限的用户才可查阅的信息内容
- 泄露未外连到外界的文件
文件目录一览
http://www.example.com/log/
容易被推测的文件名及目录名
http://www.example.com/entry/entry_081202.log
经认证才可显示的文件
直接通过URL访问原本必须经过认证才能在Web页面上使用的文件(HTML文件,图片,CSS等)

11.3.2 不正确的错误消息处理
- Web应用抛出的错误消息
- 数据库等系统抛出的错误消息


11.4 因会话管理疏忽引发的安全漏洞
会化管理用来管理用户状态的必备功能,但是如果在会话管理上有所疏忽,就会导致用户的认证状态被窃取等后果。
11.4.1 会话劫持
会话劫持(Session Hijack)就是利用非法手段获取用户ID,从而能够伪装成用户,来达到攻击的目的。

几种攻击者可获得会话ID的途径:
通过非正规的生成方法来推测会话ID
通过窃听或XSS攻击盗取会话ID
通过会话固定攻击(Session Fixation)强行获取会话ID
案例
利用Web网站存在可跨站攻击(XSS)的安全漏洞。

11.4.2 会话固定攻击
会话固定攻击(Session Fixation)会强制用户使用攻击者指定的会话ID,属于被动攻击。
案例

Session Adoption
Session Adoption是指PHP或ASP.NET能够接收处理未知会话ID的功能。
11.4.3 跨站点请求伪造
跨站点请求伪造(Cross-Site Request Forgeries,CSRF)攻击是指攻击者通过设置好的陷阱,强制已完成认证的用户进行非预期的个人信息等状态更新,属于被动攻击。
案例

11.5 其他安全漏洞
11.5.1 密码破解
密码破解攻击(Password Cracking)也就是算出密码,突破认证。
攻击不仅限于Web应用,还包括其他的系统(FTP,SSH)。
密码破解的手段:
通过网络的密码试错
对已加密密码的破解(指攻击者入侵系统,已获得加密或散列处理的密码数据的情况)
密码试错
穷举法,字典攻击(利用事先收集好的候选密码,如生日做密码的)
以加密密码的破解
Web应用在保存密码时,一般不会用保存明文的方法,通过散列函数或加salt的手段对要保存的密码本身加密。

从加密过的数据中导出明文的方法:
穷举法,字典攻击
彩虹表
拿到密钥
加密算法的漏洞
彩虹表
彩虹表(Rainbow Table)是由明文密码及与之对应的散列值构成的一张数据库表,可在穷举法字典攻击过程中缩短消耗时间的技巧。

11.5.2 点击劫持
点击劫持(Clickjacking)是指利用透明的按钮或链接做成陷阱,覆盖在Web页面智商。诱使用户在不知情下点链接来访问内容的攻击手段。
案例

11.5.3 Dos攻击
Dos攻击(Denial of Service attack)是一种让运行中的服务呈停止状态的攻击。
攻击方式:
集中利用访问请求造成资源过载,资源用尽的同时,实际上服务也就呈停止状态。
通过攻击安全漏洞使服务停止。

多台计算机发起的Dos攻击称为DDos攻击。
11.5.4 后门程序
3种类型:
开发阶段作为Debug调用的后门程序
开发者为了自身利益植入的后门程序
攻击者通过某种方法设置的后门程序
《图解HTTP》 第11章 web的攻击技术的更多相关文章
- 基于http的追加协议、构建web内容的技术、web的攻击技术(9,10,11)
第九章 基于http的追加协议 用来提升http的瓶颈,比如Ajax技术,spdy等 第十章 构建web内容的技术 html.css.js等 第十一章 web的攻击技术 比如sql注入攻击.xss等.
- 《图解HTTP》阅读笔记--第十一章针对web的攻击技术
第十一章.针对WEB的攻击技术 ----<图解HTTP>阅读笔记攻击目标---Web简单的HTTP协议本身并不存在安全性 问题,协议本身并不会成为被攻击的对象,应用HTTP的服务器和客户端 ...
- web的攻击技术
简单的http协议本身并不存在安全性问题,因此技术本身几乎不会成为攻击的对象,应用http协议的服务器和客户端,以及运行在服务器端web应用等资源才是攻击目标,那么怎么攻击,来源于哪里呢 web应用攻 ...
- 《图解Http》 10,11章:构建Web的技术, Web的攻击技术
10.2动态HTML 通过调用客户端脚本语言js,实现对web页面的动态改造.利用DOM文档对象模型,指定想发生变化的元素. 10.22 更容易控制的DOM 使用DOM可以将HTML内的元素当作对象操 ...
- Web的攻击技术笔记
HTTP不具备必要的安全功能,就是一个通用的单纯协议机制,比如远程登录时会用到的SSH协议来说,SSH具备协议级别的认证及回话管理等功能,HTTP协议则没有.另外在架设SSH服务方面,任何人都可以轻易 ...
- 针对Web的攻击技术
主动攻击 SQL注入攻击 OS命令注入攻击 会话劫持 被动攻击 XSS攻击 CSRF攻击 HTTP首部注入攻击 会话固定攻击 一.主动攻击 1.SQL注入攻击(案例) 什么是SQL? SQL是用来操作 ...
- HTTP通信安全和Web攻击技术
一.HTTPS,确保Web安全 在HTTP协议中可能存在信息窃听或身份伪装等安全问题,HTTP的不足: 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文 ...
- Web攻击技术
Web攻击技术 1.针对Web的攻击技术 1.1.在客户端即可篡改请求 在Web应用中,从浏览器那接收到的Http的全部内容,都可以在客户端自由地变更.篡改,所以Web应用可能会接收到与预期数据不相同 ...
- [flask/python/web] 解析flask web开发(Miguel著)一书第11章主页不显示博文表单的问题
---------------------------------------------以下内容2017.7.14更新---------------------------------------- ...
随机推荐
- jquery图片滚动
注:代码来自17sucai网,已去除部分冗余代码,只保留图片效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...
- 20M宽带的网速等价于多少?
最近有朋友问我:我家的宽带是20兆的,怎么网速这么慢? 运营商说的20M,完整的单位应该是20Mbps(bps:比特率),而日常中所说的下载速度单位是MB,两者是不一样的. 它们之间的换算关系是:1M ...
- Java基础知识强化82:Random类概述和方法使用
1. Random类 public class Random extends Object implements Serializable: 此类的实例用于生成伪随机数流.此类使用48位种子. (1) ...
- yii console.php 报错 Property "CConsoleApplication.theme" is not defined.
默认配置的话,是不会出现这个错误的,应该是有人为修改了 yiic.php 这个文件,本来是 $config 载入的应该是 console.php ,人为修改后载入了 main.php 这个配置文件了 ...
- HTTP调试 抓包 工具 Fiddle 简介 示例
简介 1.常用抓包工具对比: Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大.模拟http请求的功能也不够,且firebug常常是需要"无刷新修改",如果 ...
- FineUI初学手册
女朋友鄙视我原创少... 1.下载 进入官方论坛:http://www.fineui.com/bbs/ 要用到下载源代码和空项目下载 http://fineui.codeplex.com/ http: ...
- ARGB和RGB
ARGB 一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构. ARGB---Alpha,Red,Green,Blue. Alpha-图像通道 如果图形卡具有 ...
- ASP.Net中的编码与解码
当javascript传递的参数中有中文时,服务端获得的将是乱码,此时需要用到编码和解码 javascript中编码与解码的三种方法 escape方法返回一个可在所有计算机上读取的编码 String ...
- 你好,C++(30)“大事化小,小事化了”5.4.3 工资程序成长记:函数
5.4.3 工资程序成长记:函数 自从上次小陈“程序员”的工资程序得到老板的夸奖,口头许诺给他涨工资以后,老板再也没有找过他,涨工资的事自然也就没有下文了.这天,老板又突然召他去办公室.这下可把小陈高 ...
- jquery 获取 outerHtml 包含当前节点本身的代码
在开发过程中,jQuery.html() 是获取当前节点下的html代码,并不包含当前节点本身的代码,然后我们有时候确需要,找遍jQuery api文档也没有任何方法可以拿到. 看到有的人通过pare ...