首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

课件分享:8-5Web应用安全#CISSP认证学习

每天叫醒你的不是闹钟,而是学习

01

大多数商业软件和Web应用程序服务器都默认安装了某种类型的管理控制台,攻击者收集足够多信息时,就能对这样的接口发起攻击。最安全的系统管理接口应该是一种带外接口,即使用一条独立的通信通道,以避免系统所运行的环境中存在任何脆弱性。

通过一个基于Web 的应用程序进行登录。从客户或提供商的角度看,身份验证与访问控制都是一个明显的问题。客户希望访问控制机制提供他们期望可信实体所提供的安全性和隐秘性,但是不希望这个过程过于复杂。从服务提供商的角度出发,他们希望在性能、合规性和成本许可的范围内为客户提供尽可能可靠的安全。通过一个安全的机制来传送所有身份验证信息是一种最佳做法。

验证这些请求被允许是输入验证的一部分工作,而且这通常与某些编码的验证规则相关联。下面列出了一些输入验证攻击的例子:

路径或目录遍历 这种攻击也称为“点–点–斜线”,因为它通过在URL中插入几个“../”字符来回溯或遍历本不应通过Web访问的目录,从而能够实施攻击。

跨站点脚本(XSS) 指的是在一个Web 站点发现的脆弱性允许攻击者在Web 应用程序中注入恶意代码的攻击。XSS 攻击使攻击者(用客户端脚本语言,如JavaScript) 把他们的恶意代码注入脆弱的网页中。随后,不知情的用户在访问这个站点时,恶意代码就会在他们的浏览器中执行,这样可能会导致Cookies被盗、会话被劫持、恶意代码被执行和访问控制被绕过,或者有助于利用浏览器的错落性。

SQL注入 就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。

参数确证(parameter validation)是指首先确证应用程序收到的值在确定的界限内,然后再由服务器应用程序在系统内处理这些值。参数确证与输入确证的主要区别在于,应用程序是否期望用户输入一个值,而不是由应用程序定义的一个环境变量。这个领域的攻击将操纵系统认为客户端无法配置的值,主要原因是接口中没有提供这样一种机制。

会话管理需要在通过Web交付应用程序之前考虑。通常,管理客户端会话最常用的方法是给每一个连接都分配一个唯一的会话ID。会话ID是一个值,它由客户端随每个请求一起发送给服务器,用于为服务器或应用程序唯一标识客户端。如果攻击者能够获得或者猜测出一个已经通过身份验证的客户端的会话ID,并将其当作自己的会话ID递交给服务器,那么服务器将受到欺骗,从而使得攻击者能够访问客户端的会话。

02

Web应用安全原则能够规范编程风格,以及战略性地减少重复出现软件错误和逻辑缺陷的几率。实施安全原则的第一个法宝是分析网站架构。一个网站越清晰、简单,那么分析它的各种安全要素就越容易。设计安全功能的一个重要因素是要从人性化角度考虑问题。为了实现安全的有效性,程序员甚至可能想让用户在每次点击鼠标时候都确认密码,但即使这样Web开发人员也必须维护功能和安全性之间的平衡。使用加密技术将有助于保护Web应用程序的输入/输出操作。虽然加密的数据可能被恶意用户所截获,但是它们只能被那些拥有密钥的人在解密后读取或修改。用户生成的Web站点输入就需要严格审查。所有输入必须被认为是不安全的或恶意的,应该在处理之前进行净化处理。同样,由系统产生的所有输出也应该被过滤,以确保私有或敏感数据不被泄漏。

-END-

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181231G06YPV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券