高防_香港高防云服务器_限时优惠-墨者安全-墨者盾
DDOS防御_CC防护_高防CDN服务器_【墨者安全】—墨者盾墨者盾—你的网站贴身保镖!

QQ:800185041
高防免费接入:400-0797-119

渠道合作:156 2527 6999

主页 > 高防CDN > 高防_香港高防云服务器_限时优惠

高防_香港高防云服务器_限时优惠

小墨安全管家 2021-08-31 15:36 高防CDN 89 ℃
DDoS防御

高防_香港高防云服务器_限时优惠

欢迎来到我们的AngularJS安全系列的第一部分。在那个地点,我们将讨论编写更安全应用程序的各种解决方案。我们的目标特别简单:关心开辟人员更好地理解角度和答应编写更安全代码的实践。——斯蒂芬·泰尔赫特、刘易斯·阿登和大卫·约翰逊AngularJS模块是每个AngularJS应用程序的差不多构建块。该模块包含操纵器、配置和服务等组件。在这篇文章中,我们将进一步研究$http服务,它提供了两个默认的安全特性:自动CSRF爱护和反JSON劫持机制。正如我们在系列介绍中提到的,AngularJS附带了一系列基本启用的高级安全特性。您不必在客户端代码中做任何情况就能够使用我们今天将讨论的两个安全特性中的任何一具。可是,有一具陷阱。为了充分利用自动CSRF爱护和反JSON劫持机制,您必须在服务器端做一些工作。挫败伪造请求是件轻而易举的事AngularJS需要增强的第一具特性是内置的自动跨站点请求伪造(CSRF)爱护。当使用AngularJS$http和$resource服务时,此功能经过自动向服务器提交往常收到的CSRF爱护值(有时称为nonce(仅使用一次的加密值)或令牌来爱护您的应用程序。接着,服务器需要将该值与发送给客户端的原始CSRF令牌举行比较。假如两个令牌相同,服务器将然后处理客户端的请求。否则,请求将被丢弃。需要指出的是,这种比较不是由AngularJS自动完成的。作为开辟人员,这是您在服务器端需要做的情况。幸运的是,很多服务器端框架能够关心实现这种服务器端操纵。听起来特别简单,然而CSRF令牌处理实际上是啥模样的呢?简单地讲,CSRF爱护简化的五步流程如下:用户对登录页面执行初始GET请求。站点返回登录页面(请注意,由于客户端尚未举行身份验证,所以没有向客户端提供CSRF令牌)。用户在登录页面中输入凭据并提交此表单。假如凭据有效,服务器会将用户返回到通过身份验证的站点页面。此外,在响应中,DDoS防御,用户接收存储在cookie(XSRF-token)中的嵌入式CSRF令牌。此令牌由服务器创建并存储在服务器上,以供稍后在步骤5中使用。那个地点,这是我们刚不久讨论过的服务器端部分,必须由开辟人员您来实现。如今情况变得有些乱了。当用户执行任何需要服务器端功能的客户端操作(经过使用$http和$resource服务),AngularJS首先读取存储在服务器提供的cookie(XSRF-token)中的令牌,接着创建一具名为X-XSRF-token的新http头。服务器令牌(从XSRF-token cookie读取)存储在该头值中。最终,客户端请求被发送到服务器。这一切基本上由AngularJS在客户端自动执行的。不需要编写额外的代码。当服务器接收到那个客户机请求时,它将头X-XSRF-token中存储的令牌与原始令牌值(在步骤3中创建)举行比较。假如令牌是等价的,服务器能够处理该请求。否则,服务器将忽略请求并向用户显示错误消息。同样,这一部分必须由您,即开辟人员(或您的框架)在服务器端实现。使用AngularJS和快递.js使用CSRF爱护增强应用程序的关键在于服务器端代码。由于有特别多不同的服务器技术,而且每种技术都有自个儿的特性,于是我们将重点介绍节点.js以及快递.js,并使用流行的csurf中间件。即使我们使用csurf,在服务器上处理CSRF爱护的差不多前提能够轻松地转换为其他技术。我们需要做的第一件事是将必要的中间件添加到节点.js应用:接下来,我们配置csurf中间件来处理AngularJS前端:完成路线如今我们能够创建需要CSRF爱护的路由。登录页的初始呈现需要以下路由才干向用户显示登录页:那个登录.html页面在用户扫瞄器上呈现。此刻,用户能够输入并提交其凭据。当用户提交凭据时,CC防御,客户端将调用服务器上的/doLogin路由来验证用户:假如身份验证成功,服务器将生成一具新的CSRF令牌并将其放入名为XSRF-token的cookie中。CSRF令牌值从csurf中间件经过req.csrfToken()功能。默认事情下,AngularJS将寻找名为XSRF-TOKEN的cookie,并在随后的请求中将其值放入X-XSRF-TOKEN头中。假如此刻未在响应cookie中设置XSRF-TOKEN值,则不大概创建CSRF令牌并将其传递给客户端,从而导致所有后续客户端对CSRF爱护路由的请求都将被拒绝。另一具爱护点:在传输CSRF令牌的cookie中设置属性。此设置将确保CSRF令牌仅经过安全通道(即SSL/TLS)传输。请注意/登录.html和/doLogin路由不大概验证CSRF令牌,因为它们都使用httpget想法,默认事情下,当使用csurf中间件时,httpget想法不受CSRF爱护。默认事情下,httppost想法始终验证CSRF令牌。下一具想法将更改服务器上的状态;所以,您需要使用CSRF爱护。此想法需要从通过身份验证的页中调用,例如主页.html(见我们之前的路线功能/doLogin)。否则,将不大概向其发送有效的CSRF令牌,从而导致客户端请求被拒绝:我们需要的最终一具路径是/logout路径来清除cookies中的任何CSRF令牌:固然,我们还添加了错误处理:那个应用程序使用函数需要放在所有受CSRF爱护的路由之前,以便在调用任何受爱护的路由之前注入我们的自定义错误处理程序。黑客能够经过XSS绕过CSRF爱护正真的施后,CC防御,我们为您提供的CSRF爱护将使您的应用程序更加安全。也算是讲,您仍然需要紧密关注您的应用程序,因为一具单一的XSS漏洞大概会让CSRF令牌从用户那儿窃取并在恶意请求中重用。找到并消除所有XSS漏洞是最重要的,不仅在您的应用程序中,而且在共享同一域/子域的其他应用程序中也是这样。记住:使用AngularJS CSRF爱护时,不能依靠HttpOnly cookie爱护。AngularJS依靠于直截了当从JavaScript读取cookie信息的能力,对cookie应用HttpOnly爱护会导致AngularJS无法读取cookie信息,进而将正确的CSRF令牌传递回服务器。作为防止重复使用被盗CSRF令牌的附加层,服务器能够在每个响应上生成新的CSRF令牌。然而,假如应用程序中存在XSS漏洞,攻击者能够简单地使用其XSS攻击代码中的$http或$resource服务来创建新的(有效的)请求,而不必窃取您的CSRF令牌。最好的办法是始终在应用程序中找到并消除任何XSS漏洞。还有几件事要记住假如在服务器上使用另一具CSRF爱护机制,请验证它是否为令牌生成脚够长度的。csurf中间件使用适当的想法来创建脚够强的CSRF令牌。为每个登录的用户使用适当的会话超时。这将落低攻击者暴力强制CSRF令牌的能力。在注销或会话超时时,CSRF令牌应显式失效并删除。至少,应在服务器上为每个会话生成一具新令牌。不要在会话结束后重用或存储令牌。要提供更强大的CSRF爱护,请为每个服务器响应生成一具新令牌,以进一步防止攻击者重用现有令牌。仅经过安全(SSL/TLS)连接发送CSRF令牌。如前所述,使用cookies的secure属性确保CSRF令牌经过安全连接发送。确保所有改变状态的服务器路由都受到CSRF令牌的爱护。并非所有路由都需要CSRF爱护。另外,验证所有请求的状态都不大概发生变化,DDoS防御,因为默认事情下所有GET请求(以及HEAD和OPTIONS请求)都关闭了CSRF爱护。假如服务器上的令牌比较不匹配,则不允许对请求举行任何处理,只需使用普通错误消息举行响应。不要在错误消息中提供任何有助于攻击者的详细信息。假如应用程序连接到多个服务器并向多个服务器发送请求,请验证每个服务器是否正确生成和处理CSRF爱护令牌。此外,请验证AngularJS应用程序是否正确处理来自第三方服务器的CSRF爱护令牌。如今我们基本向您展示了怎么在AngularJS中支持CSRF爱护,接下来让我们深入研究反JSON劫持。JSON劫持:向我们的小朋友咨询好AngularJS的第二个内置安全特性是反JSON劫持机制。幸运的是,美国现代扫瞄器创造商基本解决了那个安全咨询题。我们试图在现有的各种扫瞄器上复制这种攻击,而不能劫持JSON和利用扫瞄器。2016年7月27日,我们测试了以下最新版本的扫瞄器:铬Internet Explorer边缘火狐他们都不允许我们利用JSON劫持。在fa中


DDoS防御

当前位置:主页 > 高防CDN > 高防_香港高防云服务器_限时优惠

标签列表
DDoS防御
网站分类
X
 

QQ客服

400-0797-119