科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道教你用phpBB2配置一个安全的Linux论坛(下)

教你用phpBB2配置一个安全的Linux论坛(下)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

phpBB2是一种用PHP语言实现的基于Web脚本的开放源码论坛程序,使用较为广泛。除了Mysql数据库外它也支持PostgreSQL等其他数据库,同样它也可以在视窗平台上工作。

作者:51cto 2007年10月14日

关键字: phpBB2 Linux 论坛 安全

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

  1. php

  BB2.0.11安全漏洞分析和清除方法:

  phpBB2是一个用php脚本语言编写的论坛,该论坛的低于2.0.11版本有个严重的漏洞,就是 viewtopic.php允许远程执行命令。viewtopic.php是phpBB2论坛脚本文件中的一个,用于查看帖子内容。通过该漏洞攻击者可以在服务上运行任何代码。Net-Worm.Perl.Santy.a是一个使用perl脚本代码编写蠕虫病毒,通过该phpBB2漏洞远程执行系统命令入侵主机,一旦入侵成功并获得运行,就开始向google发送请求,搜索可以入侵的主机。 如果你使用phpBB2版本低于2.0.11,那么需要清除该蠕虫病毒。

  (1)清除病毒步骤:

  打开viewtopic.php文件,在以下代码前加入一行:

  $topic_id = $post_id = false;

  if ( isset($HTTP_GET_VARS[POST_TOPIC_URL]) )

  {

  $topic_id = intval($HTTP_GET_VARS[POST_TOPIC_URL]);

  }

  else if ( isset($HTTP_GET_VARS['topic']) )

  {

  $topic_id = intval($HTTP_GET_VARS['topic']);

  }

  

  另外还要将viewtopic.php文件中以下代码:

  $join_sql_table = ( !isset($post_id) ) ? '' : ", "

  . POSTS_TABLE . " p, " . POSTS_TABLE . " p2 ";

  $join_sql = ( !isset($post_id) ) ? "t.topic_id = $topic_id" : "p.post_id = $post_id AND

  t.topic_id = p.topic_id AND p2.topic_id = p.topic_id AND p2.post_id <= $post_id";

  $count_sql = ( !isset($post_id) ) ? '' : ", COUNT(p2.post_id) AS prev_posts";

  $order_sql = ( !isset($post_id) ) ? '' : "GROUP BY p.post_id, t.topic_id,

  t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type,

  t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id,

  f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete,

  f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments

  ORDER BY p.post_id ASC";

  替换为:

  $join_sql_table = ( empty($post_id) ) ? '' : ", "

  . POSTS_TABLE . " p, " . POSTS_TABLE . " p2 ";

  $join_sql = ( empty($post_id) ) ? "t.topic_id = $topic_id" : "p.post_id =

  $post_id AND t.topic_id = p.topic_id AND p2.topic_id = p.topic_id

  AND p2.post_id <= $post_id";

  $count_sql = ( empty($post_id) ) ? '' : ", COUNT(p2.post_id) AS prev_posts";

  $order_sql = ( empty($post_id) ) ? '' : "GROUP BY p.post_id, t.topic_id,

  t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type,

  t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id,

  f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete,

  f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote,

  f.auth_attachments ORDER BY p.post_id ASC";

  

  然后点击“开始”-“搜索”-“文件或文件夹”在文件名称中输入“m1h020f”,找到后全部删除即可。截至到目前为止,该蠕虫还没有更新的变种。已经得到了很到的控制。

  2. phpBB2.0.12安全漏洞分析和解决除方法:

  phpBB 2.0.12版本中存在两个安全漏洞,其中一个很严重,允许任意用户都可以获取管理权限,另外一个漏洞会导致服务器路径泄露。第一个漏洞存在于includes/sessions.php文件中,其对$sessiondata['autologinid']变量的类型及比较操作存在问题,远程攻击者可以通过伪造特别的变量值使用判断用户合法性的操作始终返回真,从而使用任意用户可以在不知道口令的情况下以管理员的身份认证成功。第二个漏洞在于viewtopic.php文件中,由于对消息的过滤不充分,使路径泄露成为可能。远程攻击者可以利用这个漏洞获取管理权限。解决方法,升级版本到2.0.14。

  步骤:

  1.数据库的备份:

  phpBB2本身可以备份自己的数据,点击phpBB2 的论坛管理员控制面板“普通管理”-》“数据库工具管理:备份”-》“选择整体备份选项”,即可完成论坛数据的整体备份,见图-4.

  

  

  图-4 phpBB2论坛的数据备份

  备份产生的文件是:phpbb_db_backup.sql,可以看出是一个sql文件。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章