• dedecms /member/flink_main.php SQL Injection Vul


    catalog

    1. 漏洞描述
    2. 漏洞触发条件
    3. 漏洞影响范围
    4. 漏洞代码分析
    5. 防御方法
    6. 攻防思考

    1. 漏洞描述

    会员模块中存在的SQL注入

    Relevant Link

    http://www.cnseay.com/1959/

     
    2. 漏洞触发条件

    1. 打开 http://127.0.0.1/dedecms/member/flink_main.php#
    2. 在连接网址里面写入 http://sss2'),(8,1,@`'`),(8,(select user()),'33333
    /*
    连接名称随意
    这里的8 是你的用户ID 想要查看必须得知道自己的用户id,通过查看cookie里面有一个DedeUserID,就是自己的用户id
    */

    Relevant Link:

    http://www.wooyun.org/bugs/wooyun-2014-048878


    3. 漏洞影响范围
    4. 漏洞代码分析

    /member/flink_main.php

    if($dopost=="addnew")
    {
        AjaxHead();
        $row = $dsql->GetOne("Select count(*) as dd From `#@__member_flink` where mid='".$cfg_ml->M_ID."' ");
        if($row['dd']>=50)
        {
            echo "<font color='red'>增加网址失败,因为已经达到五十个网址的上限!</font>";
            GetLinkList($dsql);
            exit();
        }
        //如果前面有http就不过滤了
        if(!eregi("^http://",$url))
        {
            $url = "http://".HtmlReplace($url, 2);
        }
        $title = HtmlReplace($title);
        //$url未经过过滤就带入SQL查询
        $inquery = "INSERT INTO `#@__member_flink`(mid,title,url) VALUES(".$cfg_ml->M_ID.",'$title','$url'); ";
        $dsql->ExecuteNoneQuery($inquery);
        echo "<font color='red'>成功增加一链接!</font>";
        GetLinkList($dsql);
        exit();
    }


    5. 防御方法

    /member/flink_main.php

    if($dopost=="addnew")
    {
        AjaxHead();
        $row = $dsql->GetOne("Select count(*) as dd From `#@__member_flink` where mid='".$cfg_ml->M_ID."' ");
        if($row['dd']>=50)
        {
            echo "<font color='red'>增加网址失败,因为已经达到五十个网址的上限!</font>";
            GetLinkList($dsql);
            exit();
        }
        //如果前面有http就不过滤了
        if(!eregi("^http://",$url))
        {
            $url = "http://".HtmlReplace($url, 2);
        }
        $title = HtmlReplace($title);
        /* $url过滤 */
        $url = HtmlReplace($url);
        /**/
     
        $inquery = "INSERT INTO `#@__member_flink`(mid,title,url) VALUES(".$cfg_ml->M_ID.",'$title','$url'); ";
        $dsql->ExecuteNoneQuery($inquery);
        echo "<font color='red'>成功增加一链接!</font>";
        GetLinkList($dsql);
        exit();
    }


    6. 攻防思考

    Copyright (c) 2015 LittleHann All rights reserved

  • 相关阅读:
    adb调试链接真机找不到设备
    Java 遍历指定目录下的文件夹并查找包含指定关键字的文件
    java中遍历制定路径下的文件夹查找出文件并打印出路径
    chrome 设置驱动
    Java+Selenium之KSampleOfCM
    Java+selenium 第一个KeyWordsOfWeb
    QT调用Python脚本运行并打包发布
    使用Qt Installer Framework Manual 制作安装向导
    Redis和Memcache对比及选择
    设计模式学习之----代理模式
  • 原文地址:https://www.cnblogs.com/LittleHann/p/4515031.html
Copyright © 2020-2023  润新知