齐博CMS某处任意文件写入getshell(需要一定权限)

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### 简要描述: 一个二次操作造成的任意文件写入。需要一定权限,自评为鸡肋。作为一个诚实的孩子,是怎样就怎样,我会把问题说的很清楚以避免误会哦~ ### 详细说明: 只拿整站做说明,下载最新版本。 /inc/function.inc.php 1507行 ``` //自定义内容页文件名缓存生成 function get_showhtmltype(){ global $db,$pre,$Fid_db; $query = $db->query("SELECT aid,htmlname FROM {$pre}article WHERE htmlname!=''"); while($rs = $db->fetch_array($query)){ $show.="\$showHtml_Type[bencandy][{$rs[aid]}]='$rs[htmlname]';\r\n"; } foreach( $Fid_db[iftable] AS $key=>$erp){ $query = $db->query("SELECT aid,htmlname FROM {$pre}article$erp WHERE htmlname!=''"); while($rs = $db->fetch_array($query)){ $show.="\$showHtml_Type[bencandy][{$rs[aid]}]='$rs[htmlname]';\r\n"; } } write_file(ROOT_PATH."data/showhtmltype.php","<?php\r\n".$show.'?>'); } ``` 一个生成什么页面的函数。我们看到,其中将htmlname从数据库中取出,直接放入$show.="\$showHtml_Type[bencandy][{$rs[aid]}]='$rs[htmlname]';\r\n";。那么htmlname只要闭合前面的引号(因为是二次操作,所以不需要考虑全局的addslashes),就能造成PHP代码最后写入ROOT_PATH."data/showhtmltype.php"文件。 我们看到这个函数在哪里调用: [<img...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息