php168v4.0漏洞,PHP168 V6.02整站系统远程执行任意代码漏洞

这段代码主要涉及博客投稿的逻辑处理,包括检查权限、栏目选择、信息获取和操作验证等步骤。当用户尝试发表或修改文章时,程序会根据用户ID、文章ID和回复ID来获取相关信息,并判断用户是否有权在特定栏目进行操作。如果用户无权或栏目不存在,将显示错误信息。同时,代码提供了一个栏目选择的功能,列出用户有权发表文章的栏目供用户选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

if(!$aid&&!$rid){

$aid=$id;

}

if($rid)

{

if(!$aid){

showerr("aid不存在!");

}

$erp=get_id_table($aid);

//修改主题或修改多页都可

$rsdb=$db->get_one("SELECT R.*,A.* FROM {$pre}article$erp A LEFT JOIN {$pre}reply$erp R ON A.aid=R.aid WHERE R.rid='$rid'");

$aid=$rsdb[aid];

$fid=$rsdb[fid];

$mid=$rsdb[mid];

}

elseif($aid)

{

$erp=get_id_table($aid);

//只能是修改主题/续发文章

$rsdb=$db->get_one("SELECT R.*,A.* FROM {$pre}article$erp A LEFT JOIN {$pre}reply$erp R ON A.aid=R.aid WHERE A.aid='$aid' ORDER BY R.rid ASC LIMIT 1");

isset($fid) || $fid=$rsdb[fid];

$mid=$rsdb[mid];

}

//让用户选择栏目

if((!$fid&&!$only)||$jobs=="choose")

{

$sortdb=array();

if( $webdb[sortNUM]>500||$fid ){

$rows=100;

$page<1 && $page=1;

$min=($page-1)*$rows;

$showpage=getpage("{$pre}sort","WHERE fup='$fid'","?lfj=$lfj&job=$job&jobs=$jobs&only=$only&mid=$mid&fid=$fid",$rows);

$query = $db->query("SELECT * FROM {$pre}sort WHERE fup='$fid' ORDER BY list DESC,fid ASC LIMIT $min,$rows");

while($rs = $db->fetch_array($query)){

$rs[post]=$rs[NUM]=$rs[do_art]='';

[email protected](",",$rs[admin]);

[email protected](",",$rs[allowpost]);

if(!$rs[type]&&( $web_admin||($lfjid&&@in_array($lfjid,$detail_admin))[email protected]_array($groupdb['gid'],$detail_allowpost) ))

{

$erp=$Fid_db[iftable][$rs[fid]];

$_rs=$db->get_one("SELECT COUNT(*) AS NUM FROM {$pre}article$erp WHERE fid='$rs[fid]' AND uid='$lfjuid'");

if($_rs[NUM]&&$lfjid){

$rs[NUM]="( {$_rs[NUM]} )";

$rs[do_art]="管理";

}

$rs[post]="发表";

$allowpost++;

}

$sortdb[]=$rs;

}

if($fid){

$show_guide="返回顶级目录 ".list_sort_guide($fid);

}

}else{

list_post_allsort();

if(!$allowpost){

showerr("你所在用户组无权发表文章",1);

}

}

$MSG="请选择一个栏目投稿";

require(dirname(__FILE__)."/"."head.php");

require(dirname(__FILE__)."/"."template/post_set.htm");

require(dirname(__FILE__)."/"."foot.php");

exit;

}

if($fid||$step){

$fidDB=$db->get_one("SELECT * FROM {$pre}sort WHERE fid='$fid'");

!$fidDB && showerr("栏目有误");

$fidDB[type]!=0 && showerr("你只能选择子栏目发表内容!");

}

$job=='postnew' && !$mid && $mid=$fidDB[fmid];

if($lfjid&&@in_array($lfjid,explode(',',$fidDB[admin])))

{

$web_admin=1;

}

if($fidDB&&!$web_admin&&!in_array($groupdb[gid],explode(',',$fidDB[allowpost])))

{

showerr("你所在用户组无权在本栏目“{$fidDB[name]}”有任何操作");

}

if(!$lfjid&&$job!='postnew')

{

showerr("游客无权操作");

}

$atc_power=0;

if($lfjid)

{

if($web_admin||$lfjuid==$rsdb[uid]){

$atc_power=1;

}

}

$uid=isset($rsdb[uid])?$rsdb[uid]:$lfjuid;

if($job=='endHTML')

{

$htmlurldb=get_html_url();

//首页生成静态

@unlink(PHP168_PATH."index.htm.bak");

rename(PHP168_PATH."index.htm",PHP168_PATH."index.htm.bak");

refreshto("myarticle.php?job=myarticle&mid=$mid&only=$only","

[ 发表新主题] [ 续发本主题] [ 返回文章列表] [ 查看文章] [ 修改文章]
",60);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值