程序的安全考量
上次帮朋友处理了被注入的一些后遗症:http://www.deepseath.com/?p=1107
今天再次被注入,而且那人竟然联系朋友说网站的目录权限做得真死,哈哈,这人真的是明目张胆,幸亏上次把很多目录权限写操作去掉了,否则更严重。
这次通过web日志彻底清查了一下具体的注入入口,找到了具体的程序,发现竟然是一个数组参数的键名未过滤导致的,加了过滤,测试了一下应该是堵上了。
感触颇深,再次说明,写代码,是反外来的数据都不要理所当然的认为它是安全的,参数尽量保持一个类型,引入的时候判断类型甚至字符集是否合法,然后再进行字符过滤,虽然麻烦了点,但起码不会被日后的注入所烦恼。
有时候一个小疏忽可能就会被人利用。
关于外来参数,早两年自己就不再接受全局变量了,一个程序只接受它需要的参数,所有变量都尽可能的事先进行声明,临时的变量用完后尽量马上销毁,外来的参数要尽可能的明确类型,严格检查它的类型是否合法,如果可能也可以再进一步判断字符集是否同网站的一致,不一致的也不接受。这样做不一定能保证完全绝对的安全,起码感觉漏洞暴漏的相对会少一些。
该日志未加标签