2018-2019-2 20189212 《网络攻防技术》第五周作业

一、《网络攻防技术与实践》

第11章 Web应用程序安全攻防


一、Web应用程序体系结构及其安全威胁

1.Web应用体系结构

2.Web应用安全威胁

  • 针对浏览器和终端用户的Web浏览安全威胁,如网页木马,Phishing网站钓鱼
  • 针对传输网络的网络协议安全威胁
  • 系统层安全威胁
  • Web服务器软件安全威胁
  • Web应用程序安全威胁
  • Web数据安全威胁

二、Web应用安全攻防技术概述

1.Web应用的信息收集
  与系统和网络攻击类似,针对Web应用的攻击也需要首先进行信息情报的收集,对目标Web应用服务进行发现与剖析,标识出它的基本轮廓,具体包括服务器域名、IP地址和虚拟IP地址,Web服务器端口与其他开放服务,Web站点类型和版本,Web应用程序类型与版本,以及Web服务器和Web应用程序中存在的安全漏洞信息等。

  • 手工审查Web应用程序结构与源代码
  • 自动下载与镜像Web站点页面
  • 使用Google Hacking技术审查与探测Web应用程序
  • Web应用程序安全评估与漏洞探测

2.攻击Web服务器软件
  Web服务器软件作为Web应用的层载体,也成为攻击者对Web应用实施攻击的首要目标之一。

  • 数据驱动的远程代码执行安全漏洞
  • 服务器功能扩展模块漏洞
  • 样本文件安全漏洞
  • 源代码泄露
  • 资源解析攻击

3.攻击Web应用程序
  在Web应用各个层次上,目前安全最薄弱的环节在于Web应用程序。在2004年发布的《WASC Web安全威胁分类v1.0》将Web应用程序安全威胁从攻击技术角度分为如下6类。
(1)针对认证机制的攻击:针对用来确认用户、服务或应用身份机制的攻击手段,包括暴力枚举、利用认证机制不完善弱点、攻击口令恢复验证机制等;
(2)授权机制的攻击:针对用来确认用户、服务或应用是否具有执行请求动作必须权限限制的攻击手段,包括信任/会话预测、利用授权机制不完善弱点、利用会话失效机制不完善弱点、会话身份窃取攻击等;
(3)客户端攻击:扰乱或者渗透攻击Web站点客户端用户的攻击手段,包括内容欺骗、跨站脚本攻击等;
(4)命令执行攻击:在Web站点上执行远程命令的攻击手段,包括缓冲区溢出、格式化字符串、LDAP注入、操作系统命令注入、SQL注入、SSI注入等;
(5)信息暴露:获取Web站点具体系统信息的攻击手段,包括目录枚举、信息泄露、路径遍历、资源位置可预测等;
(6)逻辑攻击:扰乱或者渗透攻击Web应用逻辑流程的攻击手段,包括功能滥用、拒绝服务攻击、对抗自动程序不完善、处理验证过程不完善等。
下图是在2010年最新发布的《WASC Web安全威胁分类v2.0》文档中安全威胁列举:

4.攻击Web数据内容

  • 安全敏感数据泄露
  • 网站篡改
  • 不良信息内容上传

5.Web应用安全防范措施

  • Web站点网络传输安全设防措施
    (1)尽量使用HTTPS来保障Web站点传输时的保密性、完整性与身份真实性,至少要对登录过程进行加密保护
    (2)通过加密的连接通道来官网Web站点,避免使用未经加密的telnet、FTP、HTTP来进行Web后台管理,而使用SSH、SFTP等安全协议。
    (3)对关键的Web服务器,设置静态绑定MAC-IP映射,在服务网段内进行ARP等各类欺骗攻击的检测与MAC封禁机制,在网关位置部署防火墙与入侵检测系统对Web服务器实施保护与安全检测,采用冗余等机制来应对拒绝服务攻击。
  • Web站点操作系统及服务安全设防措施
  • Web应用程序安全设防措施
  • Web站点数据安全设防措施

