《图解HTTP》阅读笔记--第十一章针对web的攻击技术
第十一章、针对WEB的攻击技术
----《图解HTTP》阅读笔记
攻击目标---Web
简单的HTTP协议本身并不存在安全性 问题,协议本身并不会成为被攻击的对象,应用HTTP的服务器和客户端,以及运行在服务器上的web应用才是被攻击的目标。
攻击漏洞:
1、HTTP不具备必要的安全技术,(不像远程登录使用的SSH可以构建安全等级高的服务):即使HTTP以及架设好服务器,但是在其上搭建Web应用时又需要重新自己搭载认证和回话管理功能,此时在用户自行设计重新搭载的过程中隐藏很多安全漏洞可以攻击。
2、在客户端篡改请求:web服务器在等待服务器回应时,请求经过客户端时客户端可以自由修改返回的报文,返回报文可能包含了恶意的攻击信息(通过URI查询字段、表单、HTTP首部或cookie等途径传入攻击代码),那么攻击者就会收到内部信息或管理权限。
攻击模式:
1、主动攻击:针对服务器上的资源信息,通过直接访问Web应用把攻击代码传入的攻击模式。
代表:SQL注入攻击和OS命令注入
2、被动攻击:不直接通过WEB应用发起攻击,而是利用圈套策略执行攻击代码的攻击模式。
安全对策
1、客户端的验证:不合适做安全防范对策,只是为了尽早辨识输入错误,提高UI体验。
2、Web应用端(服务器端)的认证:
--输入值验证:检查是否符合系统业务逻辑的数值或检查字符编码等预防对策
--输出值转义:指从数据库、HTML、文件系统、邮件等地方输出Web应用数据之际转义输出数据。这是一项至关重要的安全对策,转义不完全会触发攻击者传入的攻击代码,损害输出对象。、
验证数据的地方:
客户端(验证);——HTTP请求——Web应用端(验证){输入&处理&输出};-——HTTP响应&访问DB&访问文件系统
-------------------------------------------------------------------------------------------------------------------
跨站脚本攻击XSS——通过在存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML或JavaScript进行的一种攻击
1、利用虚假输入表单骗取用户个人信息。(创建嵌入恶意URI代码的页面---欺诈网页/欺诈邮件)
2、利用脚本窃取用户的Cookie值,使用户在不知情的情况下,帮助攻击者发送恶意请求。
3、显示伪造的文章或图片
SQL注入攻击——针对Web应用使用的数据库,通过运行非法的SQL而产生的攻击。
1、非法查看或篡改数据库内的数据,例如加入"--"SQL注释掉后面的命令数据
2、规避认证
3、执行和数据库带我去业务关联的程序等
OS命令注入攻击——指通过web应用,执行非法的操作系统命令达到攻击的目的
(注意:只要在能使用shell命令的地方都存在风险),OS命令注入攻击通过OS命令注入可以执行OS上安装的程序。
HTTP首部注入攻击——攻击者在HTTP首部字段内插入换行,添加任意响应首部或主体的一种攻击(被动攻击模式)
BTW,向HTTP首部添加内容的攻击称为HTTP响应截断攻击。Web应用有时会把从外部接收到的数值赋给响应字段Location和Set-Cookie。
1、设置任何Cookie信息
2、定向到任意URI
3、显示任意的主体(HTTP响应截断攻击)
HTTP响应截断攻击
在HTTP首部字段内并排插入两个换行符字符串(%0D%0A%0D%0A)后发送,制造出一个首部和主体分割的空行来伪造主体。
邮件首部注入攻击:
在Web应用的邮件发送功能中,通过向邮件首部To或Subject内任意添加非法内容来攻击,以发送广告邮件或病毒邮件。
目录遍历攻击/路径遍历攻击:
通过非法截断目录路径,访问本无意公开的文件目录的一种攻击。
远程文件包含漏洞:
指当部分脚本内容需要从其他文件读入时,利用外部服务器的URL充当依赖文件,脚本读取后就可以运行任意脚本的攻击。(主要是PHP存在的漏洞:PHP的include和required可以设定指定外部服务器URL作为文件名)
---------------------------设计缺陷类安全漏洞
强制浏览
不正确的错误消息处理
开放重定向
---------------------------会话管理疏漏类安全漏洞
会话劫持
会话固定攻击跨站点请求伪造
------------------------------其他
密码破解:
1、通过网络的密码试错(穷举法/字典攻击)
2、对已加密密码的破解(通过密码试错进行类推/彩虹表/拿到密钥/加密算法的漏洞)
点击劫持(透明的按钮或按键)
Dos攻击/服务停止攻击/拒绝服务攻击(集中大量访问请求/安全漏洞)
后门程序
《图解HTTP》阅读笔记--第十一章针对web的攻击技术的更多相关文章
- 针对Web的攻击技术
主动攻击 SQL注入攻击 OS命令注入攻击 会话劫持 被动攻击 XSS攻击 CSRF攻击 HTTP首部注入攻击 会话固定攻击 一.主动攻击 1.SQL注入攻击(案例) 什么是SQL? SQL是用来操作 ...
- 《图解HTTP》阅读笔记--第七章---确保WEB安全的HTTPS
第七章.确保WEB安全的HTTPSHTTP的缺点:通信使用明文(不加密),内容可能会被窃听 解决---加密处理: //将通信加密 :通过SSL(安全套接层)---HTTPS(超文本传输安全协议)--- ...
- 《图解HTTP》 第11章 web的攻击技术
11.1 针对Web的攻击技术 简单的HTTP协议本身并不存在安全性问题,所以协议本身几乎不会成为攻击的对象. 11.1.1 HTTP不具备必要的安全功能 11.1.2 在客户端即可篡改请求 在HTT ...
- 《Linux内核设计与实现》第五周读书笔记——第十一章
<Linux内核设计与实现>第五周读书笔记——第十一章 20135301张忻 估算学习时间:共2.5小时 读书:2.0 代码:0 作业:0 博客:0.5 实际学习时间:共3.0小时 读书: ...
- 图解HTTP——阅读笔记
基础部分 第1章 了解Web及网络基础 重点了解HTTP协议在网络中的作用,扮演了什么角色,以及网络传输中相关的一些角色. 3项重要的web构建技术:HTML,URL,HTTP HTTP协议位于应用层 ...
- o'Reill的SVG精髓(第二版)学习笔记——第十一章
第十一章:滤镜 11.1滤镜的工作原理 当SVG阅读器程序处理一个图形对象时,它会将对象呈现在位图输出设备上:在某一时刻,阅读器程序会把对象的描述信息转换为一组对应的像素,然后呈现在输出设备上.例如我 ...
- [计算机网络]图解HTTP阅读笔记
总述 书的定位:一本十分浅显的HTTP书籍,主要介绍了HTTP与HTTPS.适合入门了解,很多地方都是蜻蜓点水,但稍微深入的地方能让人了解重点在哪,后面应该有针对性地阅读深入书籍. 主要内容:介绍了T ...
- [CSAPP笔记][第十一章网络编程]
第十一章 网络编程 我们需要理解基本的客户端-服务端编程模型,以及如何编写使用因特网提供的服务的客户端-服务端程序. 最后,我们将把所有这些概念结合起来,开发一个小的但功能齐全的Web服务器,能够为真 ...
- 深入理解 C 指针阅读笔记 -- 第六章
Chapter6.h #ifndef __CHAPTER_6_ #define __CHAPTER_6_ /*<深入理解C指针>学习笔记 -- 第六章*/ typedef struct _ ...
随机推荐
- Jenkins关闭、重启,Jenkins服务的启动、停止方法。
一.Jenkins关闭.重启 1.关闭Jenkins 只需要在访问jenkins服务器的网址url地址后加上exit,关闭Jenkins服务. 例如:http://localhost:8081/ex ...
- Cassandra 学习二
Cassandra的架构 Cassandra的设计目的是处理跨多个节点的大数据工作负载,而没有任何单点故障.Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间. 1 ...
- maven 学习 十 关于打包
clean package -Dmaven.test.skip=true -P product 这个命令干的活: 清class文件,打包构建,跳过测试,注意最后一个 -P product, 会激活项目 ...
- c# 设置水印,消除水印
方案1: 图像处理 opencv etc 方案2: 开源框架,直接使用,已经优化 https://github.com/itext/itextsharp https://github.com/itex ...
- MyBatis----延迟加载demo
一:创建数据库脚本drop table project_info; drop table status; create table status( id number(10) primary key, ...
- 10-13C#语句(1)
C#语句:判断.循环.形成程序的分支和循环 1.语句分类 1)顺序语句 2)分支语句 3)循环语句 2.语句 选择控制:if,else,switch,case 循环控制:while,do,for,fo ...
- Delphi 询问框 汉化
Delphi 询问框 汉化 d:\program files (x86)\embarcadero\studio\17.0\source\fmx\FMX.Consts.pas add this file ...
- DAY12-前端之CSS
CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 CSS实例 ...
- (修改)oracle11g监听多台主机配置,用pl/sql连接操作多个数据库详解
很多朋友在开发项目中并不是每个人用一个数据库,而是有单独的一台主机作为开发的数据库服务器,这样,就需要我们的开发人员去连接它. 首先是进入oracle的 Net Mananger:
- Hbase批量插入优化记录
2016年5月11日10:08:29 hbase原本的put方式是一条一条的put,在客户端修改 AutoFlush 将HTable的setAutoFlush设为false,可以支持客户端批量更新.即 ...