网站地图    收藏   

主页 > 后端 > 网站安全 >

PHPCMS V9视频分享模块SQL注射漏洞分析 - 网站安全

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] 废话不多说了,直接上代码分析\phpcms\modules\video.php(78行代码)/**** 视频添加方法*/public function add() {if ($_POST[#39;dosubmit#39;]) {//首先处理,提交过来的数据 $data[#39;vid#39......

废话不多说了,直接上代码分析
\phpcms\modules\video.php(78行代码)
/**
 * 
 * 视频添加方法
 */
public function add() {
if ($_POST['dosubmit']) {
//首先处理,提交过来的数据
         $data['vid'] = $_POST['vid'];  // 很明显VID没有过滤
if (!$data['vid']) showmessage(L('failed_you_video_uploading'), 'index.php?m=video&c=video&a=add');
$data['title'] = isset($_POST['title']) && trim($_POST['title']) ? trim($_POST['title']) : showmessage(L('video_title_not_empty'),
'index.php?m=video&c=video&a=add&meunid='.$_GET['meunid']);
$data['description'] = trim($_POST['description']);
$data['keywords'] = trim(strip_tags($_POST['keywords']));
//其次向vms post数据,并取得返回值
$get_data = $this->ku6api->vms_add($data);
if (!$get_data) {
showmessage($this->ku6api->error_msg);
}
$data['vid'] = $get_data['vid'];
$data['addtime'] = SYS_TIME;
$data['userupload'] = intval($_POST['userupload']); //这才是重点..
$videoid = $this->v->add($data); // 进数据库了,亲..
if ($videoid) {
showmessage(L('operation_success'), 'index.php?m=video&c=video&a=init&meunid='.$_GET['meunid']);
} else {
showmessage(L('operation_failure'), 'index.php?m=video&c=video&a=add&meunid='.$_GET['meunid']);
}
} else {
if(!$this->ku6api->testapi()) {
showmessage(L('vms_sn_skey_error'),'?m=video&c=video&a=setting&menuid='.$_GET['menuid']);
}
$flash_info = $this->ku6api->flashuploadparam();
$show_validator = true;
include $this->admin_tpl('video_add');
}
} www.2cto.com
好,下面我们继续分析进数据库的那一刹那。。
 \phpcms\modules\classes\v.class.php
*/
public function add($data = array()) {
if (is_array($data) && !empty($data)) {
$data['status'] = 1;
$data['userid'] = defined('IN_ADMIN') ? 0 : param::get_cookie('_userid'); //想玩cookie注入吗?
 //虽然这里没有提到$_data[‘vid’],但是已经在我歌声里了。。
$vid = $this->db->insert($data, true); //插入了,亲!!
return $vid ? $vid : false; 
} else {
return false;
利用这个漏洞提前:
1. 允许注册用户
2. 允许视频上传
利用exp:
利用漏洞: 由于vid是取决于html提交过来的,所以我们只要修改vid的值成“SQL语”就可以了。。
有图有真相。。 感谢 y0umer

www.2cto.com:已转交官方,请等待补丁升级

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论