PHPBB 2.0.22 MOD版最新注入漏洞

    [雨 November 16, 2007 10:16 | by ]
作者:hackest [H.S.T]
PHPBB是国内使用非常多的一款PHP论坛程序,该套论坛还有不少的台湾用户呢!这次出现的注入漏洞主要是针对PHPBB简体中文MOD版,连最新的2.0.22版本也受影响(通杀低版本的PHPBB2 MOD版)。关于该漏洞的形成原因我们不作讨论,有兴趣的朋友可以自己阅读代码分析一下,本文将主要介绍该漏洞的详细利用以及如何在后台拿到Webshell。
我到PHPBB中文官方网站下载了最新版本的2.0.22,在本机搭建了PHP环境以做测试。要寻找使用这套程序的论坛可以在Google里以“Powered by phpBB © 2001, 2005 phpBB Group”为关键字搜索,如果要找国内的目标就以“Powered by phpBB © 2001, 2005 phpBB Group phpBB中文开发小组提供技术支持”为关键字进行搜索。这个漏洞可以直接暴出论坛管理员的用户名及32位MD5加密密码。
高手们已经制作出了针对该漏洞的利用工具(伤心的鱼友情赠送给我的),其界面如图1所示。




工具上面标明了“phpBB<=2.0.22 Links MOD Exp”,针对最新版本2.0.22有效。其实针对旧版本的MOD版PHPBB程序也是同样有效的!到底如何利用呢?非常简单!只要在Url后面填上目标论坛的访问地址(注意要连最后面的/也必须填上,否则会出错),然后直接点“暴”,如果目标存在漏洞,就会暴出管理员的用户名和32位的MD5密码,测试结果如图2所示。



成功暴出了管理员的用户名(hackest)和32位MD5密码(3787795aeee01c9ab7267f252c932572),将密码放到www.cmd5.com网站上进行查询密码明文,如图3。



至于密码能不能查出来,那就得看密码的复杂程度如何了。查询出密码明文后就可以直接登录论坛,然后再点击论坛底部的“管理员控制面板”打开后台登录窗口,使用得到的密码进入后台,如图4。



前面所讲述的操作都非常简单,基本上没有什么太大的难度。可是进入了后台要获取Webshell就有点麻烦了,PHPBB旧版本还可以直接添加上传类型为PHP的文件,然后直接上传PHP的后门得到Webshell。可是,最新版本的PHPBB后台已经不允许添加上传类型了,如图5。



可以利用的基本上都限制了,经测试发现部分空间可以添加inc扩展名,然后前台发帖上传扩展为inc的PHP后门程序也可以成功解释执行。不过这个方法局限性太大,但有部分论坛确实是可以成功的!添加inc扩展名的操作也比较简单。在后台找到“扩展名”—“扩展名控制”,然后在“扩展名”里填入inc,勾选上“增加”,其它默认,然后点提交即可,如图6。



然后在前台发帖或编辑帖子来上传附件,上传扩展名为inc的PHP后门,再在预览里找到Webshell的访问路径即可得到Webshell(在预览里直接点击附件名即可打开Webshell)。当然了,要是空间支持其它脚本,大可以添加上传jsp后门哦。如果要添加asp后门也是有办法的,虽然“禁止扩展名”里禁止了上传asp。但是我们可以先把禁止了的asp删除掉,然后再参照添加inc扩展名的方法添加即可。
除了这个方法可以拿到Webshell外,还有一个稍为复杂点的方法。这个方法同样局限性也很大,因为要求论坛要使用具有root权限的MySQL用户名和密码才可以成功!
具体操作步骤如下(以本机架设的测试论坛举例说明):
1、先使用管理员用户名和密码登录后台;
2、在浏览器中访问http://127.0.0.1/admin/admin_disallow.php?setmodules=00(会看到空白页面);
3、在后台找到“总体管理”—“备份数据库”,执行备份数据库操作(备份完毕会自动弹出下载窗口,下载保存本地即可);
4、复制备份文件另存一份(用于导出Webshell后恢复论坛),使用记事本打开下载回来的数据库文件phpbb_db_backup.sql,查找关键字●Insert INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES●,一共有两处!●Insert INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES●后面的内容会根据情况而有所不同。比如我这里是●Insert INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES('1', '测试分区', '10');●;
5、把●Insert INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES('1', '测试分区', '10');●改为●Insert INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES('1', '', '10');Select cat_title INTO OUTFILE 'D:\\Program Files\\VertrigoServ\\www\\shell.php' FROM phpbb_categories where cat_id=1;●,保存即可。简单的解释一下,“D:\\Program Files\\VertrigoServ\\www\\shell.php”是导出Webshell的绝对路径(即为我本机的论坛安装目录),这个方法是利用数据库操作实现的,先往一个已存在的表段里插入PHP一句话后门,然后再使用“Select 表段名 INTO OUTFILE”导出到论坛目录,从而得到Webshell(要注意的是里面的绝对路径一定要把\替换成\\,否则不可以成功,而*nix类系统使用/连结路径);
6、在后台找到“总体管理”—“恢复数据库”,浏览选中刚才改好的备份文件phpbb_db_backup.sql,然后点击“开始恢复”,恢复完毕后一般会看到一些错误,不必理会,过会儿会恢复就是了;
7、使用一句话客户端连接http://127.0.0.1/shell.php,得到简易的Webshell,如图7;
8、参照第6步,使用未修改过的phpbb_db_backup.sql恢复论坛数据(要是不恢复,论坛会出错)!



至此就顺利得到了Webshell,就是操作上有点繁琐。接下来怎么玩就是你自己的事了,嘿嘿……喜欢的话就上传大马什么的,然后提权……由于我本机架设的PHP环境没有做权限设置,是可以直接执行系统命令的。这种办法麻烦了点,而且要求的权限的也非常特殊,倘若论坛使用的并不是root权限的用户,不可以调用“Select 表段名 INTO OUTFILE”,将无法成功导出Webshell。还有一个就是要得到绝对路径,这个倒是好办,直接在论坛访问地址后面加上db/oracle.php,回车即可暴出论坛的绝对路径,如图8。



这是利用了PHPBB的另一个暴绝对路径的漏洞。至于其它更完美的在后台得到Webshell的办法,由于本人技术十分有限,研究数天也没有找到太通用的拿Webshell方法,实在是美中不足!如有任何问题请到X官方论坛发帖共同探讨。

(文章中涉及到的工具PHPBB漏洞利用工具、phpbb_db_backup.sql、ASP+PHP两用Shell已经收录在光盘中)

小编点评:

PHPBB在国内的用户还是比较多的,台湾同胞也有很大一部分用户使用该套论坛程序。这次暴出的这个漏洞可谓是相当严重了,可惜只针对MOD的版本才有效!拿到利用工具的时候小编测试了一下,发现许多论坛还是可以成功利用的!可惜后台拿Webshell的方法始终不够完美,因为局限性都非常大。不过要是结合社会工程学尝试用得到的密码登录FTP、远程终端、SSH什么的,或许也会有意外的收获哦!

Tags: , ,
Technology | Comments(1) | Trackbacks(0) | Reads(13186)
站站优酷 Email Homepage
November 16, 2007 17:24
什么东东,我没用过。
Pages: 1/1 First page 1 Final page
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive