没有合适的资源?快使用搜索试试~ 我知道了~
大部分的web应用程序会依靠客户端执行各种措施来控制它提交给服务器的数据,以提高程序的可用性,避免客户端与服务器来回通信。比如使用javascript来校验长度是否超长,格式是否正确,使用隐藏html表单字段进行数据传送,使用url参数传送数据等等。 但是,这样做存在一个基本的安全缺陷:用户能够完全控制客户端及提交的数据,即避开任何在客户端执行但服务器并不采用的控件,直接提交数据给服务器处理。 目前已经有大量的拦截代理服务器的工具。比如firefox的插件temperdata,它位于web浏览器与目标应用程序之间,可以拦截应用程序发布和收到的每一个http或https请求和相应。我们通
资源推荐
资源详情
资源评论
安全测试之避开客户端校验安全测试之避开客户端校验
大部分的web应用程序会依靠客户端执行各种措施来控制它提交给服务器的数据,以提高程序的可用性,避免客户端与服务器
来回通信。比如使用javascript来校验长度是否超长,格式是否正确,使用隐藏html表单字段进行数据传送,使用url参数传送
数据等等。 但是,这
大部分的web应用程序会依靠客户端执行各种措施来控制它提交给服务器服务器的数据,以提高程序的可用性,避免客户端与服
务器来回通信。比如使用javascript来校验长度是否超长,格式是否正确,使用隐藏html表单字段进行数据传送,使用url参数
传送数据等等。
但是,这样做存在一个基本的安全缺陷:用户能够完全控制客户端及提交的数据,即避开任何在客户端执行但服务器并不
采用的控件,直接提交数据给服务器处理。
目前已经有大量的拦截代理服务器的工具。比如firefox的插件temper data,它位于web浏览器与目标应用程序之间,可以
拦截应用程序发布和收到的每一个http或https请求和相应。我们通过它可以拦截任何客户端传递的消息,并且对其进行检查或
修改,将修改过的内容传递给服务器进行处理。
拿一个简单的实例来说:对于一个输入框,长度限制为10,客户端通过了javascript进行校验,有一个maxlength=’10’,
通常我们进行功能测试功能测试,会尝试输入10 字符和11个字符,超长之后会提示用户无法继续输入,我们认为该功能是正常的。然
而,我们可以进一步进行测试:通过代理服务器来拦截这个请求,将内容改为长度为20的内容后继续提交,接着查看后端服
务器应用是否提示错误信息,如果没有错误信息提示(有时数据库数据库字段长度的设置稍微长一些),那说明这里是存在安全问题
的。
对于以上安全问题的预防措施,对于重要敏感的信息,比如折扣、价格等,要放到服务器端传参与校验等,如果服务器端
收到已被客户端阻止的数据,应用程序应将异常记录到日志中,在需要的时候向管理员发出警报来监控攻击企图。在某些重要
敏感的功能中,应用程序还可以主动采取防御措施,终止用户会话或暂时冻结其账户。
综上所述,由于客户端组件和用户输入不在服务器的控制范围内,web应用程序会面临安全威胁。客户及其提交的数据本
质上讲都是不值得信任的。确认客户生成数据的唯一安全方法是在应用程序的服务器端实施保护措施。
资源评论
weixin_38718223
- 粉丝: 11
- 资源: 930
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功