针对Web的攻击技术
简单的HTTP协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象。应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源才是攻击目标。
目前,来自互联网的攻击大多都是冲着Web站点来的,它们大多把Web应用作为攻击目标。
HTTP不具备必要的安全功能
现今的Web网站应用的HTTP协议的使用方式已发生翻天覆地的变化。几乎所有的Web网站都会使用会话(session)管理、加密处理等安全性方面的功能,而HTTP协议内并不具备这些功能。因此,开发者需要自行设计并开发认证及会话管理功能来满足Web应用的安。而自行设计就意味着会出现各种形形色色的实现。结果安全等级并不完备,可仍在运作的Web应用背后却隐藏着各种容易被攻击者滥用的安全漏洞的BUG。
在客户端即可篡改请求
在HTTP请求报文内加载攻击代码,就能发起对Web应用的攻击。通过URL查询字段或表单、HTTP首部、Cookie等途径吧攻击代码传入,若这时Web应用存在安全漏洞,那内部信息就会遭到窃取,或被攻击者拿到管理权限。
针对Web应用的攻击模式
主要分为:1.主动攻击。2.被动攻击。
- 以服务器为目标的主动攻击:指攻击者通过直接访问Web应用,把攻击代码传入的攻击模式。主动攻击模式中具有代表性的攻击是SQL注入攻击和OS命令注入攻击。
-
以服务器为目标的被动攻击:指利用圈套策略执行攻击代码的攻击模式。被动攻击通常的攻击模式如下:
被动攻击模式中具有代表性的攻击是跨战脚本攻击和跨战请求伪造。 image.png
步骤 1: 攻击者诱使用户触发已设置好的陷阱, 而陷阱会启动发
送已嵌入攻击代码的 HTTP 请求。
步骤 2: 当用户不知不觉中招之后, 用户的浏览器或邮件客户端
就会触发这个陷阱。
步骤 3: 中招后的用户浏览器会把含有攻击代码的 HTTP 请求发
送给作为攻击目标的 Web 应用, 运行攻击代码。
步骤 4: 执行完攻击代码, 存在安全漏洞的 Web 应用会成为攻
击者的跳板, 可能导致用户所持的 Cookie 等个人信息被窃取,
登录状态中的用户权限遭恶意滥用等后果。
因输出值转义不完全引发的安全漏洞
实施Web应用的安全对策可大致分为以下两部分:
- 客户端的验证
- Web应用端(服务器端)的验证
- 输入值验证
- 输出值转义 image.png
跨站脚本攻击
跨战脚本攻击(XSS)是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JS进行的一种攻击。
跨站脚本攻击有可能会造成一下影响:
- 利用虚假输入表单骗取用户个人信息
- 利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求
- 显示伪造的文章或图片
XSS是攻击者利用预先设置的陷阱触发的被动攻击。
SQL注入攻击
- 会执行非法SQL的SQL注入攻击:SQL注入是指针对Web应用使用的数据库,通过运行非法的SQL而产生的攻击。
OS命令注入攻击
OS命令注入攻击是指通过Web应用,执行非法的操作系统命令达到攻击的目的。只要再能调用Shell函数的地方就有存在被攻击的风险。
HTTP首部注入攻击
是指攻击者通过在相应首部字段内插入换行,添加任意响应首部或主体的一种攻击。向首部主体内添加内容的攻击称为HTTP响应截断攻击。
HTTP首部注入攻击有可能会造成一下一些影响:
- 设置任何的Cookie信息
- 重定向至任意URL
- 显示任意的主体(HTTP响应截断攻击)
因会话管理疏忽引发的安全漏洞
会话劫持
是指攻击者通过某种手段拿到了用户的会话ID,并非法使用此会话ID伪装成用户,达到攻击的目的。
以下列举了几种攻击者可获得会话ID的途径:
- 通过非正规的生成方法推测会话ID
- 通过窃听或XSS攻击盗取会话ID
- 通过会话固定攻击强行获取会话ID
会话固定攻击
会强制用户使用攻击者指定的会话ID,属于被动攻击。
跨站点请求伪造
是指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于被动攻击。
网友评论