web 安全 核心防御机制

大多数Web应用程序使用三层相互关联的安全机制处理用户访问:

* 身份验证

* 回话管理

* 访问控制

(1)身份验证 就是我们常用的输入用户密码,但是这其中存在很多漏洞和缺陷。

(2)几乎所有的web应用程序都为每一位用户建立一个回话,并向用户发布一个小时会话的令牌。会话本身是一组保存在服务器上的数据结构,用于追踪用户与应用程序的交互状态。令牌是唯一的字符串,应用程序将其映射到会话中,当用户收到一个令牌时,浏览器会在随后的HTTP请求中将它返

  回给服务器,帮组应用程序将请求与该用户联系起来,虽然许多应用程序使用隐藏表单字段或URL查询字符串传送会话令牌,但HTTP cookie才是实现这一目的的常规方法,如果用户在一段时间内没有发出请求,会话将会自动终止。

(3)访问控制,用户只允许访问应用程序中的部分数据。

处理用户的输入

(1) 拒绝已知的不良输入。 一般使用黑名单制,黑名单中时常见的攻击字符串,如果匹配,则拒绝该用书的输入。

(2) 接收已知的正确输入,使用白名单其中包含仅与良性输入匹配的一组字面量字符串,模式或一组标准。确认机制接收任何与白名单匹配的数据。

(3)净化, 

(4)安全数据处理。不需要确认输入本身,只需确保处理过程绝对安全。

(5)语法检查,

边界确认

(1)应用程序收到用户的登录星系,表单处理程序确认每个输入仅半酣合法字符,符合特殊的长度限制,并且不包含任何的已知的攻击签名。

(2)应用程序执行一个SQL查询检验用户证书,为防止SQL注入攻击,在执行查询前,应用程序应对用户输入中包含的可用于攻击数据库的所有字符进行转义。

(3)如果用户成功登陆,应用程序再将用户资料中的某些数据传送给SOAP服务,进一步获得用户账户的有关信息,为防止SOAP注入攻击,需要对用户资料中的任何XML元字符进行适当编码。

(4)应用程序在用户的浏览器中显示用户的账户信息,为防止跨站点脚本攻击,应用程序对植入返回页面的任何用户提交的数据执行HTML编码。

猜你喜欢

转载自wangleide414.iteye.com/blog/1758454