1.1 Web应用程序的发展历程

早期万维网仅由站点组成,显示的是静态文档的信息库。

如今大多数站点是应用程序,服务器与浏览器之间双向信息传递。

随之而来的也有安全威胁。

1.1.1 Web应用程序的常见功能

一些常见功能,不再列举。

1.1.2 Web应用程序的优点

Http是万维网核心协议,轻量级,无需连接。

每个Web用户在计算机或者其它设备上安装了浏览器。

浏览器内容丰富且强大。

核心技术,开发语言简单。

1.2 Web应用程序安全

1.2.1 “本站点是安全的”

1、站点声称自己安全,实际上没有那么安全。虽然SSL广泛运用,定期PCI扫描。

2、2007年-2011年间测试的常见漏洞

①不完善的身份验证措施(63%)

②不完善的访问控制措施(71%)

③SQL注入(32%)

④跨站点脚本(94%)

⑤信息泄露(78%)

⑥跨站点请求伪造(92%)

3、SSL(安全套接层):为网络通信提供安全及数据完整性的一种安全协议,优势在于独立于应用层,在应用层通信之前就已经完成加密算法。采用公开秘钥技术。

4、虽然SSL保证传输数据的机密性,处理Web服务器的安全性,但不能抵御某个应用程序的服务器或客户端组件的攻击。

1.2.2 核心安全问题:用户可提交任意输入

1、主要讲述客户端用户输入的不确定性,从而导致后来的多种安全问题。

2、SSL无法阻止攻击者向服务器提交专门设计的输入,即只是保证数据传输保密,而不保证数据本身是否合法、安全。

1.2.3 关键问题因素

1、不成熟的安全意识:安全人员虽然知识渊博但核心知识不甚了解。

2、独立开发:自己员工开发,若需使用第三方,在其基础上自定义拼接,独有缺陷暴露。

3、欺骗性的简化:大量使用潜在风险的框架,会存在漏洞。

4、迅速发展的威胁形势:道高一尺魔高一丈。

5、资源与时间限制:时间资源有限,忽视不明显安全问题。

6、技术上强其所难:技术难以满足需求,但还是沿用原来技术满足新需求。

7、对功能的需求不断增强:需求功能多,潜在安全问题多(言多必失)。

1.2.4 新的安全边界

1、现在应用程序第三方小部件出现,服务器端安全边界常常会跨越组织本身的边界。

2、用户访问一个易受攻击的应用程序所面临的威胁。

1.2.5 Web应用程序安全的未来

1、Web应用程序仍然充满漏洞且动态变化。

2、攻击目标已由传统的服务器端应用程序转向用户应用程序。

3、Web2.0:基于1.0基础上由用户主导,增强交互性,由每一位用户参与创造的平台。

1.3 小结

1、万维网由静态到动态的转换。

2、用户的任意输入、用户与应用程序的交互都是不确定的,都存在潜在威胁。

