转自 http://blog.csdn.net/iwebsecurity/article/details/1688304

相信大家都或多或少的听过关于各种Web应用安全漏洞,诸如:跨site脚本攻击(XSS),SQL注入,上传漏洞...形形色色.
  在这里我并不否认各种命名与归类方式,也不评价其命名的合理性与否,我想告诉大家的是,形形色色的安全漏洞中,其实所蕴含安全问题本质往往只有几个。 我个人把Web应用程序安全性本质问题归结以下三个部分:
  1、输入/输出验证(Input/output validation)
  2、角色验证或认证(Role authentication )
  3、所有权验证(Ownership authentication)
  说到这,读者一定想知道我这三种分类与形形色色的安全性问题有什么关系?下面我逐个给您概略解答:

输入/输出验证
 
 这里的输入与输出其实都是发生在用户界面(User
Interface)这一个层面上的,比如:你某一站点上提交一份注册信息,往往会收到诸多提示:“用户名非法”,“姓名不能使用英文“......其实
这就是输入验证的一个实例。什么情况是输出呢? 比如说你成功提交一份注册信息后,系统会返回一个确认页(Registerred
Confirmation),往往在这个页面上会显示你注册时提交的部分或全部信息,那么在这里显示的信息就是我所说的输出实例之一,输入需要做什么验
证? 假如你在提交时,在Address那一栏输
入:<script>alert("iwebsecurity");</script>,
当你到达注册的确认页时,会有什么发生?如果确认页没有做输出验证处理,那很显然会在到达确认页的时候出现一个Javascript打出的提示框。其实这
就是跨site脚本攻击的一个小小的实例。当然了,单纯的输入/输出验证涉及的面可能够写一小本书了,努力在后续文章中给大家详解。

角色验证或认证
 
 我们就拿CSDN来说吧,用户有这些角色:其一可以说是游客,就是浏览者没有登录时的角色;其二是免费的注册用户;或许将来CSDN深入发展了,业务有
所更新,还会出现收费的注册用户。以上只是用户角色,那在CSDN公司内部还会有管理员角色,还有可能管理员又可以根据板块分为各种不同的角色。大家看到
了吧,你天天访问的CSDN一共可能有多少角色? 接下来的问题就是权限问题了,为什么会有角色? 就是为了控制权限的。每种角色都有自己特定的与公共的
权限,这些权限的逻辑关系是相当复杂的,如果一个Web应用在角色上没有一个详细的合理的设计,将会给开发人员带来无限痛苦和麻烦。那现在我要问几个问
题:你能保证每种角色只能做其份内的事儿?你是如何去保证的呢?方法可靠吗?有没有漏洞?...... 这,就是我要说的角色验证或认证。BTW:为什么
我会说验证或认证呢?你可以这么理解,角色性存在于两个阶段,其一进入阶段,比如你登录的那一瞬间,你进入了一个特定的角色;另一个阶段就是维持阶段,你
如何确保你登录后总是以登录时的身份在操作呢?那前者可以说是:认证,后者就是验证了。(有点罗嗦不?)
  给一个角色认证/验证方面的虚拟案例,比如:一个在线电影服务提供商,会免费给您开一个试用角色,如果这试用角色验证不当,可能会导致用户权限提升而成为一个合法的收费用户,而这个收费用户你往往却收不到他的任何费用。

所有权验证
 
 这个问题的存在也是基于角色的,只不过它所关心的是同级别的角色之间的权限问题。就拿CSDN来说吧,我是CSDN的一个免费用户,你也是。现在的问题
是:我可以替你操作吗,我可以替你发表文章吗?我能修改你的个性设置吗?如果不能,CSDN是如何实现的?虽然你和我都是普通用户,但是你有你的隐私我也
有我的隐私,如何保证严格的所有权验证就显得尤为关键了。比较简单吧,这就是我所说的所有权验证。

  我可以很自信的告诉你,只要是Web应用安全性问题,它逃不出在这三大部分,可能你还无法把形形色色的Web应用安全性问题与这三个部分对应并合理的解释清楚,但是确实只有这么简单的几个部分

