黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图
您现在的位置: 黑客风云 >> 黑客文章 >> 网管频道 >> 入侵检测 >> 文章正文
[推荐]浅析BlogEz安全性
        ★★★★★
浅析BlogEz安全性
文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2007-7-26

BlogEz是一款免费的PHP博客系统,页面非常漂亮,功能也很齐全。目前有比较多的网站采用了这套系统作为自己的网上家园。在看完所有的代码后,我发现其安全性还是不错的,该系统的程序员对脚本方面的一些基本安全问题都考虑到了,不过由于他的疏忽,还是有几个地方存在一些问题,可能导致非法入侵。下面我们就一起来看一下。
comment.php文件的作用是对文章进行评论,它只对ID进行了过滤,其他地方过滤的很简单,可以轻易地绕过。其代码如下:

以下是引用片段:
if (isset($_POST['verify']) && ($_POST['verify']==$_SESSION['session_verify'])){
if(isset($_POST['blogid'])){
$blogid=intval($_POST['blogid']); '把ID转换成整数
$url=($setting['buildhtml']=='yes')?"$setting[siteurl]/archives/$blogid.html#comment":"index.php?action=blog&bid=$blogid#comment";
$author=trim($_POST['author']); '没有进行任何过滤
$parseurl=isset($_POST['url'])?trim($_POST['url']):'no';
$useubb=isset($_POST['ubbcode'])?trim($_POST['ubbcode']):'no';
$usesmile=isset($_POST['smile'])?trim($_POST['smile']):'no';
$content=trim($_POST['content']);
$time=time();
$ip=realip();
$ischecked=($setting['checkcomment']=='yes')?'no':'yes';
$sql="Insert INTO `".$table_prefix."comment`(blogid,ischecked,author,content,addtime,ip,parseurl,useubb,usesmile)VALUES('".intval($blogid)."','$ischecked','".addslashes($author)."','".addslashes($content)."','$time','".addslashes($ip)."','$parseurl','$useubb','$usesmile')";

  从上面的代码可以看出,程序就是用addslashes()和intval()进行简单的转换,并没有进行字符的过滤,虽然说在一定程度上可以防止漏洞的出现,但总感觉没有本质的提高。在转换之后就直接把数据插入到数据库当中,这样就出现了跨站漏洞,可以用来挂马

  gbook.php是该系统的留言版文件,在处理用户留言时,同样没有对输入的字符进行认真过滤。其代码如下:

以下是引用片段:
$user=trim($_POST['author']);
$email=trim($_POST['email']);
$img=trim($_POST['face']);
$hidden=isset($_POST['hiddengbook'])?'yes':'no';
$parseurl=isset($_POST['url'])?trim($_POST['url']):'no';
$useubb=isset($_POST['ubbcode'])?trim($_POST['ubbcode']):'no';
$usesmile=isset($_POST['smile'])?trim($_POST['smile']):'no';
$content=trim($_POST['content']);
$ip=realip(); '获取真实IP地址
$addtime=time();
$sql="Insert INTO `".$table_prefix."gbook`
(user,img,email,hidden,parseurl,useubb,usesmile,content,ip,addtime)VALUES('".addslashes
($user)."','".addslashes($img)."','".addslashes($email)."','".addslashes
($hidden)."','$parseurl','$useubb','$usesmile','".addslashes($content)."','$ip','$addtime')";
//echo $sql;

  从以上代码可见,它存在着很严重的跨站漏洞,如图3所示,并且可以用来挂马。不过这里输入挂马代码之后,会导致其他的留言也看不到了,并且挂马网站打开之后是一片空白。比如我们输入

以下是代码片段:

之后,显示的空白。

[1] [2] 下一页  

文章录入:cainiaowang    责任编辑:cainiaowang 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    VIP 专 区
    Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886