Web攻击技术

时间:2023-03-08 22:42:17

Web攻击技术

1、针对Web的攻击技术

1.1、在客户端即可篡改请求

在Web应用中,从浏览器那接收到的Http的全部内容,都可以在客户端*地变更、篡改,所以Web应用可能会接收到与预期数据不相同的内容。
在Http请求报文内加载攻击代码,就能发起对Web应用的攻击。通过URL查询字段或表单、Http首部、Cookie等途径吧攻击代码传入,若这时Web应用存在安全漏洞,那内部信息就会遭到窃取,或被攻击者拿到管理权限。

1.2、针对Web应用的攻击模式
  • 以服务器为目标的主动攻击
    主动攻击是指攻击者通过直接访问Web应用,把攻击代码传入的攻击模式,具有代表性的攻击时SQL注入攻击和OS命令注入攻击。
  • 以服务器为目标的被动攻击
    被动攻击是指利用圈套策略执行攻击代码的攻击模式。在被动攻击过程中,攻击者不直接对目标Web应用访问发起攻击,具有代表性的攻击是跨站脚本攻击和跨站点请求伪造。
  • 利用用户的身份攻击企业内部网络
    利用被动攻击,可发起对原本从互联网上无法直接访问的企业内网等网络的攻击。

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

实施Web应用的安全对策可大致分为以下两部分:

  • 客户端的验证
  • Web应用端(服务端)的验证
    • 输入值验证
    • 输出值转义
2.1、跨站脚本攻击

跨站脚本攻击(Cross-Site Scripting,XSS)是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击。动态创建的HTML部分有可能隐藏着安全漏洞。
跨站脚本攻击有可能造成以下影响:

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

SQL注入(SQL Injection)是指针对Web应用使用的数据库,通过运行非法的SQL而产生的攻击。
SQL注入攻击有可能会造成以下等影响:

  • 非法查看或篡改数据库内的数据
  • 规避认证
  • 执行和数据库服务器业务关联的程序等
2.3、OS命令注入攻击

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

2.4、Http首部注入攻击

Http首部注入攻击(Http Header Injection)是指攻击者通过在响应首部字段内插入换行,添加任意响应首部或主体的一种攻击。向首部主体内添加内容的攻击称为Http响应截断攻击(Http Response Splitting Attack)。
Http首部注入攻击有可能会造成以下一些影响:

  • 设置任何Coookie信息
  • 重定向至任意URL
  • 显示任意的主体(Http响应截断攻击)
2.5、邮件首部注入攻击

邮件首部注入(Mail Header Injection)是指Web应用中的邮件发送功能,攻击者通过向邮件首部To或Subject内任意添加非法内容发起的攻击。利用存在安全漏洞的Web网站,可对任意邮件地址发送广告邮件或病毒邮件。

2.6、目录遍历攻击

目录遍历(Directory Traversal)攻击是指对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击。
通过 Web 应用对文件处理操作时,在由外部指定文件名的处理存在疏漏的情况下,用户可使用 …/ 等相对路径定位到/etc/passed等绝对路径上,因此服务器上任意的文件或文件目录皆有可能被访问到。这样一来,就有可能非法浏览、篡改或删除 Web 服务器上的文件。
固然存在输出值转义的问题,但更应该关闭指定对任意文件名的访问权限。

2.7、远程文件包含漏洞

远程文件包含漏洞(Remote File Inclusion)是指当部分脚本内容需要从其他文件读入时,攻击者利用指定外部服务器的URL充当依赖文件,让脚本读取之后,就可运行任意脚本的一种攻击。
这主要是 PHP 存在的安全漏洞,对 PHP 的 include 或 require 来说,这是一种可通过设定,指定外部服务器的 URL 作为文件名的功能。但是,该功能太危险,PHP5.2.0 之后默认设定此功能无效。
固然存在输出值转义的问题,但更应控制对任意文件名的指定。