关闭

如何进行Web应用的安全测试和输入校验

发表于:2009-10-23 18:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:jinhuiyu    来源:51Testing软件测试博客

  在Web应用占主流的今天,主流的黑客也都把攻击的目标转向了Web应用,SQL Injection, XSS... 各种攻击技术层出不穷,但是苍蝇不叮无缝的蛋,这么多种攻击技术无非都是把有毒的东西送到了蛋的内部。所以说只要输入校验做的好就可以阻止90%-95% 的攻击。如何做输入校验才能尽可能的弥补所有的缝呢?下面这几个注意事项或许可以帮你一些

  1. 找到Web应用所有的输入点,找到所有的能接受用户输入的地方,漏掉输入点也就漏掉了可能存在的缝。

  2. 过滤每一个输入点,为每个输入点设定相应的校验规则和边界。

  3. 不要忘记校验哪些隐藏域,cookie和url参数。

  4. 验证从数据库里面得到的数据,这个是最容易忽视的地方,不要相信来自数据库里面的数据就是合法的数据。

  5. 你是如何做输入校验的? javascript?如果只是用javascript做客户端校验, 风险还是很大的,一定要确保加上服务端的校验,否则如果客户端禁用了javascript或者客户端代码被人工修改,非法数据还是会进入系统内部的。

  6. 隐藏异常信息,再周全的校验也不可能覆盖所有的case,如果非法数据造成了系统的异常,不要将详细的异常信息暴露给客户端,这些异常信息有可能成为系统的攻击入口。

  在做输入校验的时候,从“什么样的输入才是合法的”入手会降低验证失效的风险,应该只为每个输入点的输入内容制定一个有限的,刚好够用的合法范围,除此之外的所有内容都当做是非法的。而从“什么样的输入是不合法的”入手则会增加验证失效的可能,因为你不可能穷举非法的输入。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号