三、SQL注入

代码注入根据攻击目标的不同又分为:

  • 恶意读取、修改与操纵数据库的SQL注入攻击;
  • 在Web服务器端安装、执行Webshell等恶意脚本的PHP注入或ASP注入攻击;
  • 在Web服务器恶意执行操作系统命令的Shell注入攻击;
  • 其他多种多样的注入攻击,如LDAP注入、邮件命令注入、空字节注入、SSI注入、XPath注入、XML注入、XQuery注入等。
    在这多种类型的代码注入攻击中,SQL注入是目前最常见的,也是较为直观的一种攻击技术。

1.SQL注入攻击原理
  SQL注入是利用Web应用程序数据层存在的输入验证不完善型安全漏洞实施的一类代码注入攻击技术。这类被攻击的漏洞被称为SQL注入漏洞,是由于用于输入没有被正确地过滤以消除SQL语言中的字符串转义字符,如引号(')、双引号(")、反引号(`)、分号(;)、百分号(%)、井号(#)、双减号(--)、双下画线(__)等,或者没有进行严格的类型判断,如未判断输入参数是否合法整数类型等,从而使得用户可以输入并执行一些非预期的SQL指令代码。
  SQL注入攻击的原理是向Web应用程序提供的用户输入接口输入一段精心构造的SQL查询命令,攻击和利用不完善的输入验证机制,使得注入代码得以执行完成非预期的攻击操作行为。
2.SQL注入攻击步骤和过程
  在攻击者真正对万维网的一些Web应用站点实施SQL注入攻击等,往往是按照如下的攻击步骤与过程。
(1)发现SQL注入点
(2)判断后台数据库类型

  • 利用数据库服务器的系统变量进行判断
  • 利用数据库服务器的系统变量进行判断
  • 利用数据库服务器的系统表进行判断

(3)后台数据库中管理员用户口令字猜解

  • 猜解表名
  • 猜解字段名
  • 用户名与口令猜解

(4)上传ASP后门,得到默认账户权限
(5)本地权限上升
(6)利用数据库扩展存储过程执行Shell命令
3.SQL注入攻击工具
国外工具:
  Wposion能够在动态Web文档中找出SQL注入漏洞;wieliekoek.pl能够以并以网站镜像工具生成的输出为输入,找出含有表单页面,允许在配置文件中对注入字符串进行修改,进行SQL注入漏洞探测;SPIKE Proxy工具允许使用则对待注入的字符串进行定制,并执行自动化的SQL注入测试;SPI Tooklit工具包中也包含一个名叫“SQL Injector”的自动化SQL注入测试工具。
国内工具:
  CSC、NBSI、HDSI、阿D注入工具、WED、Domain、Pangolin等
4.SQL注入攻击防范措施
(1)使用类型安全的参数编码机制
(2)凡是来自外部的用户输入,必须进行完备检查
(3)将动态SQL语句替换为存储过程、预编译SQL或ADO命令对象
(4)加强SQL数据库服务器的配置与连接

四、XSS跨站脚本攻击

  XSS攻击的根源同样是Web应用程序对用户输入内容的安全验证与过滤不够完善,在许多流行的Web论坛、博客、留言本及其他允许用户交互的Web应用程序中,用户提交内容中可以包含HTML、JavaScript及其他脚本代码,而一旦Web应用程序没有对这些输入的合法性进行有效检查与过滤,就很有可能让这些恶意代码逻辑包含在服务器动态产生或更新的网页中。
  而与代码注入不同的是,XSS攻击的最终目标并非Web服务器,Web服务器上的应用程序在XSS攻击场景中发挥的角色是“帮凶”,而非“受害者”,真正的“受害者”则是访问这些Web服务器的其他用户。攻击者可以利用Web应用程序中的安全漏洞,在服务器端网页中插入一些恶意的客户端脚本代码,在Web服务器上产生一些恶意攻击页面。
XSS攻击类型:持久性XSS攻击和非持久性XSS攻击
XSS攻击步骤:
(1)攻击者构造出一个包含恶意脚本的bank.com登录请求链接,并通过Email/HTTP等方式将该攻击链接发送给其他bank.com网站用户;
(2)受害用户点击攻击链接后,将会把恶意链接中包含的恶意脚本当做用户名参数提交给bank.com的登录处理网页;
(3)由于bank.com登录处理页面存在XSS漏洞,将会在反馈的欢迎页面中包含恶意客户端脚本;
(4)攻击者的恶意客户端脚本在受害用户浏览器中执行,通常会驱动浏览器向攻击者发送会话令牌,如会话ID、Cookie信息等;
(5)攻击者获得用户会话令牌之后,就可以劫持用户会话,或者伪造用户登录bank.com,并可实施进一步攻击。

XSS攻击防范措施

  • 输入验证
  • 输出净化
  • 消除危险的输入点

第12章 Web浏览器安全攻防


1.Web浏览器的技术发展与安全威胁

现代浏览器的基本结构与机理

Web浏览器软件的安全困境三要素
(1)复杂性:现代浏览器软件的复杂性意味着更多的错误和安全缺陷,也就导致了目前浏览器软件中存在着可被渗透攻击所利用的大量安全漏洞。
(2)可扩展性:现代Web浏览器可能最突出可扩展特性支持的软件类型,目前几乎所有的现代浏览器软件都支持第三方插件扩展机制。而第三方扩展插件的开发过程缺乏安全保证,出现安全漏洞的情况更为普遍。
(3)连通性:现代Web浏览器本身就是为用户实现“随时随地浏览互联网”这一目标而存在的,因此浏览器软件始终工作在联网状态,一旦其中存在安全漏洞,就很容易被网络上的威胁源所利用与攻击。
Web浏览安全威胁位置

  • 针对传输网络的网络协议安全威胁
  • 针对Web浏览端系统平台的安全威胁
  • 针对Web浏览器软件及插件程序的渗透攻击威胁
  • 针对互联网用户的社会工程学攻击威胁

2.Web浏览器的渗透攻击威胁——网页木马

网页木马存在的技术基础——Web浏览端安全漏洞
网页木马的特性:
(1)网页木马所攻击的安全漏洞的存在位置非常多样化。
(2)除了微软操作系统平台软件本身的安全漏洞之外,网页木马近年来也在不断地发掘和利用其它流行应用软件中的安全漏洞。
(3)一些影响范围广的安全漏洞。

网页木马的机理分析

  • 网页木马的定义特征
      通过对网页木马起源背景和存在技术基础的分析,我们可以认知到网页木马从本质特征上利用了现代Web浏览器软件中所支持的客户端脚本执行能力,针对Web浏览端软件安全漏洞实施客户端渗透攻击,从而取得在客户端主机的远程代码执行权限来植入恶意程序。
  • 网页木马的本质核心——浏览器渗透攻击
    网页木马的本质核心是利用Web浏览端软件安全漏洞的渗透攻击代码。
  • 网页挂马机制
    (1)内嵌HTML标签
    (2)恶意Script脚本
    (3)内嵌对象链接
    (4)ARP欺骗挂马
  • 混淆机制
    除了引入中间跳转节点进行嵌套链接,并集成多种渗透攻击代码之外,网页木马攻击网络中往往采用了大量的混淆技术,来对抗反病毒软件的检测,并提高反病毒工程师的分析难度,从而使得网页木马攻击网络更难被检测和摧毁,这些混淆技术也被称为“免杀”。

3.网页木马的检测与分析技术

  • 基于特征码匹配的传统检测方法
  • 基于统计与机器学习的静态分析方法
  • 基于动态行为结果判定的检测分析方法
  • 基于模拟浏览器环境的动态分析检测方法

二、

四《python 黑帽子》

  第四章码云链接

猜你喜欢

转载自www.cnblogs.com/heyzero/p/10611550.html