写这篇文章的时候,我和团队正在处理项目漏洞问题,发现这些都是细节但又容易在项目实现的过程中忽视的部分,鉴于此,我想总结下来,方便以后出现类似问题能及时得到解决。
1、任意文件上传漏洞。
描述:允许用户上传任意文件可能让攻击者注入危险内容或恶意代码,并在服务器上运行。
利用:文件上传可以修改后缀导致可以上传任意文件,任意文件上传后都会返回SUCCESS成功。
方案:通过获取文件流对文件信息头部某些特殊的信息进行验证判断,这样及时想通过修改文件后缀也没法蒙骗过关。具体代码操作可参考这篇博文,
http://www.cnblogs.com/bojuetech/p/5907910.html
2、登陆密码明文传输
描述:登陆密码明文传输,cookie中密码CMD5可以解密。
利用:通过抓包工具抓包在cookie中发现明文传输的用户名和密码,其中密码可以通过CMD5解密,此漏洞造成了登陆信息泄露。
方案:①禁止将用户账号密码存入本地;
②后台加密增加阀值操作;
3、存储型跨站
描述:Web程序没有对攻击者提交的含有可执行代码的输入进行有效校验,在某些页面返回给访问改Web程序的任意用户,导致这些代码在用户的浏览器进行执行。
利用:允许攻击者注入危险内容或恶意代码
方案:1、在JAVASCRIPT中展示用户可控数据,需要对用户可控数据做转译
2、对用户输入的内容进行针对=mailto:~!@#$%^&*()_+|\=-{[}]:;"]~!#$%^&*()_+|\=-{[}]:;"'<,>.?/这些字符的过滤和替换
4、Cookie未作安全防护
描述:攻击者可利用xss等漏洞进行攻击获取用户cookie信息,并利用其cookie信息登录用户账户
利用:根据xss获取测试用户cookie信息,发现用户cookie没有httponly和其他安全防护。当用户退出登录时,重新发送登录时访问界面的数据包,可直接获取用户登录状态
方案:1、设置Cookie http only属性;
2、直接去掉登录页面的保存密码功能;
5、Apache tomcat版本信息泄露
描述:攻击者可从中的值apache tomcat的版本信息
利用:有经验的开发者或hacker们可以从 这些目录得知当前站点的信息,如开发语言、服务器系统、站点结构,甚至一些敏感的信息。并根据其版本信息及已知公开漏洞进行攻击
方案:对apche tomcat进行相关配置。
以上是基本漏洞,对于这些漏洞暂时现给出大概的描述,对于具体处理,后续会陆续推出具体解决思路与代码。
感谢支持!