EXGB GUESTBOOK安全性分析

Author: Analysist Date: 2001年 32期

?牐燛xGB GuestBook被认为是国内最好的PHP文本多用户留言簿,具有速度快,界面美观,体积小,功能强,支持多用户,在线申请、在线开通和使用文本存储数据等特点,源代码可以从http://www.codechina.net/soft/down/87523158ztskygb1.zip得到。
  ?牐牨纠窗肽昵熬徒哟サ搅苏飧龀绦颍且恢泵挥蟹治鏊陌踩裕靶┤兆涌吹揭桓霰冉险娴纳桃嫡镜阌玫木褪钦飧隽粞圆荆跃龆ɑǖ闶奔浞治鲆幌抡飧龀绦颉7治龅慕峁蟠蟪龊跷业囊饬希蛭飧龀绦虻陌踩允翟谑遣豢耙换鳎颐强梢郧嵋椎鼗竦昧粞圆镜某豆芾碓泵苈胍约八凶⒉嵊没У恼撕藕兔苈氲人行畔ⅰ?
  ?牐牶昧耍旅嫖揖拖晗傅匚蠹曳治鲆幌翬xGB GuestBook存在的安全漏洞及其危害,并给出一些临时的解决方案。
  ?牐牎锫┒粗唬盒孤端凶⒉嵊没У恼撕藕兔苈氲刃畔?
  ?牐犅┒疵枋觯河捎贓xGB GuestBook没有对存储注册用户信息的文本文件做任何的访问限制,而其文件名又是可预测的,因此,通过在地址栏输入:http://www.????.org/gbook/data/user.list,我们就可以获得所有注册用户的信息。
  ?牐犖:Τ潭龋盒孤端凶⒉嵊没У恼撕牛苈氲人行畔ⅲセ髡呃谜庑┬畔⒖梢悦俺淞粞员竟芾碓倍粤粞阅谌萁腥我饣馗矗薷模境踔量赡芾谜庑┬畔⒅苯踊竦媚勘晖镜目刂迫ā?
  ?牐牻饩龇桨福?
  ?牐?1.把这些数据文件改为比较难猜的名字。
  ?牐?2.控制对这些文件的访问,Apache下的典型配置样本如下:
  ?牐?<Directory“c:/apache/htdocs/gbook/data”>
  ?牐爋rder deny,allow
  ?牐燿eny from all
  ?牐燼llow from localhost
  ?牐燨ptions All
  ?牐燗llowOverride None
  ?牐?</Directory>
  ?牐犘枰⒁獾氖牵耗柯肌癲ata”下的留言数据文件,即“.dat”文件,也可以被远程攻击者访问,通过分析这些数据,可以获得程序对用户输入的限制,为攻击者的进一步攻击提供信息。
  ?牐牎锫┒粗盒孤冻豆芾碓泵苈胄畔?
  ?牐犅┒疵枋觯和ü乖煲桓鎏厥獾氖淙耄颐强梢曰竦贸豆芾碓钡拿苈耄咛宀街栉?
  ?牐?1.进入免费申请留言本页面。
  ?牐?2.用户密码和重复密码均输入“$pass”,留言本名,头部HTML或尾部HTML至少有一个输入“$pass”,其它随意输入。
  ?牐?3.进入你申请的留言本页面,可以看到超级管理员的明文密码。
  ?牐犝飧龉痰脑硎牵撼豆芾碓钡拿苈氡4嬖诔绦虻谋淞俊?$pass”中,超级管理员登录时是用户输入的密码和“$pass”变量中保存的密码进行比较。而多用户的情况下,程序需要载入一个“data/$user.php”文件,文件包含了该用户注册时的一些变量信息,其中包含变量“$pass”,目的是为了重新设置“$pass”的值。如果我们把“$pass”的值仍然设为“$pass”,实际上就是我们没有改变超级管理员的密码,这时的密码还是超级管理员的密码,再通过为其它可以在网页中显示的变量(如留言本名,头部HTMl和尾部HTMl)赋值为“$pass”,我们就能获得超级管理员的密码。
  ?牐犖:Τ潭龋盒孤冻豆芾碓钡拿苈耄谜飧雒苈耄偌由铣豆芾碓钡恼撕牛ㄒ话愦诱镜阈畔⒑苋菀淄撇獬隼矗?,攻击者可以获得超级管理员的权限,除了可以对留言内容做任意的回复,修改和删除外,还可以浏览所有注册用户的账号和密码等所有信息,同时也可能直接获得对目标网站的控制权。
  ?牐牻饩龇桨福?
  ?牐牴擞没?输入的“$”等特殊字符。
  ?牐犕ü陨系姆治隹梢钥闯觯夥训亩髯苁怯蟹缦盏摹D壳翱GI程序的人大多数对安全知识一无所知或者知之甚少,因此他们开发的程序难免会存在或多或少的漏洞,我们在使用之前最好先分析一下它的安全性,然后再确定是不是采用它。这是个非常值得注意的问题,安全性那么脆弱的程序在国内流行了那么长时间,这难道不能说明一些问题吗?