--------------------------------------------------------------------------------
1 表单的漏洞
(1) 没有 HTML语法屏蔽
与留言原理一样,如果你的表单处理程序没有屏蔽掉HTML语法,他们就可以用类似
之类的代码来攻击你的表单程序,这类攻击的原理和防御的方法你可以参照<<留言系统的漏洞和对策>>.(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个,则去掉多余的部分.
--------------------------------------------------------------------------------