Lucene search
K

ProjectPier index.php Multiple Parameter XSS

🗓️ 19 Feb 2008 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 29 Views

ProjectPier index.php XSS vulnerabilit

Related
Refs
Code
ReporterTitlePublishedViews
Family
CVE
CVE-2008-5584
15 Dec 200817:45
cve
Cvelist
CVE-2008-5584
15 Dec 200817:45
cvelist
EUVD
EUVD-2008-5559
7 Oct 202500:30
euvd
NVD
CVE-2008-5584
15 Dec 200818:00
nvd
Prion
Cross site scripting
15 Dec 200818:00
prion
Positive Technologies
PT-2008-6645 · Projectpier · Projectpier
15 Dec 200800:00
ptsecurity
#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(31117);
  script_version("1.20");
  script_set_attribute(attribute:"plugin_modification_date", value:"2022/04/11");

  script_cve_id("CVE-2008-5584");
  script_bugtraq_id(27857);

  script_name(english:"ProjectPier index.php Multiple Parameter XSS");

  script_set_attribute(attribute:"synopsis", value:
"The remote web server contains a PHP application that is affected by
cross-site scripting vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The remote host is running ProjectPier, an open source project
management tool written in PHP. 

The version of ProjectPier installed on the remote host fails to
sanitize user input to the 'ref_c' and 'ref_a' parameters of the
'index.php' script before using it to generate dynamic HTML output. 
An unauthenticated attacker can exploit this to inject arbitrary HTML
and script code into a user's browser to be executed within the
security context of the affected site. 

Note that there are also reportedly several other vulnerabilities
associated with this version of ProjectPier, although Nessus has not
checked for them.");
  script_set_attribute(attribute:"see_also", value:"https://www.securityfocus.com/archive/1/488294");
  # https://web.archive.org/web/20150912160032/http://www.projectpier.org/node/679
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?fe0dd32d");
  script_set_attribute(attribute:"solution", value:
"Upgrade to ProjectPier 0.8.0.1 or later.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:H/RL:OF/RC:C");

  script_set_attribute(attribute:"exploitability_ease", value:"No exploit is required");
  script_set_attribute(attribute:"exploit_available", value:"false");
  script_cwe_id(79);

  script_set_attribute(attribute:"plugin_publication_date", value:"2008/02/19");

  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:projectpier:projectpier");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  script_end_attributes();

  script_category(ACT_ATTACK);
  script_family(english:"CGI abuses : XSS");

  script_copyright(english:"This script is Copyright (C) 2008-2022 Tenable Network Security, Inc.");

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

  exit(0);
}


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

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


exploit1 = string('nessus"><script>alert(', rand(), ')</script>');
exploit2 = string(SCRIPT_NAME, '"><script>alert(', rand(), ')</script>');


# Loop through directories.
if (thorough_tests) dirs = list_uniq(make_list("/projectpier", cgi_dirs()));
else dirs = make_list(cgi_dirs());

foreach dir (dirs)
{
  # Inject some script code.
  r = http_send_recv3(method:"GET",
    item:string(
      dir, "/index.php?",
      "c=access&",
      "a=login&",
      "ref_c=", urlencode(str:exploit1), "&",
      "ref_a=", urlencode(str:exploit2)
    ),
    port:port
  );
  if (isnull(r)) exit(0);
  res = r[2];

  # There's a problem if we see our exploits in the form.
  if (
    string('login[ref_c]" value="', exploit1, '"') >< res ||
    string('login[ref_a]" value="', exploit2, '"') >< res
  )
  {
    security_warning(port);
    set_kb_item(name: 'www/'+port+'/XSS', value: TRUE);
    exit(0);
  }
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation