关于Web安全的三个攻防姿势

  • 时间:
  • 浏览:0
  • 来源:大发彩神app—大发彩神8苹果版

DOM-based or local XSS(基于DOM或本地的XSS攻击)

以上3步越多“自娱自乐”,XSS最关键的是第四步。

X-FRAME-OPTIONS是微软提出的有十个 http头,指示浏览器不允许从越多域进行取景,专门用来防御利用iframe嵌套的点击劫持攻击。否则在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。

结果银行网站服务器收到请求后,认为这是有十个 更新资源操作(转账操作),越多就立刻进行转账操作......

理解里边的3种攻击模式,嘴笨 都时要看出,CSRF攻击是源于WEB的隐式身份验证机制!WEB的身份验证机制嘴笨 都时要保证有十个 请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的!

  2. 在搜索框搜索内容,填入“<script>alert('xss')</script>”, 点击搜索。

缺点:有局限性,无法在非异步的请求上实施

document.referer属性

你这一 妙招最常见的攻击场景是伪造越多网站盗取帐号信息,如支付宝、QQ、网易帐号等帐号的账密

X-FRAME-OPTIONS

CSRF的原理

由于着亲戚亲戚亲们的操作不仅仅是弹出有十个 信息,否则删除一篇文章,发一篇反动的文章,由于着成为我的粉丝否则将这篇涵盖恶意脚本的文章转发,原先是全是就具有了攻击性。

innerHTML属性

和示例1中的操作一样,你首先登录了银行网站A,否则访问危险网站B,结果.....和示例1一样,你再次都这么60 0块~T_T,这次事故的由于是:银行后台使用了$_REQUEST去获取请求的数据,而$_REQUEST既都时要获取GET请求的数据,也都时要获取POST请求的数据,这就造成了在后台正确处理应用守护进程无法区分这到底是GET请求的数据还是POST请求的数据。在PHP中,都时要使用$_GET和$_POST分别获取GET请求和POST请求的数据。在JAVA中,用于获取请求数据request一样所处也能区分GET请求数据和POST数据的疑问。

······

是的,你这一 是我伪造的,由于着我将真正的充值站点隐藏在此界面里边。我都时要 ,聪明的你由于着知道clickjacking的危险性了。

DOM型XSS嘴笨 是某种特殊类型的反射型XSS,它是基于DOM文档对象模型的某种漏洞。都时要通过DOM来动态修改页面内容,从客户端获取DOM中的数据并在本地执行。基于你这一 内部,就都时要利用JS脚原先实现XSS漏洞的利用。

  3. 当越多读者看这篇文章的原先,涵盖的恶意脚本就会执行。

原文发布时间为:2017-10-18

防范

如以上示意图的深紫色 层,攻击者会通过一定的手段诱惑用户“在红色层”输入信息,但用户实际上嘴笨 深紫色 层中,以此做欺骗行为。

亲戚亲戚亲们最常见的Web安全攻击有以下几种

在请求里装去去进去去黑客所也能伪造的信息,否则该信息不所处于 cookie 之中,以HTTP请求参数的形式加入有十个 随机产生的 token交由服务端验证

由于着触发DOM型XSS的属性:

下图简单阐述了CSRF攻击的思想:

里边大约 地讲了一下CSRF攻击的思想,下面我将用有多少例子删改说说具体的CSRF攻击,这里我以有十个 银行转账的操作作为例子(仅仅是例子,真实的银行网站没这么傻:>)

对于一切用户的输入、输出、客户端的输出内容视为不可信,在数据加在到DOM由于着执行了DOM API的原先,亲戚亲戚亲们时要对内容进行HtmlEncode或JavaScriptEncode,以预防XSS攻击。

再举个栗子:

[2] CSRF 攻击的应对之道 - https://www.ibm.com/developer... 

本文来自云栖社区合作伙伴51CTO,了解相关信息都时要关注51CTO。

