赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:以下是本篇文章正文内容,下面案例可供参考
WASC(Web Application Security Consortium)
是一个由安全专家、行业顾问和诸多组织的代表组成的国际团体。
OWASP(Open Web Application Security Project)
该组织致力于发现和解决不安全Web 应用的根本原因
这个组织最重要的项目之一是“Web 应用的十大安全隐患”
总结了目前Web 应用最常收到的始终攻击手段,并且按照攻击发生的概率进行了排序
1、Authentication(验证):用来确认某用户、服务或是应用身份的攻击手段
2、Authorization(授权):用来决定是否某用户、服务或是应用具有执行请求动作必要权限的攻击手段
3、Client-Side Attacks(客户侧攻击):用来扰乱或是探测Web站点用户的攻击手段
4、Command Execution(命令执行):在 Web 站点上执行远程命令的攻击手段
5、|nformation Disclosure(信息暴露)用来获取 Web 站点具体系统信息的攻击手段
6、:用来扰乱或是探测 Web 应6、Logical Attacks(逻辑性攻击)用逻辑流程的攻击手段
A4:2017-XML外部实体(XXE)
许多较早的或配置错误的XML处理器评估的XML 文件中的外部实体引用。攻击者可利用外部实体窃取内部文件、执行远程代码
A5:2017-失效的访问控制
未对通过身伤验证的用户实施恰当的访问控制,
A6:2017-安全配置错误
于不安全的默认安全配置错误是最常见的安全问题,这通常是由配置、不完整的临时配置、开源云错误等造成。
A7:2017-跨站脚本:(xSS)
XSS会让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点。
A8:2017-不完全的反序列化
不安全的反序列化会导致远程代码执行
A9:2017-使用含有已知漏洞的组件
组件如库框架和其他软件模块拥有和应用程序相同的权限
A10:2017-不足的日志记录和监控
不足的日或无效的集成,使攻志记录和监控,以及事件响应缺失击者能够:#一步攻击系统、保持持续性、篡攻、提取或销毁数据
登录功能的公开性会诱使攻击者试图猜测用户名和密码,从而获得访问应用程序的权力。
如果应用程序允许攻击者用不同的密码暴力尝试,直到他找到正确的密码,这个程序就非常容易遭受攻击。
执行暴力攻击示意图
很多工具(如Burpsuite)自身提供了一些常用的密码破解表,也能自行添加一些常用字典,网上也有更多全面的密码字典。
按照如今的带宽和CPU处理能力,根据破解者的能力,每分钟可以发出几千甚至上万个登录尝试,如果没有一些安全措施的话,最强大的密码也最终会被攻破。
验证码技术是最常见且最有效的应对方式,但是还需要注意几个问题:
有些应用程序会设置一个cookie,如果faillogin =0;登录尝试失败,那么faillogin++,达到上限,比如3次;检测到这个值大于等于3,那么就会拒绝登录操作了。
但是这种方式没有什么用,因为cookie 可以在客户端更改。
双因子认证的核心是综合what you know(个人密码)和what you have(手机)l来达到双重认证效果。
忘记密码的核心问题:忘记密码的流程调过了身份验证
人们总认为知道的信息越多,那么越真实,其实这种想法是错误的。
执行多次验证检查可能会提高登录机制的安全性,但是相应的,这个过程也可能存在更多的执行缺陷。不能保证每个阶段都是正确的。有可能跳过某一个或者某几个阶段,直接验证最后一步,然后验证成功。
会话令牌:cookie
攻击者通过网络嗅探,xss 攻击等方式获取被攻击者会话令牌的攻击方式。这种方式最简单也最有效,也是目前最多的攻击方式。
// 设置cookie app.get('/cookie',(req,res)=>{ // 使用了中间件后就可以访问req和res上的cookies对象 console.log(req.cookies); // 不加密写入cookie // res.cookie('num', 10, { // // domain: 'xxx.com', // // path: '/', // maxAge: 24 * 3600 * 1000 // }) // 加密后读取cookie console.log(req.signedCookies['num']) res.cookie('num', 10, { // httpOnly: true, // secure: true, signed: true,// 签名一定要写上这个,表示对cookie 进行签名 maxAge: 24 * 3600 * 1000 }) res.send({ code:200, data:'ok' });
软会话过期,它指的是用户在一定的时间内,与应用系统没有交互,则会话过期,也就是我们常说的session 失效
硬会话过期,它指的是用户登录到系统中经过一定的时间,不管用户做什么,该会话都会过期。
用户可以手动地使当前会话过期,这就是我们在几乎所有网站上都能看到的logout 按钮。要保证注销不存在会话终止漏洞
最严重的情况下,攻击者可利用SQL注入读取甚至修改数据库中保存的所有数据。
用户可以提交一段数据库查询代码,根据程序返回的结果获得某些他想得知的数据。
参数化查询是对SQL 注入根本性的防御策略,也叫做预处理语句,在建立一个包含用户输入的SQL 语句是分为两步:
1.指定查询结构,用户输入预留占位符
2.指定占位符的内容
跨站脚本攻击(Cross Site Scripting),XSS是一种经常出现在web应用中的计算机安全漏洞。
它允许恶意web用户将代码植入到提供给其它用户使用的页面中,其他用户在观看网页时,恶意脚本就会执行。
这类攻击通常通过注入HTML或is等脚本发动攻击。
攻击成功后,攻击者可以得到私密网页内容和cookie等。
最近几年XSS 攻击已经成为最流行的攻击方式
也称为非永久性XSS,是目前最流行的XSS攻击:
它出现在服务器直接使用客户端提交的数据,如url的数据html表单中提交数据等,并且没有对数据进行无害化处理。
如果提交的数据中含有HTML控制字符而没有被正确处理那么一个简单的XSS攻击就会发生。
典型的反射式攻击可通过一个邮件或中间网站,诱饵是一个看起来可信任的站点的链接,其中包含XSS攻击脚本。
如果信任的网站没有正确处理这个脚本,用户点击后就会导致浏览器执行含有恶意攻击的脚本。
这个例子说明:
也成为永久性XSS,危害更大。
攻击将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员,
存储式XSS多发生在最终显示给其他用户的位置包含
反射式XSS攻击和存储式XSS攻击都是通过服务器端提取用户提交的数据。
并且以不安全的方式将其返回给用户。
基于DOM的攻击仅仅通过JavaScript的方式执行。
也就是说这种攻击常发生在应用程序每次返回相同的静态html,而通过客户端JavaScript动态生成信息,并不会跟服务端交互获取的时候。
这种攻击需要在一个Web应用程序页面注入恶意数据从而向应用程序的用户传送误导性信息。
包括简单的向站点注入html,或者使用脚本注入精心设计的内容
攻击者实际上没有修改保存在服务器上的内容,而是利用程序处理并显示用户提交的输入方面的缺陷实现置换。
这种攻击造成的后果远比虚拟置换严重,它在易受攻击的应用程序中注入实际运行的功能,旨在欺骗终端用户执行某种有害操作(如输入敏感数据)
随后将它们传送给攻击者。
在一个明显的攻击中,攻击者注入的功能向用户显示一个木马登录表单,要求他们向攻击者控制的服务器提交他们自己的证书。
如果由技巧熟练的攻击者实施,这种攻击还允许用户无缝登录到真正的应用程序中,以便他们不会发觉访问过程中的任何反常情况。
如果应用程序在某个位置收到的用户提交的数据将来有可能被复制到它的响应中,应用程序应根据这种情形对这些数据执行尽可能严格的确认。
如果应用程序将某位用户或第三方提交的数据复制到它的响应中,那么应用程序应对这些数据进行HTML编码,以净化可能的恶意字符。
HTML编码指用对应的HTML实体替代字面量字符。这样做可确保浏览器安全处理可能为恶意的字符,把它们当作HTML文档的内容而非结构处理。
应用程序之所以结合使用输入确认与输出净化,原因在于这种方法能够提供两层防御:如果其中一层被攻破,另一层还能提供一些保护。
结合这两种技巧,应用程序就能够获得额外的保护,即使攻击者发现其中一种过滤存在缺陷,另一种过滤仍然能够阻止他实施攻击。
在这两种防御中,输出确认最为重要,必不可少。实施严格的输入确认应被视为一种次要故障恢复。
CSRF(Cross-site Request Forgery,跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF 或者XSRF,是一种对网站的恶意利用
CSRF(Cross-site Request Forgery,跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF 或者XSRF,是一种对网站的恶意利用,
尽管听起来像跨站脚本(XSS),但它与XSS 非常不同,并且攻击方式几乎相左。
XSS 利用站点内的信任用户(受害者)而CSRF 通过伪装来自受信任用户的请求来利用受信任的网站。
通过社会工程学的手段(如通过电子邮件发送一个链接)来蛊惑受害者进行一些敏感性的操作,如修改密码、修改E-mail、转账等,而受害者还不知道他已经中招,
提示:写的有些乱,研究不深入,有时间再改
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。