图解HTTP——Web的攻击技术(学习记录13)

互联网上的攻击大都将Web站点作为目标。

简单的HTTP协议本身不存在安全性问题,因此协议本身几乎不会成为攻击的对象。应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源才是攻击目标。

对Web应用的攻击模式有以下两种:

  • 主动攻击
  • 被动攻击 

主动攻击指攻击者通过直接访问Web应用,把攻击代码传入的攻击模式。主动攻击模式里具有代表性的攻击是SQL注入攻击和OS命令注入攻击。

被动攻击是指利用圈套策略执行攻击代码的攻击模式。在被动攻击过程中,攻击者不直接对目标Web应用反问发起攻击。被动攻击模式中具有代表性的攻击是跨站脚本攻击和跨站请求伪造。


因输出值转义不完全引发的安全漏洞

多数情况下采用JavaScript在客户端验证数据。Web应用端的输入值验证按Web应用内的处理则可能被误认为是具有攻击性意义的代码。输入值验证通常是指是否是符合系统业务逻辑的数值或检查字符编码等预防对策。当输出值转义不完全时,会因触发攻击者传入的攻击代码,而给输出对象带来损害。


跨站脚本攻击(XSS)是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击。跨站脚本攻击有可能造成以下影响:

  • 利用虚假输入表单骗取用户个人信息
  • 利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求
  • 显示伪造的文章或图片


SQL注入攻击指对Web应用使用的数据库通过运行非法的SQL而产生的攻击(SQL注入是攻击者将SQL语句改变成开发者意想不到的形式以达到破坏结构的攻击)。SQL注入攻击有可能会造成以下等影响:

  • 非法查看或篡改数据库内的数据
  • 规避认证
  • 执行和数据库服务器业务相关的程序等

SQL是用来操作关系型数据库管理系统(RDBMS)的数据库语言,可进行操作数据或定义数据等。


OS命令注入攻击(OS Command Injection)是指通过Web应用,执行非法的操作系统命令达到攻击的目的。只要在能调用Shell函数的地方就有存在被攻击的风险。(通过OS注入攻击可执行OS上安装着的各种程序)

HTTP首部注入攻击(HTTP Header Injection)是指攻击者通过这响应首部字段内插入换行,添加任意响应首部或主体的一种攻击,属于被动攻击模式。向首部主体内添加内容的攻击称为HTTP响应截断攻击。

HTTP首部注入攻击有可能会造成以下一些影响:

  • 设置任何的Cookie信息
  • 重定向至任意URL
  • 显示任意的主体(HTTP响应截断攻击)

邮件首部注入攻击是指Web应用中的邮件发送功能,攻击者通过向邮件首部To或Subject内的任意添加非法内容发起的攻击。

目录遍历攻击是指对本无意公开的文件目录,通过非法截断其目录路径后,达到访问目的的一种攻击。这种攻击也称为路径遍历攻击。

远程文件包含漏洞是指当部分脚本内容需要从其他文件读入时,攻击者利用指定外部服务器的URL充当依赖文件,让脚本读取之后,就可运行任意脚本的一种攻击。


因设置或设计上的缺陷引发的安全漏洞

强制浏览安全漏洞是指从安置在Web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。强制浏览有可能会造成以下一些影响:

  • 泄露顾客的个人信息等重要情报
  • 泄露原本需要具有访问权限的用户才可查阅的信息内容
  • 泄露未外连到外界的文件

不正确的错误消息处理的安全漏洞是指,Web应用的错误信息内包含对攻击者有用的信息。与Web应用有关的主要错误信息如下所示:

  • Web应用抛出的错误消息
  • 数据库等系统抛出的错误消息

系统抛出的错误主要集中在以下几个方面:

  • PHP或ASP等脚本错误
  • 数据库或中间件的错误
  • Web服务器的错误

开放重定向是一种对指定的任意URL作重定向跳转的功能。而与此功能相关联的安全漏洞是指,加入指定的重定向URL到某个具有恶意的Web网站,那么用户就会被诱导至那个Web网站。


因会话管理疏忽引发的安全漏洞

会话劫持是指攻击者通过某种手段拿到了用户的会话ID,并非法使用此回话ID伪装成用户,达到攻击的目的。攻击者可获得会话ID的途径:

  • 通过非正规的生成方法推测会话ID
  • 通过窃听或XSS攻击盗取会话ID
  • 通过会话固定攻击强行获取会话ID

对以窃取目标会话ID为主动攻击手段的会话劫持而言,会话固定攻击会强制用户使用攻击者指定的会话ID,属于被动攻击。

跨站点请求伪造攻击是指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于主动攻击。跨站点请求伪造有可能会造成以下等影响:

  • 利用已通过认证的用户权限更新设定信息等
  • 利用已通过认证的用户权限购买商品
  • 利用已通过认证的用户权限在留言板上发表言论


其他安全漏洞

密码破解攻击即酸楚密码,突破认证。

密码破解有以下两种手段:

  • 通过网络的密码试错
  • 对已加密密码的破解(指攻击者入侵系统,已获得加密或散列处理的密码数据的情况)

通过网络的密码试错:

1、穷举法

      穷举法又称暴力破解法,是指对所有密钥集合构成的密钥空间进行穷举,即,用所有可行的候选密码对目标的密码系统试错,用以突破验证的一种攻击。

2、字典攻击

       字典攻击是指利用视线收集好的候选密码,枚举字典中的密码,尝试通过认证的一种攻击手法(攻击的成败取决于字典的内容)。

对已加密密码的破解:

从加密过的数据中导出明文通常有以下几种方法:

  • 通过穷举法、字典攻击进行类推
  • 彩虹表
  • 拿到密钥
  • 加密算法的漏洞


点击劫持是指利用透明的按钮或链接做成陷阱,覆盖在Web页面之上,然后诱导用户在不知情的情况下,点击那个链接访问内容的一种攻击手段,这种行为又称为界面伪装。

DoS攻击是一种让运行中的服务呈停止状态的攻击。有时也叫做服务停止攻击或拒绝服务攻击。主要有以下两种DoS攻击方式:

  • 集中利用访问请求造成资源过载,资源用尽的同时,实际上服务业就呈停止状态
  • 通过攻击安全漏洞使服务停止

后门程序是指开发设置的隐藏入口,可不按正常步骤使用受限功能。利用后门程序就能够使用原本受限制的功能。通常的后门程序分为以下3种类型:

  • 开发阶段作为Debug调用的后门程序
  • 开发者为了自身利益植入的后门程序
  • 攻击者通过某种方法设置的后门程序


猜你喜欢

转载自blog.csdn.net/zmeilin/article/details/80809007