此下的详解每种转自hyddd的博文http://www.cnblogs.com/hyddd/...,示例写的很赞就每种誊抄至此,并做了一定的修改,向作者hyddd致敬&致谢。

有关Clickjacking防御的更多信息,请参阅Clickjacking Defense Cheat Sheet.

示例2

优点:统一管理token输入输出,都时要保证token的安全性

银行网站A的WEB表单如下:

你好!当你想看 这段文字时,你的信息由于着不安全了!<script>alert('xss')</script>

此为题多从在于博客网站。

Reflected XSS(基于反射的XSS攻击)

由于着受骗的用户刚好由于着登录过严选网站,这么,用户的登录cookie信息就由于着发到了攻击者的服务器(xss.com)了。当然,攻击者会做越多更过分的操作。

拿支付宝做个栗子

你这一 头有有十个 值:

  2. 后端这么对文章进行过滤,直接保存文章内容到数据库。

  1. 发一篇文章,里边涵盖了恶意脚本

示例

(当然上图是模拟的)

SAMEORIGIN // 允许同源域下加载

示例1

上图我估计做了一下错位和降低透明度,是全是很有意思呢?傻傻分不清的用户还以为是领取了奖品,嘴笨 是给陌生人充值了话费。

示例3

点击劫持

CSRF都时要做那此?

在业界目前防御 CSRF 攻击主要有某种策略:验证 HTTP Referer 字段;在请求地址中加在 token 并验证;在 HTTP 头中自定义属性并验证。下面就分别对你这一 种策略进行删改介绍。

总结一下里边十个 例子,CSRF主要的攻击模式基本上是以上的3种,其中以第1,2种最为严重,由于着触发条件很简单,有十个 <img>就都时要了,而第3种比较麻烦,时要使用JavaScript,越多使用的由于着会比前面的少越多,但无论是哪种状况,倘若触发了CSRF攻击,后果全由于着很严重。

从上图都时要看出,要完成一次CSRF攻击,受害者时要依次完成有十个 步骤:

你这都时要这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF也能做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的疑问包括:当时人隐私泄露以及财产安全。

为了杜绝里边的疑问,银行决定改用POST请求完成转账操作。

2、用户当时人都时要设置浏览器使其在发送请求时不再提供 Referer时,网站将拒绝合法用户的访问。

防范

银行网站A,它以GET请求来完成银行转账的操作,如:http://www.mybank.com/Transfe...

将token里装去去去 HTTP 头中自定义的属性里。通过 XMLHttpRequest 的异步请求交由后端校验,否则一次有效。

为那此会原先呢?由于是银行网站A违反了HTTP规范,使用GET请求更新资源。在访问危险网站B的原先,你由于着登录了银行网站A,而B中的<img>以GET的妙招请求第三方资源(这里的第三方越多指银行网站了,原先这是有十个 合法的请求,但这里被不法分子利用了),越多你的浏览器会带上你的银行网站A的Cookie发出Get请求,去获取资源

Stored XSS(基于存储的XSS攻击)

[1] 浅谈CSRF攻击妙招 - http://www.cnblogs.com/hyddd/...

主要通过利用系统反馈行为漏洞,并欺骗用户主动触发,从而发起Web攻击。

后台正确处理页面Transfer.php如下:

在 HTTP 头中自定义属性并验证+One-Time Tokens

由于着用户仍是继续里边的操作,很不幸,结果由于着是再次不见60 0块......由于着这里危险网站B暗地里发送了POST请求到银行!

危险网站B,仍然越多涵盖那句HTML代码:

点击劫持,英文名clickjacking,也叫UI覆盖攻击,攻击者会利用有十个 或多个透明或不透明的层来诱骗用户支持点击按钮的操作,而实际的点击嘴笨 用户看也能的有十个 按钮,从而达到在用户不知情的状况下实施攻击。

XSS攻击的本质越多,利用一切手段在目标用户的浏览器中执行攻击脚本。

本文作者:zwwill

