做WEB开发的时候,前端与后端我们应该要注意哪些细节,哪些容易出现的漏洞?

  写这篇文章的时候,我和团队正在处理项目漏洞问题,发现这些都是细节但又容易在项目实现的过程中忽视的部分,鉴于此,我想总结下来,方便以后出现类似问题能及时得到解决。

  1、任意文件上传漏洞。

      描述:允许用户上传任意文件可能让攻击者注入危险内容或恶意代码,并在服务器上运行。

    利用:文件上传可以修改后缀导致可以上传任意文件,任意文件上传后都会返回SUCCESS成功。

    方案:通过获取文件流对文件信息头部某些特殊的信息进行验证判断,这样及时想通过修改文件后缀也没法蒙骗过关。具体代码操作可参考这篇博文,

http://www.cnblogs.com/bojuetech/p/5907910.html

  2、登陆密码明文传输

    描述:登陆密码明文传输,cookie中密码CMD5可以解密。

    利用:通过抓包工具抓包在cookie中发现明文传输的用户名和密码,其中密码可以通过CMD5解密,此漏洞造成了登陆信息泄露。

    方案:①禁止将用户账号密码存入本地;

②后台加密增加阀值操作;

  3、存储型跨站

    描述:Web程序没有对攻击者提交的含有可执行代码的输入进行有效校验,在某些页面返回给访问改Web程序的任意用户,导致这些代码在用户的浏览器进行执行。

    利用:允许攻击者注入危险内容或恶意代码

    方案:1、在JAVASCRIPT中展示用户可控数据,需要对用户可控数据做转译

       2、对用户输入的内容进行针对=mailto:~!@#$%^&*()_+|\=-{[}]:;&quot;]~!#$%^&*()_+|\=-{[}]:;"'<,>.?/这些字符的过滤和替换

  4、Cookie未作安全防护

    描述:攻击者可利用xss等漏洞进行攻击获取用户cookie信息,并利用其cookie信息登录用户账户

    利用:根据xss获取测试用户cookie信息,发现用户cookie没有httponly和其他安全防护。当用户退出登录时,重新发送登录时访问界面的数据包,可直接获取用户登录状态

    方案:1、设置Cookie http only属性;

       2、直接去掉登录页面的保存密码功能;

  5、Apache tomcat版本信息泄露

    描述:攻击者可从中的值apache tomcat的版本信息

    利用:有经验的开发者或hacker们可以从 这些目录得知当前站点的信息,如开发语言、服务器系统、站点结构,甚至一些敏感的信息。并根据其版本信息及已知公开漏洞进行攻击

    方案:对apche tomcat进行相关配置。

以上是基本漏洞,对于这些漏洞暂时现给出大概的描述,对于具体处理,后续会陆续推出具体解决思路与代码。

感谢支持!

上一篇:linux 用户空间与内核空间——高端内存了解


下一篇:浅谈Linux虚拟内存