Web网站程序编写中的安全软肋
一个纯静态的网页,不知道后台,也不知道FTP帐号密码等信息,但是它还是被人拿下了,这又是为什么呢?
另外有有一个技巧,有一些站点不是对整站进行过滤的,所以导致出现一些隐藏的注入点。比如有一个文件他对提交的id参数的值进行了过滤无法注入,但是你会留意到地址栏里的参数有很多个的,加入有一个没有进行过滤,同样可以产生注入漏洞。
例如:
http://localhost/index.asp?class=1&id=1在程序中有时候只对id这个参数进行过滤而没有对class进行过滤,所以就导致了一个隐藏注入点。我们将地址改为http://localhost/index.asp?class=1,然后再进行注入,如果这个时候程序中没有对id这个参数的非空条件进行处理的话,我们就可能顺利的进行注入了。
另外一种情况是,有的程序员虽然处心积虑的写好了防注入的自定义函数,但是在程序编写过程中并没有进行调用,所以依然导致注入漏洞的产生。

另外现特别需要注意的就是对cookies注入进行过滤,因为现在有特别多的网站程序员都习惯了依赖通用防注入系统,但是旧版本的通用防注入系统都存在一个问题,就是没有对cookies注入进行过滤。
也就是说当我们发现一个网站使用了通用防注入的话,就证明网站本身程序并没有对注入进行过滤,当这个网站恰好使用的是一个旧版本的通用防注入程序的话,那么相当于告诉我们“此地无银三百两”了。下面要做的事情就是构造简单的cookies注入语句就可以轻松拿下后台的帐号密码了。
所以程序员要特别注意对程序后台地址的验证或者隐藏,这里对程序员的后台提出以下几点意见:
1. 后台编写使用类似动易的管理验证码
2. 后台地址路径手工输入正确地址后转向正确管理后台
3. 用户可自定义后台文件夹名称和路径
4. 对于不开源的程序,数据库的表名和字段名使用非常规名称
(2) 上传功能导致的漏洞
1. 验证扩展名不严密导致上传任意或特殊文件
处理建议:
(1) 验证时使用放行符合格式的文件,而不对不匹配格式进行验证
也就是说当你的网站只需要用户上传jpg bmp gif rar zip 等格式的文件的时候,验证模块则只允许这几个格式的文件上传,而不是对不可上传的文件格式进行过滤和错误提示。这样可以最大程度的避免非法文件的上传。
(2)对上传文件的文件头标识进行验证,例如:动网等程序对图片的标识验证,从而避免如下图中的一句话木马的构造。
- 本文关键词:

