频道栏目
首页 > 安全 > 网站安全 > 正文
php云人才系统csrf防护不当可刷钱
2014-12-26 09:40:43         来源:路人甲  
收藏   我要投稿

php云人才系统csrf防护不当可刷钱

搜索了下$_SESSION['pytoken']

一个有两个函数进行了调用

如下

function admin(){
$r=$this->obj->get_admin_user_shell();
$this->registrs();
 if($_POST){
if($_POST['pytoken']!=$_SESSION['pytoken']){
unset($_POST['pytoken']);
$this->obj->ACT_layer_msg("来源地址非法!",3,$this->config['sy_weburl']);
}
}
if(!$_SESSION['pytoken']){
$_SESSION['pytoken'] = substr(md5(uniqid().$_SESSION['auid'].$_SESSION['ausername'].$_SESSION['ashell']), 8, 12);
}
$this->yunset('pytoken',$_SESSION['pytoken']);
}

function check_token(){
if($_SESSION['pytoken']!=$_GET['pytoken'] || !$_SESSION['pytoken'])
{
unset($_SESSION['pytoken']);
$this->obj->ACT_layer_msg("来源地址非法!",8,'index.php');
exit();
}
}



admin这个函数 只进行判断 是不是有post

这样的话 如果get提交数据 便不会检测token。



再就是后台手动完成订单的地方,没有调用check_token这个函数

function setpay_action(){
$del=(int)$_GET["id"];
$row=$this->obj->DB_select_once("company_order","`id`='$del'");
if($row["order_state"]==1||$row["order_state"]==3){
$nid=$this->upuser_statis($row);
isset($nid)?$this->layer_msg("充值记录(ID:".$del.")确认成功!",9):$this->layer_msg("确认失败,请销后再试!",8);
}else{
$this->layer_msg("订单已确认,请勿重复操作!",8);
}
}

1.

我们先来下个订单

 

图片1.png



然后在充值记录生成如下
 

图片2.png



然后去看下去付款的连接为

https://localhost/phpyun/member/index.php?c=payment&id=1

可以知道 充值记录的id为1



2.

后台中

 

图片3.png



抓包如下
 

图片4.png



我们知道没有进行防护

So 我们可以构造出来这样一个url

localhost/phpyun/admin/index.php?m=company_order&c=setpay&id=1

然后让管理员进行访问就可以了。



3.

下面我们把这个url插到企业信息这个页面

然后就等管理员维护企业的时候上钩了,如果着急的话 可以尝试社工

 

图片5.png



这样 我们便充值成功了
 

图片6.png

 

解决方案:

加强过滤

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 刷钱 人才 系统
上一篇:ThinkSNS某处SQL注入漏洞(bypass防注入)
下一篇:Easy link system远程接入系统存在客户端远程命令执行/装木马漏洞
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站