俗话说病从口入,可以说绝大多数的应用安全问题的源头都是由输入的入口引发,但是输入入口安全检测不能解决所有的潜在安全问题,原因很简单,那就是接收输入的数据时,接收者并不知道此数据用来做什么,涉及的业务逻辑是什么,所以无法在输入入口处进行完备而妥善的安全检测与处理。但是,还是要强调一下这个“但是”,我们不能因为此处不能解决所有的问题而放弃它忽略它,本文将告诉你:做好完善合理的“输入验证”,可以解决50%(只是经验值,后文不再解释)以上的企业应用安全攻击。
概念解释:
1.输入
广义的“输入”是相对于发送端与接收端的一个相对的概念,对于基于HTTP的web应用程序,那就是来自于浏览器这一端发往HTTP服务端请求数据包皆为输入,以此类推,请求端的所有数据对于服务端来说皆为数据输入。
2.输入验证
就是在服务端(强调一下:是服务端,而不是客户端)依据业务逻辑的需要对来自于客户端数据进行合法性校验的过程。
我们先从两个大家最熟悉的安全攻击开始来看看它们与输入的关系是什么。
例1,XSS(跨站脚本攻击),大家可以在firefox上试一下测试链接:
这就是一个典型的反射式跨站脚本攻击,它的过程是这样的:字符串
(责任编辑:)