小猪CMS多用户微信营销平台短信插件开发

靶场上新:PigCMS任意文件上传漏洞 PigCms(又称小猪CMS)是一个基于php+mysql的多用户微信营销系统,是国内使用较多、功能强大、性能稳定的多用户微信营销系统。PigCms存在一处前台任意文件上传漏洞,攻击者可以通过该漏洞进行任意文件上传,从而获取网站权限。hack渗透视频教程,扫码免费领。本文由掌控安全学院-江月投稿。 阅读详情

众所周知,小猪CMS已是当前php软件市场上的领跑者了,他以功能强大,操作界面友好而著称,用户群体非常广。他使用了Thinkphp框架作为底层,所以在进行功能扩展和二次开发时都是相当容易的。今天我就来带大家来做一次替换短信接口的工作。

短信接口使用的是短信宝短信平台的短信接口,小伙伴一定会问为什么使用短信宝作为案例呢?原因很简单,因为短信宝的平台极其稳定,而且短信发送速度相当快捷,验证码和订单通知在3~5秒就能收到,用户体验非常好,所以我们公司一直和短信宝保持着合作关系,小伙伴们也可以去短信宝的官网(http://www.smsbao.com)注册一个账号,还有免费的短信条数送呢。

接下来我就来说一下开发步骤:
1. 先打开项目/Conf/sms.php文件,如果该文件不存在,则自己创建一个。在文件中配置短信宝参数:

<?php 
return array (
  'sms_url' => 'http://api.smsbao.com/sms',
  'sms_user' => 'smsbao',
  'sms_key' => 'key6523',
  'sms_price' => '8',
  'sms_sign' => 'pigcms',
  'sms_mp' => '13888888888',
  'reg_mp_verify' => '0',
);

2.打开项目/PigCms/Lib/ORG/Sms.class.php文件,找到第35行的sendSms方法,修改方法内的短信发送接口参数,改成短信宝的接口参数。

public function sendSms($token, $content='',$mobile='', $send_time='', $charset='utf-8',$id_code = '') {
        $companyid=0;
        if(!(strpos($token,'_') === FALSE)){
            $sarr=explode('_',$token);
            $token=$sarr[0];
            $companyid=intval($sarr[1]);
        }
        if (!$mobile){
            $companyWhere=array();
            $companyWhere['token']=$token;
            if ($companyid){
                $companyWhere['id']=$companyid;
            }
            $company=M('Company')->where($companyWhere)->find();
            $mobile=$company['mp'];
        }

        $thisWxUser=M('Wxuser')->where(array('token'=>Sms::_safe_replace($token)))->find();
        $thisUser=M('Users')->where(array('id'=>$thisWxUser['uid']))->find();
        if ($token=='admin'){
            $thisUser=array('id'=>0);
            $thisWxUser=array('uid'=>0,'token'=>$this->token);
        }

        if(is_array($mobile)){
            $mobile = implode(",", $mobile);
        }

        $content = Sms::_safe_replace($content);
        $data = array(
            'topdomain' => C('server_topdomain'),
            'u' => C('sms_user'),
            'p' =>C('sms_key') ,
            'token' => $token,
            'c' => $content,
            'm'=>$mobile,
            'mobileids'=>'11'
        );
        $post = '';
        foreach($data as $k=>$v) {
            $post .= $k.'='.$v.'&';
        }
        // 短信宝接口配置
        $smsapi_senturl="http://api.smsbao.com/sms";
        $uid =C('sms_user');
        $pwd =C('sms_key') ;
        $mobileids=C('mobileids');
        $return=Sms::send_SMS($smsapi_senturl,$uid,$pwd,$mobile,$content,$mobileids);
        $arr = explode('&',$return);
        $sta=explode("=",$arr[1]);
        $this->statuscode = $sta[1];
        //增加到本地数据库
        $row=array('uid'=>$thisUser['id'],'token'=>$thisWxUser['token'],'time'=>time(),'mp'=>$mobile,'text'=>$content,'status'=>$this->statuscode,'price'=>C('sms_price'));
        M('Sms_record')->add($row);

        if (intval($this->statuscode)==100&&$token!='admin'){
            M('Users')->where(array('id'=>$thisWxUser['uid']))->setDec('smscount');
        }

        return $return;
    }

3.最后我们修改一下后台配置界面文件。打开项目/tpl/System/Site/sms.html,修改为如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>短信接口</title>
<link href="{pigcms::RES}/images/style1.css" type="text/css" rel="stylesheet">
<link href="{pigcms::RES}/images/jquery-1.7.2.min.js" type="text/css" rel="stylesheet">
<link href="{pigcms::RES}/images/jquery.form.js" type="text/css" rel="stylesheet">
<meta http-equiv="x-ua-compatible" content="ie=7" />
</head>
<body class="warp">
<include file="Site:public" />
<script>
function sendtest(){
    location.href="{pigcms::U('Site/smssendtest')}&mp="+document.getElementById('sms_mp').value;
}
</script>
<div id="artlist">
<div id="btl">
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="addn">
 <form id="myform" action="{pigcms::U('Site/insert')}" method="post">
    <tr> 
      <td  height="38" align="right"><strong>共售出:</strong></td>
      <td>{pigcms:$total|default='0'}条
      </td>
    </tr>
    <tr> 
      <td  height="38" align="right"><strong>接口地址:</strong></td>
      <td><input type="text" name="sms_url" value="{pigcms::C('sms_url')}" class="ipt" size="45" /><span>&nbsp;&nbsp;可不用填写</span>
      </td>
    </tr>
    <tr> 
      <td  height="38" align="right"><strong>用户名:</strong></td>
      <td><input type="text" name="sms_user" value="{pigcms::C('sms_user')}" class="ipt" size="45" /><span>&nbsp;&nbsp;</span><span>&nbsp;&nbsp;<a href="http://www.smsbao.com">短信宝注册</a></span>
      </td>
    </tr>
     <tr> 
      <td  height="38" align="right"><strong>短信key:</strong></td>
      <td><input type="text" name="sms_key" value="{pigcms::C('sms_key')}" class="ipt" size="45" />
    </tr>
     <tr> 
      <td  height="38" align="right"><strong>价格:</strong></td>
      <td><input type="text" name="sms_price" value="{pigcms::C('sms_price')}" class="ipt" size="45" /><span> 每条多少分钱(卖给客户的)&nbsp;&nbsp;</span>

    </tr>
    <tr> 
      <td  height="38" align="right"><strong>签名:</strong></td>
      <td><input type="text" name="sms_sign" value="{pigcms::C('sms_sign')}" class="ipt" size="45" /><span>&nbsp;&nbsp;短信的后缀,必须带有签名</span>
    </tr>
    <tr> 
      <td  height="38" align="right"><strong>测试:</strong></td>
      <td><input type="text" name="sms_mp" value="{pigcms::C('sms_mp')}" id="sms_mp" class="ipt" size="45" /><span> 输入手机号以后,然后<a href="###" onclick="sendtest()" style="color:red">点击这里</a></span>进行测试
         </td>
    </tr>

        <input type="hidden" name="reg_mp_verify" value="0" id="regOff" />


      <input type="hidden" name="files" value="<?php echo base64_encode('sms.php');?>" />
      <input type="hidden" name="files_hash" value="<?php echo md5('sms.php|validate_pigcms');?>" />
    <tr> 
      <td height="38" colspan="2">
          <div id="addkey"></div>
          <div style="padding-left:100px;">
            <input type="submit" value="保存设置" id="inpts"/>
          </div>
      </td>
    </tr>
    </form>
</table>
</div><br />
<br />
<br />

</div>
</body>
</html>

好了,短信宝接口替换全部完成。。。只需要修改3个文件,就可以完成整个修改过程,是不是很简单呀。另外,在短信宝官网中也提供了插件下载地址:http://www.smsbao.com/plugin/107.html 小伙伴们可以对着短信宝短信插件,来看我这篇文章,这样会更直观一些。

PigCMS action_flashUpload 任意文件上传漏洞 阅读详情

相关推荐

自定义过滤函数和加载函数——Pig编程

在Pig脚本中加载自定义过滤函数之前,我们需要将打包好的JAR文件上传至Hadoop集群的某个位置,以便Pig可以访问到它。在编写完自定义过滤函数之后,我们需要将其编译和打包成一个可执行的JAR文件,以便在Pig脚本中加载和使用。方法接受一个元组作为输入,我们可以从元组中获取需要过滤的行,并根据定义的关键词进行过滤。如果行包含关键词,则返回。通过自定义过滤函数,我们可以根据自己的需求扩展Pig的功能,实现更加灵活和定制化的数据处理任务。命令,并传递自定义过滤函数的参数,我们可以过滤出包含指定关键词的行。

2301_79326559的博客 151

记一次攻防演练复盘之计中计

0x00 前言 这两天听DR复盘,补充了很多小技能点,真的要非常细心呀,然后下面就是正文了。 领导通知,让我打十天攻防,前四天,平平无奇,两个权限,web系统都是外包的,没打进核心内网。 这次攻防,没有给靶标,也没有给资产,全靠自己进行信息搜集。 0x01 前期信息搜集 信息搜集主要以厂商系统为主,通过使用fofa,云悉,查ICP备案,APP脱壳逆向,公众号接口,小程序,天眼查查母公司以及子公司的备案和资产信息。通过能直接获取到的资产信息,进行二次信息搜集,主要是以C段,B段和目录扫描为主。 ..

Adminxe的博客 1216

PigCMS深度定制与二次开发实战手册

PigCMS(Pig Content Management System)是一个功能强大的内容管理系统(CMS),特别针对中高级Web开发者设计。其采用的MVC(Model-View-Controller)模式为开发者提供了清晰的架构,便于开发高性能、高可用性的Web应用。在PigCMS中,权限通常按照角色来分配,每个角色可以具有不同的权限集合。权限可以是查看、编辑、发布内容等。角色定义定义角色时,可以使用权限矩阵来明确角色的权限范围。权限分配。

weixin_42300144的博客 656

《pigcms v6.2最新完美至尊版无任何限制,小猪微信源码多用户微信营销服务平台系统》

《pigcms v6.2最新完美至尊版无任何限制,小猪微信源码多用户微信营销服务平台系统》 前两天分享了套小猪CMS(PigCms)多用户微信营销服务平台系统V6.1完美破解至尊版带微用户管理CRM+微信支付,还是不少童鞋反应出不少问题。今天再分享套小猪pigcms v6.2最新完美至尊版无任何限制,pigcms多用户微信营销服务平台系统,非常感谢我们网站一位童鞋提供了这套源码,现在源码我们正在

qibawangla的专栏 2162

PIGCMS微信公众平台营销系统小猪cms源码V8.3.rar

微信营销,

PIGCMS最新最全公众号运营平台完整版 无需破解 亲测可用

PIGCMS最新最全公众号运营平台完整版 无需破解 亲测可用

小猪CMS最新微信收银系统程序源码

小猪CMS最新微信收银系统程序 (刷卡支付、卡券核销、扫码支付、固定金额二维码收款

pigcms二次开发文档

pigcms二次开发文档,东西齐全

读《创始人洪涛:小猪CMS之前,我的匆匆那年》的一些感悟

写在前面 最近看了php.cn这个php中文网创始人的一些文章,然后才知道这个创始人是小猪cms的创始人洪涛。 翻看了网上的一些关于这个人的创业经历,发现自己真的是拼劲不足,要向他好好学习啊。 下面是关于小猪cms的个人经历,来源于互联网,记录下来是为了时刻激励自己,如果原作者觉得有侵权,请联系我删除。下面文章中是作者以第一人称阐述的。 ---------小猪cms创始人经历-----------...

大飞笔记(www.it100.site) 1298

小猪CMS本地生活通O2O系统源码多城市商业版V7.3

小猪CMS本地生活通O2O系统源码多城市商业版V7.3

pigcms小猪10月27号完整包 安装就可以直接安装

微信 小猪 pigcms 微信第三方程序内置120多套功能模块(完美可用),内含14套前台风格,可以自由切换,近400套微官网模板。 安装方法:1.导入数据库 修改conf文件夹里的db.php文件数据库信息。后台账号密码admin和admin 后台地址是域名/pi.php 安装环境必须要php5.4+mysql和zend 如果没有这样的环境就别下载安装了 小白推荐用 phpstudy

pigxCloud微服务项目02——服务端——使用云MAS短信接口,发送手机短信验证码

使用云MAS短信接口,发送手机短信验证码1、登录云MAS业务平台2、获得相关参数3、工具类4、手机验证码业务实现类 1、登录云MAS业务平台 地址:http://mas.10086.cn/login 下载文档后,根据文档说明,配置获得相关参数。 2、获得相关参数 参数写到配置文件 application.properties (实际值已省略) # 集团客户名称 sms.ecName= # 用户名 sms.apId= # 密码 sms.secretKey= # 签名编码。在云MAS平台『管理』→『接口管理』

qq_28680277的博客 1748

宇树G1双足机器人SLAM开发环境搭建实战指南

SLAM(同步定位与建图)是机器人自主导航的核心技术。在双足人形机器人平台上,由于运动模型复杂、机身晃动带来高频IMU噪声,SLAM开发对环境配置和依赖管理提出了更高要求。以宇树G1为例,系统阐述如何通过Ubuntu 20.04、ROS Noetic与Docker容器化方案构建可复现的SLAM开发环境。先介绍依赖分层管理与版本锁定原理,再深入catkin工作空间编译、传感器驱动集成、网络与多机通信配置等工程实践,最后提供常见问题排查与避坑指南。这套方法论不仅适用于G1,也可迁移至其他双足或轮式机器人平台,帮

weixin_32025789的博客 265
上一篇: iWebShop如何替换短信接口
下一篇: 骑士人才系统替换短信接口
mindev
博客等级 码龄10年 11粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值