表单的漏洞
来源:我要学习网 时间:06-11-13 点击: 点击这里收藏本文
1 表单的漏洞
(1) 没有 HTML语法屏蔽
与留言原理一样,如果你的表单处理程序没有屏蔽掉HTML语法,他们就可以用类似</font> 之类的代码来攻击你的表单程序,这类攻击的原理和防御的方法你可以参照<<留言系统的漏洞和对策>>.
(2)单长度没有限制
某些表单域因为没有限制输入文字的长度,他就会成为垃圾的攻击目标.如果几兆或更多的垃圾放到你的表单里会怎样?死啦死啦的有!!
(3)CGI程序里没有检验发送来的实际数据长度
有些表单定义了表单项的最长长度,但由于没有在 cgi 程序里判断真实的长度,造成那个表单限制名存实亡,行同虚设.比如:
(a) 你可以不从表单里直接输入,而从其它地方剪切过来.
(b) 你可以把它的表单程序代码另存为一个新文件,然后修改其中的限制代码!然后...你知道了!!!
---------------------
2 防御方法
(1)屏蔽掉 HTML 语法.
(2)你的表单域一定要定义最长字符数.方法是:在你的表单的属性里设置最长选项.html的语法为: maxlength="XX";
(3)你的gi程序里一定要判断真实的文字长度,其代码为:
$FORM{"name"} = substr($FORM{"name"},0,16)."0" if( length($FORM{"name"})>16);
如果name长度大于16个,则去掉多余的部分.
---------------------
3 总结
这类错误我已经在许多的网站上发现,包括一些较大的网站和一些非常精彩的个人网站.希望广大程序员注意这类安全问题,保护你的劳动成果!
把此文章收藏到: