phpwind论坛史上最大漏洞 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    发表于家用电脑2007年第19期

    文/图:飘忽不定

    就在最近的一个月,国内的一些著名论坛相继被黑,而这些论坛采用的基本都是PHPwind论坛系统,

phpwind论坛史上最大漏洞

。事实上,PHPwind论坛系统出现了有史以来最大的漏洞, 可以直接修改论坛的管理员密码,而入侵的过程仅仅只需要十几秒种。截至目前,国内大约有1/3采用PHPwind论坛程序的网站被黑,无数网站被恶意挂马、篡改甚至直接删除数据。而目前,网络上仍然存在不少没有填补该漏洞的网站。本文将为大家揭开此次事件的真相,并给广大站长以及个人建站爱好者一个解决方案。

    PHPwind有史以来最大的漏洞

    网络上有着无数的论坛,但是这些论坛很少有自己编写的论坛程序,大部分都是直接使用别人编写的论坛程序。例如PHPwind、disucz、VBB、动网论坛程序等。国内那么多论坛,使用的论坛程序的也就那么几种,被用的最多的就是PHPwind、discuz、动网论坛程序。可以说,这三者包揽了国内论坛的大半江山。而一旦论坛程序中的某个新漏洞被公开,紧接着就会出现使用该论坛程序的论坛大规模被黑的现象,这种情况并不少见,而这次的主角换成了PHPwind。

    虽然PHPwind论坛程序曾经也出现过大大小小的漏洞,但不是危害较小就是利用方法困难,例如跨站漏洞。而那些危害较大的漏洞只对特定版本的PHPwind有效。PHPwind这次出现的漏洞可谓其历史上波及面最广、危害最大、利用最简单的漏洞。波及面广:涉及PHPwind免费版和收费版程序;危害最大:直接更改论坛管理员密码;利用最简单:更改管理员密码只需十几秒种。

    PHPwind的这个漏洞的起因是其passport_client.php文件中的变量过滤不严, 可以绕过检测直接更改论坛中任何一位用户的密码。如果 更改了管理员帐户的密码,那么他可以登录论坛的后台管理系统,接着上传PHP木马,对论坛进行挂马或者继续提权直到拿下该论坛所在服务器的权限。

    漏洞的利用测试

    仅凭上文的介绍,大家可能不甚理解,下面还是让我们来对这个漏洞进行一下测试,看看这个漏洞的危害到底有多大,这里我们在本机架设PHPwind论坛的环境下进行测试。

    寻找有漏洞的论坛

    首先会通过百度、google搜索引擎以“Powered by PHPWind v5.0.1”为关键字进行搜索。很快就能找到数万条搜索结果,找到后进入论坛,寻找该论坛的管理员帐户。利用这个漏洞可以更改论坛上所有用户的密码,只不过管理员帐户的权限比较大,更能让 感兴趣。管理员帐户是很好找的,一般在论坛置顶贴中就可以找到,而一般的论坛都有一个名为admin的管理员。其实在漏洞公布没多久,搜索结果在前几十页的PHPwind论坛都已经被 “光顾”过了。

    改掉管理员密码

    对PHPwind的这个漏洞进行测试,我们可以利用现成的漏洞利用程序。这个漏洞程序在发布之后就引起了轩然大波,绝大多数的PHPwind论坛都是被这个漏洞利用程序改掉管理员密码的。运行漏洞利用程序后,在“Board URL”中填入需要检测的论坛地址,这里我们填入本机的PHPwind论坛地址:“http://localhost/PHPwind/”。在“Username”一项中填入欲更改密码的用户名,接着在“Password”中填入想更改的密码。最后单击“Attack”按钮即可开始对论坛进行测试,如果测试成功,会弹出一个对话框,提示密码修改成功。接下来我们就能以管理员的身份登录论坛,修改论坛的设置,删除帖子等任意操作。至此,论坛已经完全掌控在我们手中,而这个过程的确只要十几秒钟。

    图1.更改管理员密码

    登录后台上传webshell

    在得到论坛的管理员权限后,肯定不会罢手,他会上传webshell以便能进一步提升权限。经过多次版本的修改,PHPwind论坛程序后台的安全性已经相当不错了,曾经被用来得到webshell的招数在5.0.1和5.3版本中都失去了作用。不过百密一疏, 还是有可乘之机的。假设PHPwind论坛是架设在IIS服务器上的。那么 通过以下几个步骤就可以得到一个webshell:

    step1.选择PHPwind后台的“核心设置”中 的“ 动态目录”,可发现其中的“附件保存目录”这一项,其默认的目录为“attachment”,我们在其后面添加“.asp”,这样就成了“attachment.asp”。修改完毕后点击“提交修改”按钮,进行保存。

    图2.修改附件目录

    step2.进入后台的“核心设置”→“发帖与附件”,其中有“上传附件允许后缀”这一项,我们在其中再添加asp和php这两项,注意中间要留有空格,