tips:文章是保存整个HTML内容的,前端显示原先越多做过滤,就极由于着老出你这一 状况。

Stored XSS和Reflected XSS的差别就在于,具有攻击性的脚本被保存到了服务器否则都时要被普通用户删改的从服务的取得并执行,从而获得了在网络上传播的能力。

再看看一下界面

总结

CSRF 跨站请求伪造

缺点:对所有请求都加在token比较困难,难以保证 token 某种的安全,依然会被利用获取到token

参考

优点:比检查 Referer 要安全越多,否则不涉及用户隐私。

CSRF你这一 攻击妙招在60 0年由于着被国外的安全人员提出,但在国内,直到06年才刚开始被关注,08年,国内外的多个大型社区和交互网站分别爆出CSRF漏洞,如:NYTimes.com(纽约时报)、Metafilter(有十个 大型的BLOG网站),YouTube和百度HI......而现在,互联网上的越多站点仍对此毫无防备,以至于安全业界称CSRF为“沉睡的巨人”。

缺点:

正确处理点击劫持有某种主要妙招:

在请求地址中加在 token 并验证

顶层判断

在UI中采用防御性代码,以确保当前帧是最顶层的窗口

XSS 跨站脚本攻击

  4. 进而都时要构造获取用户cookies的地址,通过QQ群由于着垃圾邮件,来让当时人点击你这一 地址:

ALLOW-FROM // 都时要定义允许frame加载的页面地址

然而,危险网站B与时俱进,它改了一下代码:

利用HTTP头中的Referer判断请求来源是算是合法。

location属性

跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里边的Script代码会被执行,从而达到恶意攻击用户的目的。

  3. 当前端页面这么对填入的数据进行过滤,直接显示在页面上, 这时就会alert那个字符串出来。

DENY // 拒绝任何域加载

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”由于着Session Riding,通常缩写为CSRF由于着XSRF,是某种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(否则对其进行防范的资源也相当稀少)和难以防范,越多被认为比XSS更具危险性。但往往同XSS一齐作案!

CSRF漏洞现状

首先,你登录了银行网站A,否则访问危险网站B,噢,这时让我发现你的银行账户少了60 0块......

验证 HTTP Referer 字段

DOM,全称Document Object Model,是有十个 平台和语言都中立的接口,都时要使应用守护进程和脚本也能动态访问和更新文档的内容、内部以及样式。

妙招有多中,如

你这一 攻击妙招的关键在于都时要实现页中页的<iframe />标签,否则都时要使用css样式表将他不可见

1、Referer 的值是由浏览器提供的,不可全信,低版本浏览器下Referer所处伪造风险。

想看 这里,你你说歌词 会说:“由于着我不满足以上有十个 条件中的有十个 ,让越多再再受到CSRF的攻击”。是的,嘴笨 这么,但你也能保证以下状况越多再所处:

危险网站B,它里边有一段HTML的代码如下:

下面亲戚亲戚亲们来一一分析

举个栗子:

当前防御 CSRF 的几种策略

  1. 假设,在严选网站搜索商品,当搜索也能时站点会做“xxx未上架提示”。如下图。

上图是支付宝手机话费充值的界面。

目前,clickjacking还算比较冷门,越多安全意识不强的网站还未着手做clickjacking的防范。这是很危险的。

优点:简单易行,只时要在最后给所有安全敏感的请求统一增加有十个 拦截器来检查 Referer 的值就都时要。有点儿是对于当前现有的系统,不时要改变当前系统的任何已有代码和逻辑,这么风险,非常便捷。

关于Web安全的疑问,是有十个 老生常谈的疑问,作为离用户最近的一层,亲戚亲戚亲们大前端嘴笨 时要把手伸的更远越多。

documen.write属性

经过前面有十个 惨痛的教训,银行决定把获取请求数据的妙招也改了,改用$_POST,只获取POST请求的数据,后台正确处理页面Transfer.php代码如下:

分类

top != self || top.location != self.location || top.location != location

window.name属性