关于bo-blog的安全隐患
日期:2006-12-31 荐:
bo-blog是一款外观好看,而且当前流行的个人博客系统,在很多下载站你都可以找到这套程序,而且甚至有很多安全界的人都使用着这套php txt的程序,但是这套程序里有些安全隐患,可能会被人利用去做一些破坏。首先开门见山,我们说说它的绝对路径暴露问题.........只要提交地址:_blank>http://localhost/blog/index.php?m=2&y=/2005就可以得到程序所在绝对路径!这是php中很经常出现的问题!现在我们在来看一段代码,这是showcat.php里的内容!if (!file_exists("$dirblog/$cat.php")) {wronginfo($langerrornocat);}unset ($allfiles);$allfiles=@file("$dirblog/$cat.php");看到了没有?他直接把cat.php没有处理就拿出来用了,而它又是怎么处理他拿出来的数据的呢?for ($i=$start; $i<$end;$i ) {$latest=explode("|",$allfiles[$i]);$articleid=$latest[1];$articlename=$latest[2];$latest[3]=mktimezone($latest[3]);$showtime=date("Y-n-j",$latest[3]);这样,它将$cat提交来的文件打开,读出来,但是以|为分隔读出文件内容,因为以|读出文件内容却是从1开始的,所以我们读不出其他的文件,我们只能读文件里有|的文件的第一个|后面的数据。也就是说,假设我们知道用户所在目录的话,我们就可以提交_blank>http://localhost/blog/index.php?job=showcat&cat=../saiy/userid便可以得到管理员的密码散列。然后伪造cookies登陆,直接可以传后门了。但是前提是要知道目录名,所以这只限制于目录名了,但是假设对方站点上有其他的php 文本的程序,我们可以利用此文件读出隐秘内容。我们再来说第二个问题,回复评论未限制时间,大家大概觉得这不算什么问题吧,看完代码不知道你还会这么想吗?$replyauthor=safe_convert($replyauthor);$remreplyauthor=$replyauthor;if ($replyemail!="") $replyauthor.="胃胃".safe_convert($replyemail);$replycontent=safe_convert($replycontent);$simplecontent=preg_replace("/\[(. ?)\]/is", "", $replycontent);$simplecontent=preg_replace("/<(. ?)>/is", "", $simplecontent);$simplecontent=preg_replace("/&(. ?);/is", "", $simplecontent);$curexcerpt=msubstr($simplecontent,0,20);$timestamp=time();$areply=@readfromfile("$dirblog/$articleid.rpl");writetofile("$dirblog/$articleid.rpl",$replycontent."\n|rep|\n".$areply);writetofile("$dirblog/list.php",$all1);updaterenum(1); 看到没有?居然也没对$articleid做过滤,大家觉得吓人吗?哦?你们觉得不怎么样?恐怕不好玩?我改改你再看看。writetofile("$dirblog/C:\winnt\system32\hacker.rpl",$replycontent."\n|rep|\n".$areply);呼,这样我们把一个垃圾文件写到系统目录下了。要么,写到管理员启动目录?一个N大无比的文本文件。只要我们不停的提交数据,则不断的把文件写入了,假设你手头没有工具可以帮你提交,我教你个简单的,利用NC的方法!首先,抓取你发表评论的包,存在NC所在目录下,命名为test.txt。这个大家都会做吧~~再建立一个bat,命名为test.bat内容为:nc www.test.com 80
标签: