常见的Web攻击及防御办法 - 重学计算机网络系列(5)

Web攻击分类

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

web应用的攻击模式有以下两种

  • 主动攻击(主要攻击服务器上的资源)
    • SQL注入攻击
    • OS命令注入攻击
    • 其他
  • 被动攻击(主要攻击用户的资源和权限)
    • 跨站脚本攻击
    • 跨站点请求伪造
    • 点击劫持(与跨站请求伪造手法相似)
    • HTTP首部注入攻击
    • 其他

跨站脚本攻击(XSS)

跨站脚本攻击(XSS)是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击。动态创建的HTML部分有可能隐藏着安全漏洞。就这样,攻击者编写脚本设下陷阱,用户在自己的浏览器上运行时,一不小心就会受到被动攻击。目的:利用网站漏洞从用户那里恶意盗取信息

XSS攻击,通常指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。在一开始,这种攻击的演示案例是跨域的,所以叫做“跨站脚本”。但是发展到今天,由于JavaScript的强大功能以及网站前端应用的复杂化,是否跨域已经不再重要。但是由于历史原因,XSS这个名字却一直保留下来。

XSS分类

  • 反射型XSS(非持久型XSS)
  • DOM型XSS(非持久性XSS)
  • 存储型XSS(持久性XSS攻击)

反射型XSS

  • 攻击构造出特殊的 URL ,其中包含恶意代码。(这个恶意代码诸如第三方的JS或document.cookie等)
  • 用户被诱导打开带有恶意代码的 URL,服务器端将恶意代码从 URL 中取出当做参数处理,然后返回给用户带有恶意代码的数据。
  • 用户浏览器接收到响应解析执行,混在其中的恶意代码也被执行。
  • 恶意代码窃取用户敏感数据发送给攻击者,或者冒充用户的行为,调用目标网站接口执行攻击者指定的操作。

DOM型XSS

从效果上来说也是反射型XSS,单独划分出来,是因为DOM Based XSS的形成原因比较特别,发现它的安全专家专门提出了这种类型的XSS。出于历史原因,也就把它单独作为一个分类了。

  • 攻击者构造出特殊的 URL,其中包含恶意代码。
  • 用户被诱导打开带有恶意代码的 URL。
  • 用户浏览器接收到响应后解析执行,前端 JavaScript 取出 URL 中的恶意代码并执行。
  • 恶意代码窃取用户数据并发送到攻击者的网站,或者冒充用户的行为,调用目标网站接口执行攻击者指定的操作。

存储型XSS

存储型 XSS 跟 反射型 XSS 的区别是:存储型 XSS 的恶意代码存在服务器上,反射型 XSS 的恶意代码存在 URL 里。它是最危险的一种跨站脚本。比反射性 XSS 和 DOM 型 XSS 都更有隐蔽性,因为它不需要用户手动触发。任何允许用户存储数据的 Web 程序都可能存在存储型 XSS 漏洞。若某个页面遭受存储型 XSS 攻击,所有访问该页面的用户都会被 XSS 攻击。

  • 攻击者把恶意代码提交到目标网站的服务器中。
  • 用户打开目标网站,网站服务器端把带有恶意代码的数据取出,当做正常数据返回给用户。
  • 用户浏览器接收到响应解析执行,混在其中的恶意代码也被执行。
  • 恶意代码窃取用户敏感数据发送给攻击者,或者冒充用户的行为,调用目标网站接口执行攻击者指定的操作。

防御方法

  • 浏览器自带防御(X-XSS-Protection)
    HTTP X-XSS-Protection 响应头是 Internet Explorer,Ch
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值