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

  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 22 - 8 多线程之线程生命周期图解

  2. 使用Access-Control-Allow-Origin解决跨域

    什么是跨域 当两个域具有相同的协议(如http), 相同的端口(如80),相同的host(如www.google.com),那么我们就可以认为它们是相同的域(协议,域名,端口都必须相同). 跨域就指着 ...

  3. ipone5 无法安装ipa软件

    iphone5s软件无法安装解决方法一,点击设置 - 通用 - 访问限制,先关闭“安装应用程序”选项,再打开,把后台应用程序刷新也关了,测试. iphone5s软件无法安装解决方法二,点击设置 - 通 ...

  4. 事件--c#

    以上是事件的几个操作. 事件由五个组件构成: 具体作用如下: 事件声明: event  委托类型 事件名:例子: public event EventHandler Elapsed; 还可同时声明几个 ...

  5. 根据Unicode编码用C#语言把它转换成汉字的代码

    rt 根据所具有的Unicode编码用C#语言把它转换成汉字的代码 var s = System.Web.HttpUtility.HtmlDecode(Utf8Str); var o = Newton ...

  6. 2016.11.14测试 长乐一中2014NOIP复赛模拟题 第一题。

    1.正确答案 [题目描述] 小H与小Y刚刚参加完UOIP外卡组的初赛,就迫不及待的跑出考场对答案. "吔,我的答案和你都不一样!",小Y说道,"我们去找神犇们问答案吧&q ...

  7. AngularJS中的缓存

    欢迎大家指导与讨论 : ) 缓存篇 一个缓存就是一个组件,它可以透明地储存数据,以便以后可以更快地服务于请求.多次重复地获取资源可能会导致数据重复,消耗时间.因此缓存适用于变化性不大的一些数据,缓存能 ...

  8. mysql 控制台上传数据库

    运行 0.cmd1.cd/d d:\DedeAMPZ\Program\MySQL\bin2.mysql -uroot -p1234563.use 数据库名4.source   XX.sql 文件所在路 ...

  9. redis 学习笔记(2)-client端示例代码

    redis提供了几乎所有主流语言的client,java中主要使用二种:Jedis与Redisson 一.Jedis的使用 <dependency> <groupId>redi ...

  10. java 中的异步回调

    异步回调,本来在c#中是一件极为简单和优雅的事情,想不到在java的世界里,却如此烦琐,先看下类图: 先定义了一个CallBackTask,做为外层的面子工程,其主要工作为start 开始一个异步操作 ...