第十一章、针对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的攻击技术的更多相关文章

  1. 针对Web的攻击技术

    主动攻击 SQL注入攻击 OS命令注入攻击 会话劫持 被动攻击 XSS攻击 CSRF攻击 HTTP首部注入攻击 会话固定攻击 一.主动攻击 1.SQL注入攻击(案例) 什么是SQL? SQL是用来操作 ...

  2. 《图解HTTP》阅读笔记--第七章---确保WEB安全的HTTPS

    第七章.确保WEB安全的HTTPSHTTP的缺点:通信使用明文(不加密),内容可能会被窃听 解决---加密处理: //将通信加密 :通过SSL(安全套接层)---HTTPS(超文本传输安全协议)--- ...

  3. 《图解HTTP》 第11章 web的攻击技术

    11.1 针对Web的攻击技术 简单的HTTP协议本身并不存在安全性问题,所以协议本身几乎不会成为攻击的对象. 11.1.1 HTTP不具备必要的安全功能 11.1.2 在客户端即可篡改请求 在HTT ...

  4. 《Linux内核设计与实现》第五周读书笔记——第十一章

    <Linux内核设计与实现>第五周读书笔记——第十一章 20135301张忻 估算学习时间:共2.5小时 读书:2.0 代码:0 作业:0 博客:0.5 实际学习时间:共3.0小时 读书: ...

  5. 图解HTTP——阅读笔记

    基础部分 第1章 了解Web及网络基础 重点了解HTTP协议在网络中的作用,扮演了什么角色,以及网络传输中相关的一些角色. 3项重要的web构建技术:HTML,URL,HTTP HTTP协议位于应用层 ...

  6. o'Reill的SVG精髓(第二版)学习笔记——第十一章

    第十一章:滤镜 11.1滤镜的工作原理 当SVG阅读器程序处理一个图形对象时,它会将对象呈现在位图输出设备上:在某一时刻,阅读器程序会把对象的描述信息转换为一组对应的像素,然后呈现在输出设备上.例如我 ...

  7. [计算机网络]图解HTTP阅读笔记

    总述 书的定位:一本十分浅显的HTTP书籍,主要介绍了HTTP与HTTPS.适合入门了解,很多地方都是蜻蜓点水,但稍微深入的地方能让人了解重点在哪,后面应该有针对性地阅读深入书籍. 主要内容:介绍了T ...

  8. [CSAPP笔记][第十一章网络编程]

    第十一章 网络编程 我们需要理解基本的客户端-服务端编程模型,以及如何编写使用因特网提供的服务的客户端-服务端程序. 最后,我们将把所有这些概念结合起来,开发一个小的但功能齐全的Web服务器,能够为真 ...

  9. 深入理解 C 指针阅读笔记 -- 第六章

    Chapter6.h #ifndef __CHAPTER_6_ #define __CHAPTER_6_ /*<深入理解C指针>学习笔记 -- 第六章*/ typedef struct _ ...

随机推荐

  1. $route路由

    <!DOCTYPE html><html ng-app="AngularApp"> <head> <meta charset=" ...

  2. ruby on rails 中render的

    Ruby rails页面跳转代码如下: 1.render(:text => string) 2.render(:inline => string, [:type => "r ...

  3. Python数据库(一)-Mysql数据库的连接

    首先需要安装pymysql模块 然后用pymysql连接mysql并执行命令来查看数据 连接mysql数据库后需要创建游标来执行SQL语句 # -*- coding:utf-8 -*- __autho ...

  4. 重新认识synchronized(上)

    synchronized在JDK5之前一直被称为重量级锁,是一个较为鸡肋的设计,而在JDK6对synchronized内在机制进行了大量显著的优化,加入了CAS,轻量级锁和偏向锁的功能,性能上已经跟R ...

  5. 2016.8.17服务器端数据库用户导入导出方法 expdp和impdp

    EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用. IMP只适用于EXP导出的 ...

  6. vsftpd 被动模式与主动模式

    vsftpd 被动模式与主动模式 VSFTP文件与目录/usr/sbin/vsftp vsftp的主程序/etc/rc.d/init.d/vsftp vsftp的启动脚本/etc/vsftpd/vsf ...

  7. jQuery实现页内锚点平滑跳转

    当页面内容长多,导致页面高度过高或过宽是,浏览起来就有点费劲,不过使用了锚点平滑跳转效果可以实现页面的跳转,从而加快速浏览想要浏览的模块.具体做法如下: 首先是菜单(锚点)的写法 <a href ...

  8. No result defined for action action.LoginAction and result success 问题解决

    转自:https://blog.csdn.net/dongzhout/article/details/43699699 搭建好SSH2框架,写一个简单的登陆功能,提交表单的时候遇到这个问题: 配置文件 ...

  9. [转]PHP部分常见算法

    1. 用户密码六位数,不能大于六位而不能小于六数,数字值正则为[0-9],请用PHP写出有几种可能性,并做暴力破解; function dePassword($pwd) { $tmp = array( ...

  10. Angular07 利用angular打造管理系统页面

    1 创建一个新的angular应用 ng new adminSystem 2 利用WebStorm打开adminSystem应用 3 借助AdminLTE这个开源项目来辅助开发 AdminLTE项目: ...