黑客攻防技术宝典Web实战篇第2版—第1章Web应用程序安全与风险相关推荐

  1. 黑客攻防技术宝典Web实战篇第2版—第4章 解析应用程序

    4.1 枚举内容与功能 4.1.1 Web抓取 1.利用爬虫可获取页面,即深度搜索技术. 4.1.2 用户指定的抓取 1.用户使用它通过标准浏览器以常规方式浏览应用程序,试图枚举应用程序的所有功能. ...

  2. 黑客攻防技术宝典Web实战篇第2版—第3章 Web应用程序技术

    3.1 HTTP 3.1.1 HTTP请求 1.所有HTTP消息(请求与响应)中都包含一个或几个单行显示的消息头,然后是一个空白行,最后是消息主体(可选). 2.每个HTTP请求的第一行由三部分组成 ...

  3. [web安全]黑客攻防技术宝典-浏览器实战篇--钓鱼攻击

    钓鱼攻击是获得用户敏感信息的一种方法.钓鱼攻击的目标通常是在线银行用户.PayPal.eBay等. 主要形式: 1.电子邮件钓鱼 群发邮件,欺骗用户点击恶意的链接或附件,获取有价值的信息. 2.网站钓 ...

  4. 黑客攻防技术宝典Web实战篇第2版—第11章 攻击应用程序逻辑

    11.1 逻辑缺陷的本质 1.一般逻辑缺陷表现为设计者或者开发者在思考过程中做出的特殊假设存在明显或者隐含的错误. 11.2 现实中的逻辑缺陷 11.2.1 例1:征求提示 1.功能:如"记 ...

  5. 黑客攻防技术宝典Web实战篇第2版—第7章 攻击会话管理

    7.1 状态要求 1.HTTP是无状态的,基于请求-响应模型,每条消息代表一个独立的事物. 2.大多数Web站点实际为Web应用程序,他们允许用户注册登录,购买销售,记住用户喜好,它们可以根据用户的单 ...

  6. 黑客攻防技术宝典Web实战篇第2版—第6章 攻击验证机制

    6.1 验证技术 1.执行验证采用不同的技术 6.2 验证机制设计缺陷 6.2.1 密码保密性不强 1.应用程序常常使用的密码形式 6.2.2 蛮力攻击登录 6.2.3 详细的失败消息 1.尝试不同用 ...

  7. 黑客攻防技术宝典Web实战篇第2版—第5章 避开客户端控件

    5.1 通过客户端传送数据 5.1.1 隐藏表单字段 1.通过对表单中的数据隐藏,暗中更改数值,造成恶意攻击. 5.1.2 HTTP cookie 1.HTTPcookie是通过客户端传送数据的另一种 ...

  8. 黑客攻防技术宝典Web实战篇第2版—第10章 测试后端组件

    10.1 注入操作系统命令 1.许多时候,开发者直接向服务器发送操作系统指令,但如果应用程序向操作系统发送用户输入指令,可能受到命令注入攻击.通常所有的注入命令都可在Web服务器的进程中安全运行,使得 ...

  9. 黑客攻防技术宝典Web实战篇第2版—第9章 攻击数据存储区

    9.1 注入解释型语言 1.解释型语言是一种在运动时有一个运动时组件解释语言代码并执行其中包含的指令的语言. 2.编译型语言:它的代码在生成时候转换成机器指令,然后在运行时直接由使用该语言的计算机处理 ...

最新文章

  1. RelativeLayout经常使用属性介绍
  2. 2018python好找工作吗-2018年IT行业薪资大揭秘:你拖后腿了吗?
  3. UIKIT_EXTERN和define定义常量
  4. 程序员的800字作文
  5. 开发者如何写好技术简历?
  6. 服务员就结账了的p8u8
  7. 云图说|ModelArts Pro,为企业级AI应用打造的专业开发套件
  8. 【LeetCode】【HOT】155. 最小栈(辅助栈)
  9. 宿华辞任快手CEO 联合创始人程一笑接任
  10. aws rds监控慢sql_AWS RDS SQL Server入门
  11. bash:pip:找不到命令
  12. PHP预定义变量 PHP_EOL
  13. journalctl
  14. 等值面抽取技术(Iso-surfaces Extraction Technique)
  15. shader 什么是UV
  16. 计算机专业就业饱和没,“计算机就业饱和”差不多成了一个笑话
  17. [回忆]2007年的GDNT研发广东北电辞职信.
  18. PS修改支付宝余额截图
  19. ssm + redis
  20. Centos7x破解密码

热门文章

  1. --.net 面试题2
  2. versions-maven-plugin插件批量修改版本号
  3. Kerberos认证过程学习理解
  4. Struts2之文件上传
  5. mysql.sock 初始化_mysql8.0 部署、初始化和创建实例
  6. js并发上传文件到不同服务器,simple-uploader.js 功能强大的上传组件 - 文章教程
  7. java完成键盘动作_java实现鼠标和键盘动作后台监听
  8. centos 删除crontab_Centos7 利用crontab定时执行任务及配置方法
  9. map的几种遍历方法
  10. 开源中国 Android 客户端 v2.8.4 代码开源