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

  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进行相关配置。

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

感谢支持!

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

  1. 如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手.     概念 最近有个词儿很流行,叫做“全栈”(full stack ...

  2. 做web开发和测试,修改hosts指定某个域名访问某个特定的IP后,如何使hosts立即生效的方法

    本文转自SUN'S BLOG,原文地址:http://whosmall.com/post/143 hosts的配置方法: 在windows系统中,找到C:\windows\system32\drive ...

  3. 为什么做Web开发要选择PHP

    大部分互联网公司做WEb开发都选择PHP,PHP的优势在哪?你应该知道的 以前偶尔被人问到,为什么你(和大部分互联网公司)做Web开发要选择PHP, PHP有什么好处.简单的回答便是“PHP简单,开发 ...

  4. PHP做Web开发的MVC框架(Smarty使用说明 )

    PHP做Web开发的MVC框架(Smarty使用说明 ) 一.Smarty简明教程 1.安装演示 下载最新版本的Smarty-3.1.12,然后解压下载的文件.接下来演示Smarty自带的demo例子 ...

  5. web也是区分前端与后端的,session\cookie辨析

    <1>Ajax交互方式 Ext.Ajax.request( { //被用来向服务器发起请求默认的url url : "", //请求时发送后台的参数,既可以是Json对 ...

  6. 想做web开发 就学JavaScript

    有一天我被问到,为了快速地在 web 开发工作上增加优势,应该学习什么语言.我的思绪回到了大学,那时候我用 Pascal.Fortran.C和汇编语言,不过那个时候有不同的目标. 鉴于当前的状况和趋势 ...

  7. Python做web开发,推荐几个能立马上手的小项目

    Python这门优美的语言是非常适合web开发的,基于Python的Django框架简单便捷且很强大. 那么作为新手该如何上手这门语言?一切不敲代码的学编程手段都是扯淡,今天就推荐一些适合新手练手的P ...

  8. 为什么说 C/C++ 不适合做 Web 开发?(成本高,容易出错,apache等工具分担了大部分工作)

    因为大家在讨论用C#.Java,做出来的项目的时候,用C++的人们还在讨论语言特性 每种语言都有特定适用范围,对应着某类问题.web开发的重头戏不是计算,而是与用户交互和发送sql语句,当然以脚本语言 ...

  9. 做web开发需要学习哪些技术--基础篇

    做一个web网站,包含哪些技术,自己需要学习哪些技术 自己想到哪里就写到哪里 -- 给自己做的一个记录 1: 页面的展示, 一个web的开发语言  1.1 一个web的开发语言需要注意哪方面,才能符合 ...

随机推荐

  1. Java面向对象之接口

    什么是接口:接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合 语法: [修饰符] interface 接口名 extends 父接口1,夫接口2....... class 类名 ext ...

  2. android学习疑问汇兑

    一. anroid开发精要是提到. 1. 每一个android应用只有 16MB 的堆空间? 这个如何解释? 2. 服务组件没有运行在独立的进程或者线程中,而是与其他的android组件一样,运行主线 ...

  3. 那些强悍的PHP一句话后门

    强悍的PHP一句话后门这类后门让网站.服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的.今天我们细数一些有意思的PHP一句话木马.利用404 ...

  4. js的client、scroll、offset详解与兼容性

    clientWidth:可视区宽说明:样式宽+padding参考:js的client详解 scrollTop : 滚动条滚动距离说明:chrome下他会以为滚动条是文档元素的,所以需要做兼容:var ...

  5. C#/JS 获取二维数组组合

    C#获取二维数组组合 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  6. WP7开发 Sqlite数据库的使用 解决Unable open the database

    WP7本身不支持Sqlite数据库,但我们可以添加第三方组件让它支持Sqlite. 首先在项目中添加引用Community.CsharpSqlite.WP.dll,我会放后面让大家下载,我下了有几天了 ...

  7. TinyFrame升级之十:WCF Rest Service注入IOC的心

    由于在实际开发中,Silverlight需要调用WebService完成数据的获取,由于之前我们一直采用古老的ASMX方式,生成的代理类不仅难以维护,而且自身没有提供APM模式的调用方式,导致在Sin ...

  8. <实训|第八天>超级管理员管理linux用户行为权限附监控主机状态

    作为运维工程师,系统管理员,你最大的权力就是给别人分配权力,而且你还能时时控制着他们,今天就给大家介绍一下关于管理用户这一方面的前前后后.  开班第八天: 主要课程大纲:(下面我将把自己的身份定位成一 ...

  9. 我的 GitHub 100 连击

    终于达成 gayhub 的第一个100连击了,感觉自己整个人颜色都不一样了,完全蜕变了. PS: GitHub 汉化插件 52cik/github-hans 感兴趣的赶紧 get 起来吧. 遇到瓶颈 ...

  10. suggest插件实现下拉选择筛选

    实现的效果展示: 代码如下: 1.需要引入jquery,bootstrap-suggest.js,bootstrap.min.css 2.html页面代码: <!DOCTYPE html> ...