Anwsion 漏洞

2012-10-27 23:31:09 23 1256
耶稣的意思不信我有
我就先发俩
一个受GPC的注入
一个不受的
先说第一
account/main.php
function register_action()
        {
                if ($this->user_id && $_GET['invite_question_id'])
                {
                        $invite_question_id = intval($_GET['invite_question_id']);
                       
                        if ($invite_question_id)
                        {
                                HTTP::redirect('/question/' . $invite_question_id);
                        }
                }
               
                if(! $this->user_id)
                {
                        if($_GET['fromuid'])
                        {
                                HTTP::set_cookie('fromuid', $_GET['fromuid']);
                        }
                       
                        if($_GET['fromemail'])
                        {
                                HTTP::set_cookie('fromemail', $_GET['fromemail']);
                        }
                }

                $icode = trim($_GET['icode']);//这里
               
                if (get_setting('invite_reg_only') == 'Y' && !$icode)
                {
                        H::redirect_msg('本站只能通过邀请注册', '/');
                }
               
                if($icode) //上面的就不用看了
                {
                        //检验失败
                        if ($this->model('invitation')->check_code_available($icode)) //查询 看函数
                        {
                                TPL::assign('icode', $icode);
                        }
                        else
                        {
                                H::redirect_msg('邀请码无效或已经使用,请使用新的邀请码', '/');
                        }
                }
        function invitation_code_active($invitation_code, $active_time, $active_ip, $active_uid)
        {
                $c_arr['invitation_code'] = $invitation_code;
                $c_arr['active_time'] = $active_time;
                $c_arr['active_ip'] = $active_ip;
                $c_arr['active_uid'] = $active_uid;
                $c_arr['active_status'] = 1;
               
                return $this->update('invitation', $c_arr, "invitation_code='{$invitation_code}' and active_status=0"); //受gpc..
不受的
feed/main.php
public function index_action()
        {
                header('Content-type: text/xml; charset=UTF-8');
                echo '<?xml version="1.0" encoding="UTF-8"?>';
               
                if ($_GET['category'])
                {
                        $list = $this->model('question')->get_question_list(false, null, 20, 'add_time DESC', 'category_id = ' . intval($_GET['category']));
                }
                else if ($_GET['topic']) //这个
                {
                        if ($question_ids = $this->model('topic')->get_question_ids_by_topics_ids($_GET['topic'], 20, null, 'question_id DESC')) //看函数声明
                        {
                                $list = $this->model('question')->get_question_list(false, null, 20, 'add_time DESC', 'question_id IN (' . implode(',', $question_ids) . ')');
                        }
                }
function get_question_ids_by_topics_ids($topic_ids, $limit, $where = null, $order = 'update_time DESC')
        {
                if (!is_array($topic_ids))
                {
                        $topic_id_in = $topic_ids;
                }
                else
                {
                        $topic_id_in = implode(',', $topic_ids);
                }
               
                if ($where)
                {
                        $where = ' AND ' . $where;
                }
               
                $_order = explode(' ', $order);
               
                if (!$where AND $_order[0] == 'question_id')
                {
                        $result = $this->query_all("SELECT question_id FROM " . $this->get_table('topic_question') . " WHERE topic_id IN (" . $topic_id_in . ") ORDER BY " . $order, $limit);//这里
                }
                else
                {
                        if (!$result = $this->model('cache')->load('question_ids_by_topics_ids_' . md5($topic_id_in . $limit . $order)))
                        {
                                $result = $this->query_all("SELECT question_id FROM " . get_table('question') . " WHERE EXISTS (SELECT question_id FROM " . $this->get_table('topic_question') . " WHERE " . get_table('question') . ".question_id = " . $this->get_table('topic_question') . ".question_id AND topic_id IN (" . $topic_id_in . ")) " . $where . " ORDER BY " . $order, $limit);//这里 因为函数最后的参数有设置所以直接的到这里
                               
                                $this->model('cache')->save('question_ids_by_topics_ids_' . md5($topic_id_in . $limit . $order), $result, 3600);
                        }
                }
耶稣 现在信了么 getshell的就不发了

关于作者

评论23次

要评论?请先  登录  或  注册