电脑资料

phpwind论坛史上最大漏洞》(https://www.unjs.com)。添加完毕后点击“提交更改”保存。

    step3.回到论坛的前台,用获得的管理员帐户发一张帖子,帖子内容可以随便填,在附件一栏中,我们需要上传一个asp木马,这个asp木马起到的只是过渡的作用,目的是为了接下去上传PHP木马。

    step4.再回到论坛后台,进入“附件管理”,通过搜索用户名来找到我们刚才上传的asp木马附件,找到后直接点击,即可运行asp木马,然后我们在asp木马中再写入一个PHP木马,这样就可以得到一个功能强大的webshell了。

    测试到这里就结束了,如果论坛的管理员没有对服务器的权限进行合理的设置,那么 在得到webshell后提升权限是很容易的。可能整台服务器就毁在这一个论坛的漏洞上。

    修补漏洞,检查后门

    介绍完这个漏洞的利用过程,相信大家一定对其危害有了一个认识。那么作为网站的站长,如何才能得知自己的论坛是否存在这个漏洞呢?而已经被 捷足先登,被挂上了网页木马的论坛又该如何修复呢?

    漏洞的检查和修补

    要想得知自己的论坛是否存在这个漏洞,很简单,用管理员帐户登录到系统后台。登录后,如果你的论坛存在漏洞,那么PHPwind的后台就会弹出一个安全警告公告,提示用户为论坛打补丁。而当我们打好补丁后,再次登录后台时,这个安全警告公告将不会再出现。是否有漏洞,一看便知。

    图3.后台的安全警告公告

    如果论坛存在漏洞,我们就要趁 动手之前为论坛打好补丁了。补丁我们可以直接在后台弹出的安全警告窗口中点击下载。此外我们也可以直接下载,补丁下载地址为:

    PHPWind5.0.1版:http://www.phpwind.com/5.0/safe_repair.zip

    PHPWind5.3版补丁下载地址:http://www.phpwind.com/5.3/safe_repair.zip

    下载后解压,将其中的upload文件夹上传到论坛所在目录中,覆盖掉存在问题的文件即可。

    修复被更改的管理员密码

    如果你想登录论坛后台,结果却发现论坛提示密码错误,那只能说明你慢了一步, 已经将你的密码给修改了。不过没关系,我们还是能够将管理员密码给改回来的。首先从PHPwind的 处下载一个“论坛创始人密码修复工具”(下载地址为:http://www.phpwind.net/read-htm-tid-392255.html)。然后用记事本打开其中pw_recover.php文件,其中“$new_manager”参数后面即论坛的创始人帐号,如果是admin,那么可以改成$new_manager='admin'。“$new_password”参数是需要修改的密码,填写一个新密码即可。填写完毕后保存,将这个文件上传到服务器上,然后在浏览器中执行该文件即可修复被 更改的管理员密码。

    图4.修复被更改的管理员密码

    检查论坛后台中的木马

    即使把密码回来了,我们还是不能掉以轻心,因为 很可能在后台中动了手脚,以便能长期控制论坛。首先我们要检查的地方是论坛的管理员组,查看是否有可疑的管理员帐户。然后需要检查的地方是论坛插件,尤其要注意“银行插件”是否被改动。接着是论坛的风格模板文件,查看其中是否插入有恶意代码,特别注意“eval”这个单词,因为它是 比较常用的“lankerPHP木马”服务端中的一个单词。此外还需要检查的地方有论坛的“不良词汇过滤”以及“用户组管理”这两处,同样需要检查其中是否插入有恶意代码。

    揪出论坛中的webshell

    论坛被 入侵后,有一样东西一定要查,那就是webshell。如果服务器上存在webshell,即使你修复了论坛的所有漏洞, 可以还是可以通过webshell侵入你的网站。

    在后台检测安全的情况下,建议大家从mysql中导出论坛的数据,然后将站点文件夹中的所有文件删除,然后再重新安装论坛,导入数据。这样就可以避免 在论坛的其他文件中插入PHP木马的服务端,从而再次获得webshell。

    检查是否被挂马

    检查论坛中的文件是否被挂马,我们只要以“”等挂马常见代码为关键字搜索论坛文件的内容即可。这项工作可以交给“Search and Replace”这个工具来做,很快就能够找出存在问题的页面。不过找到后还需要排查,以免误删正常的论坛文件。

    图5.找到存在问题的文件

最新文章