常规的安全问题主要分为以下几大类

一,跨站脚本攻击(XSS)

指的是攻击者向web页面注入恶意的Javascript代码,然后提交给服务器,但是服务器并没有做校验和转义等处理,随即服务器的响应页就被植入了那些恶意的代码。

应用场景:

(1)一般都见于客户端的表单信息的提交,例如在表单address一栏,用户输入‘<script>alert('攻击页面')</script>’,提交的时候服务器并没有校验,在新的响应页面,当浏览器解析到script标签的时候,这段代码就会直接运行。以上只是一个简单的例子,这段代码可以换成任意的恶意代码。

(2)url中注入script

正常访问下的URL :http://www.vulnerable.site/welcome.html?name=Jeremy

访问的URL中注入脚本的:http://www.vulnerable.site/welcome.html?name=<script>alert(document.cookie)</script>

分类:

反射型:当带有恶意性脚本代码的请求服务器时,未过滤,直接将为编码的代码直接返回给响应页

持久型:带有恶性脚本的代码被保存在web服务器端,每次用户访问这个页面的时候,这个恶性代码就会被自动执行

解决方法:

(1)输入过滤;对用户输入的内容进行过滤

(2)输出转义;对于服务器端返回给客户端的内容进行转义,或者是定义一套加密的方法,客户端依据一定的规则进行解密

二,跨站请求伪造(CSRF)

指的是利用用户的身份对网站进行某种操作的漏洞。用户登陆网站A,输入自身的用户名和密码等信息,然后再A站点击任意链接跳转到不信任的B网站,然后B网站将获取用户的登陆信息,然后攻击者利用获取用户的登陆信息去登陆网站A,网站A将认为是用户的合法登陆,然后进行一些违法操作

应用场景:

一般多见于盗取用户的登陆信息进行转账以及修改个人资料等操作

解决方法:

(1)客户端的请求都换成POST方式

(2)比较常用的是token校验;即在发送请求的时候,在http请求头中以参数的形式加入一个随机产生的token,并在服务器端建立一个拦截器来验证这个token,服务器端会去校验这个浏览器中的token与cookie中存的token是否相等,如果相等则认为是合法的,这个token是在用户登陆后,存储在session或者cookie中。

三,SQL注入

指的是攻击者将SQL命令插入到Web表单提交,并且服务端没有经过校验,拼接sql语句进行执行,造成数据库的数据泄漏。

应用场景:

黑客获取数据库的控制权

解决方法

(1)增加白名单和黑名单验证。白名单验证一般指检验用户输入是否符合预期的类型,长度或者其他格式标准等。黑名单验证一般指的是,在用户的输入中如果包含明显恶意的内容,则拒绝该用户请求

(2)数据转义。设置php.ini选项magic_quotes_gpc=on,它会将提交的变量中所有的’(单引号),”(双引号),\(反斜杠),空白字符等都在前面自动加上\。或者采用mysql_real_escape()函数或addslashes()函数进行输入参数的转义。

Web应用程序的安全问题的更多相关文章

  1. Web应用程序安全必须重视八大问题

    摘自:http://netsecurity.51cto.com/art/201402/428709.htm 对于任何一个项目,开始阶段对于交付安全的应用来说非常关键.适当的安全要求会导致正确的安全设计 ...

  2. 转:OWASP发布Web应用程序的十大安全风险

    Open Web Application Security Project(OWASP)是世界范围内的非盈利组织,关注于提高软件的安全性.它们的使命是使应用软件更加安全,使企业和组织能够对应用安全风险 ...

  3. web应用程序+HTTP协议

    标签(空格分隔): Django web应用程序案例: 如果我们想通过自己电脑访问京东,就是一个网络编程(因为京东的服务部署在京东,通过自己的电脑浏览器传输到京东服务就是网络编程):只要涉及到网络编程 ...

  4. 常见Web应用程序漏洞

    不完善的身份验证措施 .这类漏洞包括应用程序登录机制中的各种缺陷,可能会使攻击者破解保密性不强的密码.发动蛮力攻击或完全避开登录. 不完善的访问控制措施.这一问题涉及的情况包括:应用程序无法为数据和功 ...

  5. 解读Web应用程序安全性问题的本质

    转自 http://blog.csdn.net/iwebsecurity/article/details/1688304 相信大家都或多或少的听过关于各种Web应用安全漏洞,诸如:跨site脚本攻击( ...

  6. 如何将常规的web 应用程序转化为云上多租户 SaaS 解决方案

    如何将web 应用程序转化为多租户 SaaS 解决方案 https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/i ...

  7. web 应用程序转化为多租户 SaaS 解决方案

    web 应用程序转化为多租户 SaaS 解决方案 https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/inde ...

  8. 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

    读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...

  9. Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些。

    Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些.  常见Web应用安全问题安全性问题的列表: 1.跨站脚本攻击(CSS or XSS, Cross Si ...

随机推荐

  1. Word中使用宏处理表格内容 小记

    不解释,直接上代码... Sub 删除表格列WT0818() '此符号是注释 ' 删除表格列WT0818 宏 ' For Each tb In ActiveDocument.Tables  //wor ...

  2. roadhog 构建优化

    背景 一个 antd 项目打包时间太长,竟然快二十分钟了,有时还会导致内存溢出,查了一些资料(thanks funfish),解决方法如下 roadhog.js问题 roadhog.js 是类似可配置 ...

  3. 展示金额的方法(1元-->1.00元)

    public static String showMoneyByTwoDecimal(String account) { DecimalFormat doubleFormatter = new Dec ...

  4. C# Vs2017启动调试,debug或者release调试状态闪一下程序就独立运行了

    最近发现一个没太大影响但是很奇怪的事情,编辑状态下点击调试,发现和之前的项目不一样,调试状态闪一下,程序就“独立了”,不受调试状态的控制了. 找了半天才发现,是在program.cs里加了一段代码引起 ...

  5. apex透视自瞄无后子弹追踪飞天加速辅助

    apex透视自瞄无后子弹追踪飞天加速辅助apex透视自瞄无后子弹追踪飞天加速辅助apex透视自瞄无后子弹追踪飞天加速辅助apex透视自瞄无后子弹追踪飞天加速辅助apex透视自瞄无后子弹追踪飞天加速辅助 ...

  6. 小练习_num1

    题目:将一个正整数分解质因数.例如:输入90,打印输出90=2*3*3*5. /* 分解质因数 */ import java.util.*; class num1 { public static vo ...

  7. 三张图搞懂JavaScript的原型对象与原型链

    对于新人来说,JavaScript的原型是一个很让人头疼的事情,一来prototype容易与__proto__混淆,二来它们之间的各种指向实在有些复杂,其实市面上已经有非常多的文章在尝试说清楚,有一张 ...

  8. MySQL数据库需进行修改密码问题解决方案

    两种方式可供大家进行参考: 第一种: 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1.给root加个密码pass123: 首先在DOS下进入目录mysql\bin,然 ...

  9. unity UI如何开启(显示)或者关闭(隐藏)Panel界面最好?

    https://segmentfault.com/a/1190000012357091 unity UI如何开启(显示)或者关闭(隐藏)Panel界面,相信大家都是知道的,但是如何做最好呢? 可能大家 ...

  10. Open Daylight integration with OpenStack: a tutorial

    Open Daylight integration with OpenStack: a tutorial How to deploy OpenDaylight and integrate it wit ...