最近研究了下Web安全的问题,对于重要的网站,需要重点考虑以下两种攻击方式:
基本原理就是 你登录了A网站后,当你访问B网站时,利用你在A网站的信任关系,对你在A网站上的数据进行攻击。
比如,
你登录了A网站后,我在B网站上放一个Form表单,表单的目标地址指向A网站,当你在B网站提交表单后,你以为是在B网站进行操作,实际上我已经将数据发送到A网站上,从而修改你的A网站数据。
更加详细的解释及解决方案可见:http://django-china.cn/topic/580/
我们百度联盟系的业务网站均是前后端分离的(采用Ajax请求),由于 Ajax请求在浏览器上均是无法进行跨域请求的,因此,在浏览器上,我们的站点是没有CSRF攻击这种问题存在的。但是,如果使用非浏览器(例如采用路由器监听方式来进行攻击,就可以实现CSRF攻击)
基本原理 就是 将一段JS代码放在网站A上,利用网站A不过滤JS代码的漏洞,让这段代码在网站A上执行起来,这段代码JS可以做任何事情,危害非常大。
攻击的JS代码可以是远程的,也可以是明文保存在网站A上的。
最近比较出名的有 新浪微博的XSS攻击事件:http://techv5.com/topic/701/
他利用的漏洞是,新浪微博的某个URL里可以包含JS代码,并且,他会将此代码原封不动的放在页面上,这样就可以成功执行此段JS。