解读Web应用程序安全性问题的本质的更多相关文章

  1. 开放式 Web 应用程序安全性项目 OWASP

    开放式 Web 应用程序安全性项目 OWASP Open Web Application Security Project (OWASP) OWASP 基金会是谁? Open Web Applicat ...

  2. 利用Httponly提升web应用程序安全性

    随着www服务的兴起,越来越多的应用程序转向了B/S结构,这样只需要一个浏览器就可以访问各种各样的web服务,但是这样也越来越导致了越来越 多的web安全问题.www服务依赖于Http协议实现,Htt ...

  3. 利用Httponly提升web应用程序安全性(转)

    原文:http://kb.cnblogs.com/page/115136/ 随着www服务的兴起,越来越多的应用程序转向了B/S结构,这样只需要一个浏览器就可以访问各种各样的web服务,但是这样也越来 ...

  4. PWA 渐进式Web应用程序 - 解释

    想象一下,如果一个网站上所有的功能都能够作为一个移动应用程序为用户所用——任何设备上都可以使用.可接收所有的通知.离线模式可用,为了实现这个愿景,2015年,谷歌创造了渐进式Web应用程序(PWA). ...

  5. 渗透测试的理论部分4——开放式Web应用程序安全项目

    开放式Web应用程序安全项目(Open Web Application Security Project OWASP) 定期退出Top 10 project(排名前十的安全隐患防守规则) 公开了编写安 ...

  6. (转)PWA(Progressive Web App)渐进式Web应用程序

    PWA 编辑 讨论 PWA(Progressive Web App)是一种理念,使用多种技术来增强web app的功能,可以让网站的体验变得更好,能够模拟一些原生功能,比如通知推送.在移动端利用标准化 ...

  7. 最常见的安全漏洞– Acunetix Web应用程序漏洞报告2021

    每年,Acunetix都会为您提供最常见的Web安全漏洞和网络外围漏洞的分析.我们的年度Web应用程序漏洞报告(现已成为Invicti AppSec指标的一部分)是基于从Acunetix在线获得的真实 ...

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

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

  9. ASP.NET WEB应用程序(.network4.5)MVC 程序的结构解读1

    https://www.cnblogs.com/-beauTiFul/p/8036509.html 简介 开发环境:VS2015 ASP.NET:可以开发出几乎所有运行在Windows上的应用程序:. ...

随机推荐

  1. 使用 Azure CLI 管理 Azure 虚拟网络和 Linux 虚拟机

    Azure 虚拟机使用 Azure 网络进行内部和外部网络通信. 本教程将指导读者部署两个虚拟机,并为这些 VM 配置 Azure 网络. 本教程中的示例假设 VM 将要托管包含数据库后端的 Web ...

  2. Oracle EBS PO采购订单更新

    DECLARE l_result NUMBER; l_progress NUMBER; l_errors PO_API_ERRORS_REC_TYPE; l_chg PO_CHANGES_REC_TY ...

  3. .net网站转到出错页是如何实现的

    <customErrors mode="On" defaultRedirect="GenericErrorPage.htm"><error s ...

  4. python字典去重脚本

    #!/usr/bin/env python # encoding: utf-8 #字典去重小代码 import sys import os import platform try: pass exce ...

  5. November 25th 2016 Week 48th Friday

    People will fall for its appearance while driving passionately. 观者倾心,驭者动魄. This is an advertisement ...

  6. 面向对象程序设计_Task5_Calculator1.5.0

    The 3rd part of the Calculator program _ FILE I/O 题目链接:第五次作业(计算器第三步) github链接:Calculator_1.5.0 第五次作业 ...

  7. Gitflow 工作流简介

    Gitflow工作流简介 Gitflow工作流通过为功能开发.发布准备和项目维护分配独立的分支,让发布迭代过程更流畅. Gitflow工作流定义了一个围绕项目发布的严格分支模型,它会相对复杂一点,但提 ...

  8. SGU---103 最短路变形

    题目链接: https://cn.vjudge.net/problem/SGU-103#author=ECUST_FZL 题目大意: Dingiville 城市的交通规则非常奇怪,城市公路通过路口相连 ...

  9. P1439 【模板】最长公共子序列

    题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列. 输入输出格式 输入格式: 第一行是一个数n, 接下来两行,每行为n个数,为自然数1-n的一个排列. 输出格式: 一个数,即最长公共子 ...

  10. POJ3977 Subset

    嘟嘟嘟 这个数据范围显然是折半搜索. 把序列分成两半,枚举前一半的子集,存下来.然后再枚举后一半的子集,二分查找. 细节: 1.最优解可能只在一半的子集里,所以枚举的时候也要更新答案. 2.对于当前结 ...