一。xss攻击(cross site scripting)
1.原理:攻击者通过在网页中嵌入恶意脚本程序,当用户打开该网页时就会在用户端的浏览器上自动执行,从而获取用户的
cookie,用户名,密码等
2.防范:对用户输入的数据进行HTML转义处理
二.csrf攻击(cross site reqeust forgery)
1.原理:伪造受信用户的请求,从站外发起请求
2.防范:
方法1:判断来源(referer)
方法2:将cookie设为HttoOnly,这样攻击者就无法通过js,applet等获取用户的cookie。
reponse.setHeader("Set-Cookie","name=test;HttpOnly);
方法3:在请求中加入token,这样不带有token的请求都是非法的
三.sql注入
1.原理:伪装成正常的http请求参数,传递到服务器,欺骗服务器最终执行恶意的sql
2.防范:转义特殊字符
方法1:jdbc用PreparedStatement
方法2:用orm框架
`
方法3:重要信息加密(md5,md5+salt)
四.文件上传漏洞
1.上传文件要重命名
2.上传文件要限制大小
3.不能简单地通过文件的后缀名来判断文件的类型。
很多类型的文件,起始的几个字节都是固定的,因为根据这几个字节的内容,就可以确定文件,
这几个字节称为魔数(magic number)。java中的FileType api表示文件类型
4.上传图片后,对图片进行相应的缩放,破坏来恶意用户上传的二进制可执行文件的结构。
推荐
imagemagick
(图片缩放、生成水印、锐化、截取、格式)
五。ddos攻击(distributed denial of service)分布式拒绝服务攻击