20CN网络安全小组第一代论坛
发表新主题  发表回复

个人资料 | 社区目录 用户登录 | | 论坛搜索 | 常见问题 | 论坛主页
  下一个最老的主题   下一个最新的主题
» 20CN网络安全小组第一代论坛   » 安 全 基 地   » 菜鸟乐园   » 漏洞

   
作者 标题: 漏洞
悟休
未注册


图标 1  发表于         编辑/删除帖子   引用原文回复  
好多的网站都用到表单来提取访问者的信息,姓名,邮箱,网址,留言内容和发送的信息等!这类表单在保存后基本都要显示在屏幕上,他们也存在着非常严重的安全漏洞,成为一些人的攻击目标!


--------------------------------------------------------------------------------

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个,则去掉多余的部分.


--------------------------------------------------------------------------------

IP: 已记录

 
发表新主题  发表回复 关闭主题 突出主题 移动主题 删除主题 下一个最老的主题   下一个最新的主题
 - 适于打印的主题视图
转到:
联系我们 | 20CN网络安全小组

Powered by Infopop Corporation
UBB.classic™ 6.5.0
NetDemon修改版 1.5.0, 20CN网络安全小组 版权所有。