1.sql注入:这个很常规了,不要拼字符串以及过滤关键字都可以防住,需要注意的是,Cookie提交的参数也是可以导致注入漏洞的。 2.旁注:就是说在保证自己的程序没问题的同时,也要保证同台服务器的其他站点没问题。至少要设置好系统权限,即使别人的站点出问题也不能影响自己的站点。 3.上传:尽量不要有上传功能,如果必须有上传功能。也要做到以下方面:不能让用户定义路径、文件名,限制好可上传的文件类型。同时要限制好权限,基本规则:执行和可写是互斥权限,不应同时存在。 4.口令强度:在设置密码之类的功能上应加入密码强度要求。服务器上线部署的时候,应该立即把默认密码修改掉。 5.防穷举机制:适当的加入验证码,防止别人用程序穷举账户密码。 6.第三方控件:使用第三方控件,应经过严格的审核(很多第三方控件上作者故意留有缺陷),并且剔除不必要的功能再使用。 7.权限最小化:能给只读就给只读,尽量具体到每一个子目录。 8.目录非常规化:得到管理员账户密码,但是找不到后台登录地址也是很难入侵的。后台路径不要动不动就是http://www.hxhack.com /admin、manager、gl之类的,很容易猜解。 10.XSS:俗称跨站脚本攻击。用户把HTML、JS之类的标签输入到编辑框,入库之后,再显示的时候可以导致版面错误、JS能解析执行之类的都属于XSS的范畴。如果攻击者插个Iframe连的是个木马网页,那查看这个内容的人就悲剧了。解决方法:过滤大于小于号即可。 11.CSRF URL跳转未验证漏洞:类似于XSS,只是把代码写在URL里,即经常出现在登录退出的页面,通过参数的preURL决定完成动作的时候跳向哪个页面,如果就可以弹框,说明我们的js代码已经被执行起来了。 总之一句话,开发过程中,不要相信用户提交的任何数据,规划好目录,做到权限最小化,关闭、删除不必要的东西,就相对会安全很多了。 |