查看: 13324|回复: 3

最土团购注入一枚可直接提升自己为管理 & 无限刷钱

[复制链接]
  • TA的每日心情
    慵懒
    2022-4-16 15:45
  • 签到天数: 247 天

    [LV.8]以坛为家I

    发表于 2014-6-12 11:04:05 | 显示全部楼层 |阅读模式
    在order/chinabank/notify.php中
    [AppleScript] 纯文本查看 复制代码
    <pre><code>$key = $INI['chinabank']['sec'];
    $v_oid     = trim($_POST['v_oid']);  // 商户发送的v_oid定单编号   
    $v_pmode   = trim($_POST['v_pmode']); // 支付方式(字符串)   
    $v_pstatus = trim($_POST['v_pstatus']);   //支付状态 :20 成功,30 失败
    $v_pstring = trim($_POST['v_pstring']);   // 支付结果信息
    $v_amount  = trim($_POST['v_amount']);     // 订单实际支付金额
    $v_moneytype = trim($_POST['v_moneytype']); //订单实际支付币种    
    $remark1   = trim($_POST['remark1' ]);      //备注字段1
    $remark2   = trim($_POST['remark2' ]);     //备注字段2
    $v_md5str  = trim($_POST['v_md5str' ]);   //拼凑后的MD5校验值  
     
    /* 重新计算md5的值 */
    $text = "{$v_oid}{$v_pstatus}{$v_amount}{$v_moneytype}{$key}";
    $md5string = strtoupper(md5($text));
     
     
    /* 判断返回信息,如果支付成功,并且支付结果可信,则做进一步的处理 */
    if ($v_md5str == $md5string) {
        list($_, $order_id, $city_id, $_) = explode('-', $v_oid, 4);
        if($v_pstatus=="20") {
     
            /* charge */
            if ( $_ == 'charge' ) {
                @list($_, $user_id, $create_time, $_) = explode('-', $v_oid, 4);
             
                 
                ZFlow::CreateFromCharge($v_amount, $user_id, $create_time, 'chinabank');
                die('ok');
            }</code></pre>

    key是空的 不用管他。 只是一点点的验证。 MD5相等可好, 然后把v_oid用来切割。

    然后带入CreateFromCharge
    [AppleScript] 纯文本查看 复制代码
    <pre><code>static public function CreateFromCharge($money,$user_id,$time,$service='alipay',$trade_no=''){
     
            global $option_service;
            if (!$money || !$user_id || !$time) return 0;
         
            $pay_id = "charge-{$user_id}-{$time}";
            $pay = Table::Fetch('pay', $pay_id);
            if ( $pay ) return 0;
         
            $order_id = ZOrder::CreateFromCharge($money,$user_id,$time,$service);
     
            if (!$order_id) return 0;
     
            //insert pay record
            $pay = array(
                'id' =&gt; $pay_id,
                'vid' =&gt; $trade_no,
                'order_id' =&gt; $order_id,
                'bank' =&gt; $option_service[$service],
                'currency' =&gt; 'CNY',
                'money' =&gt; $money,
                'service' =&gt; $service,
                'create_time' =&gt; $time,
            );
            DB::Insert('pay', $pay);
            ZCredit::Charge($user_id, $money);
            //end//
     
            //update user money;
         
            $user = Table::Fetch('user', $user_id);
         
            Table::UpdateCache('user', $user_id, array(
                        'money' =&gt; array( "money + {$money}" ),
                        ));
     
            $u = array(
                    'user_id' =&gt; $user_id,
                    'admin_id' =&gt; 0,
                    'money' =&gt; $money,
                    'direction' =&gt; 'income',
                    'action' =&gt; 'charge',
                    'detail_id' =&gt; $pay_id,
                    'create_time' =&gt; $time,
                    );
            return DB::Insert('flow', $u);
        }</code></pre>

    这里有一个insert 语句 和一个update语句。

    insert 里面的都被单引号了。 而且如果我们提交单引号的话还会被转义。
    [AppleScript] 纯文本查看 复制代码
    <pre><code>Table::UpdateCache('user', $user_id, array(
                        'money' =&gt; array( "money + {$money}" ),
                        ));</code></pre>

    看这个update $money是没有单引号的。

    然后带入查询 首先构造一下语句。

    由于 管理和用户都是在user表里 是通过manager这个column 用来判断是否为管理员。

    我们给我们自己的用户的manager update成y 即可成为管理员。

    UPDATE `user` SET `money`=money + asd WHERE `id`='88'

    执行的语句如此。 我们构造一下语句。
    25195752aeaba69ed3c83d115f7ad42e42f8df77.jpg
    25195820e0aa35f913fa987ffad20545ea51bd6b.jpg
    251959241d8209af5fa2fb1b5cfea0f3f3f7fa2a.jpg

    评分

    参与人数 2i币 +20 收起 理由
    名哲 + 10 感谢分享
    蓝色_ + 10 感谢分享

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情

    2021-9-9 23:35
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2014-6-12 15:09:35 | 显示全部楼层
    猥琐的坐了沙发
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-3-20 01:51
  • 签到天数: 43 天

    [LV.5]常住居民I

    发表于 2014-6-12 19:16:43 | 显示全部楼层
    猥琐的跟着蓝色坐板凳
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-6-14 02:45:07 | 显示全部楼层
    不错 感谢公开
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-5-18 22:33 , Processed in 0.036134 second(s), 24 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部