楼主: 90_

天天团购getshell

[复制链接]
  • TA的每日心情

    2024-11-13 20:06
  • 签到天数: 1628 天

    [LV.Master]伴坛终老

    发表于 2015-7-20 11:00:53 | 显示全部楼层 |阅读模式
    转载自90sec@Joseph

    首先跟踪到这个文件:modules\account.mod.php
    [PHP] 纯文本查看 复制代码
    function Login_callback()
            {
                    $from = get('from', 'txt');//$_GET
                    $uuid = account('ulogin')->verify($from);
                    if ($uuid !== false)
                    {
                            if (meta($uuid))
                            {
                                                                    $result = account('ulogin')->login($uuid);
                                    $ref = account()->loginReferer();
                                    $ref || $ref = '?mod=me';
                                    $this->Messager(__('登录成功!').$result, $ref);
                            }
                            else
                            {
                                                                    $data = account('ulogin')->ddata($from);
                                                                    include handler('template')->file('account_active');
                            }
                    }
                    else
                    {
                            $this->Messager(__('快捷登录验证出错!'));
                    }
            }

    然后看着这个正常得再正常类,首先获取了一个from参数然后再进入到verify,跟踪进去瞧瞧
    文件:/include/logic/account.logic.php
    [PHP] 纯文本查看 复制代码
    public function verify($flag)
    {
            $uid = driver('ulogin')->api($flag)->verify();
            return $uid ? 'ul.'.$flag.'.'.$uid : false;
    }

    可以看见传进来的变量又进入到了驱动类中的api中,进行跟踪
    文件:/include/driver/ulogin.drv.php
    [PHP] 纯文本查看 复制代码
    class UnionLoginDriver
    {
             
            public final function api($name)
            {
                    $SID = 'driver.ulogin.api.'.$name;
                    $obj = moSpace($SID);
                    if ( ! $obj )
                    {
                            require dirname(__FILE__).'/ulogin/'.$name.'.php';
                            $className = $name.'UnionLoginDriver';
                            $obj = moSpace($SID, (new $className()));
                    }
                    return $obj;
            }
    }

    可以看见我们的值变成了$name这个变量,然后又链接了一下赋值给$SID最后再进moSpace这个玩意判断了一下(并没有什么卵用),最后一个if判断是不是成立进入,然后就包含了。
    o(︶︿︶)o 唉  又是一个去乌云大会约炮的程序员,好好的代码不写,约什么炮,要跟我学习找女朋友堂堂正正的约.
    20150718215319.png
    证明一下可以跳目录(没办法,我的php版本太高了,根本不存在截断)但肯定是可以截断的.
    20150718215445.png
    大家都说没有找到上传的方式,这里给大家送一个上传方式/index.php?mod=upload&code=Image
    需要写表单
    回复

    使用道具 举报

    该用户从未签到

    发表于 2015-7-20 11:55:58 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-20 20:22:58 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-21 00:09:58 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-21 04:03:21 | 显示全部楼层
    支持中国红客联盟(ihonker.org)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-14 17:44
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2015-7-21 06:03:18 | 显示全部楼层
    支持中国红客联盟(ihonker.org)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-22 01:00:25 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-2-12 22:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2015-7-23 01:58:54 | 显示全部楼层
    感谢楼主的分享~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-8-14 20:30
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2015-7-23 09:12:59 | 显示全部楼层
    代码审计真是一门强大的学问
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-23 11:59:13 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

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

    官方核心成员

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

    GMT+8, 2024-11-22 14:16 , Processed in 0.029956 second(s), 13 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部