11.1针对web的攻击技术
HTTP不具备必要的安全功能,从整体来看,HTTP就是一个通用的单纯协议机制,安全性比较弱
1、在客户端即可篡改请求
在WEB应用中从浏览器接收到的HTTP请求的全部内容都可以在客户端自由的变更、篡改。因此web引用可能接收到与预期数据不相同的内容;在HTTP请求报文内加载攻击代码就能对web应用发起对web应用的攻击,如下图。
2、攻击模式分类
【主动攻击】
【被动攻击】
主动攻击(active attack)主要是攻击者通过直接访问web应用把攻击代码传入的攻击模式。由于该模式是针对服务器上的资源进行攻击,因此攻击者需要能够访问那些资源,主动攻击模式中具有代表性的有SQL注入攻击和OS命令注入攻击
被动攻击(passive attack)是指利用圈套策略执行攻击代码的攻击模式。在被动攻击过程中,攻击者不直接对目标web应用访问发起攻击。
11.2因输出值转移不完全引发安全漏洞
实施web应用对策大致可以分为以下两种:
【客户端验证】
【web应用端(服务器端)的验证】:输入值验证、输出值转义
1、跨站脚本攻击
跨站脚本攻击(Cross-Site-Scripting,XSS)是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或者JavaScript进行的一种攻击。动态创建的HTML部分可能有隐藏的漏洞,这样攻击者编写脚本陷阱,用户在自己浏览器上运行时,一不小心就会受到被动攻击。该种攻击方式可能造成以下影响:
利用虚假输入表单骗取用户个人信息
利用脚本窃取cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求
显示伪造的文章或者图片
2、对用户Cookie的窃取攻击
通过js脚本窃取Cookie信息
3、SQL注入攻击
SQL注入是指针对Web应用使用的数据库,通过运行非法的SQL而产生的攻击。该安全隐患可能会导致个人信息及机密信息的泄露。由于We应用通常会使用到数据库,如果在调用数据库语句方式存在疏漏,就有可能被执行恶意注入
4、OS命令注入攻击
OS命令注释系统是指通过web应用执行非法的操作系统命令达到攻击的目的。可以从wen应用中通过shell来调用操作系统命令,倘若调用shell时存在疏漏就可以执行插入的非法OS命令,通过os注入攻击可以执行os上安装着的各种程序。
5、HTTP首部注入攻击
HTTP首部注入攻击是指攻击者通过响应首部字段内插入换行,添加任意响应首部或主体的一种攻击,属于被动式攻击。向首部主体添加内容的攻击方式称为HTTP响应截断攻击
6、HTTP响应截断攻击
HTTP响应截断攻击是HTTP首部注入攻击的一种,攻击顺序相同但是要将%0D%0A%0D%0A并排插入字符串后发送,利用这两个连续换行就可以做出HTTTP首部与主体分割所需的空行了,这样就能显示伪造的主体,达到攻击的目的。这样的攻击称作HTTP响应截断攻击。
7、邮件首部注入攻击
是指web应用中的邮件发送功能。攻击者通过向邮件首部To或者Subject内任意添加非法内容发起的攻击。
8、目录遍历攻击
对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击方式。这种攻击又称路径遍历攻击
9、远程文件包含漏洞
指当部分脚本内容需要从其他文件读入时,攻击者利用指定外部服务器的URL充当依赖文件,让脚本读取后,就可以运行任意脚本的一种攻击方式。(主要是PHP存在的安全漏洞)
11.3因设置上或设计缺陷引发的安全漏洞
主要是错误设置web服务器或者是由设计上的一些问题引起的安全漏洞。主要包括下面3个方面
1、强制浏览
强制浏览安全漏洞是指,从安置在web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。强制浏览可以造成诸如泄露顾客的个人信息等重要情报、泄露原本需要具有访问权限的用户才可以查阅的信息内容、泄露未连接到外界的文件
2、不正确的错误消息处理
指web应用的错误小心包含对攻击者有用的信息,包括Web应用抛出的错误消息、数据库等系统抛出的错误消息
3、开放重定向
指对任意URL作重定向跳转的功能。
11.4 因会话管理疏忽引发的安全漏洞
会话管理是用来管理用户状态的必备功能,但是如果在会话管理上有所疏忽,就会导致用户的认证状态被窃取等后果。
1、会话劫持
通过某种非法手段获得用户的ID,并非法使用此会话ID伪装成用户,达到攻击的目的。
2、会话固定攻击
对以窃取目标会话ID为主动攻击手段劫持而言,会话固定攻击(Session Fixation)攻击会强制用户使用攻击者指定的会话ID,属于被动攻击
3、跨站点请求伪造
指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或者设定信息等某些状态更新,属于被动攻击
11.5其他安全漏洞
密码破解攻击
点击劫持:指利用透明按钮或者链接做成陷阱,覆盖在Web页面之上,又称页面伪装。
dos攻击:是一种让运行中的服务呈现停止状态的攻击,又称服务器停止攻击或拒绝服务攻击。Dos攻击对象不仅限于Web网站还包括网络设备及服务器。主要有两种方式DoS:集中利用访问请求造成资源过载,资源用尽的同时实际服务也就呈现停止状态;通过攻击安全漏洞使服务停止。
后门程序:指开发设置的隐藏入口