1. 道高一尺魔高一丈的网站应用攻击与防御
1.1 XSS攻击
XSS攻击即跨站点脚本攻击(Cross SiteScript),指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。
常见的XSS攻击类型有两种,一种是反射型,攻击者诱使用户点击一个嵌入恶意脚本的链接,达到攻击的目的。
另外一种XSS攻击是持久型XSS攻击,黑客提交含有恶意脚本的请求,保存在被攻击的Web站点的数据库中,用户浏览网页时,恶意脚本被包含在正常页面中,达到攻击的目的。
预防方案:
- 消毒
- HttpOnly
1.2 注入攻击
SQL注入攻击 : 攻击者在HTTP请求中注入恶意SQL命令(drop tableusers;),服务器用请求参数构造数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。
1.3 CSRF攻击
CSRF(Cross Site Request Forgery,跨站点请求伪造),攻击者通过跨站请求,以合法用户的身份进行非法操作,如转账交易、发表评论等。
CSRF的主要手法是利用跨站请求,在用户不知情的情况下,以用户的身份伪造请求。其核心是利用了浏览器Cookie或服务器Session策略,盗取用户身份。
预防方案:
- 表单Token
- 验证码
- Referer check
2. 信息加密技术及密钥安全管理
2.1 单向散列加密
单向散列加密是指通过对不同输入长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,即不能对固定长度的输出进行计算从而获得输入信息。
2.2 对称加密
对称加密是指加密和解密使用的密钥是同一个密钥(或者可以互相推算)。
2.3 非对称加密
非对称加密和解密使用的密钥不是同一密钥,其中一个对外界公开,被称作公钥,另一个只有所有者知道,被称作私钥。
2.4 密钥安全管理
- 把密钥和算法放在一个独立的服务器上,甚至做成一个专用的硬件设施,对外提供加密和解密服务,应用系统通过调用这个服务,实现数据的加解密。
- 将加解密算法放在应用系统中,密钥则放在独立服务器中,为了提高密钥的安全性,实际存储时,密钥被切分成数片,加密后分别保存在不同存储介质中,兼顾密钥安全性的同时又改善了性能。