DCShop exposes sensitive files. Vulnerable version of the CGI allows access to sensitive files containing administrative passwords, transactions, and credit card information
Reporter | Title | Published | Views | Family All 3 |
---|---|---|---|---|
![]() | CVE-2001-0821 | 6 Dec 200105:00 | – | cve |
![]() | CVE-2001-0821 | 22 Nov 200105:00 | – | cvelist |
![]() | CVE-2001-0821 | 6 Dec 200105:00 | – | nvd |
Source | Link |
---|---|
securiteam | www.securiteam.com/unixfocus/5RP0N2K4KE.html |
securityfocus | www.securityfocus.com/bid/2889 |
# SPDX-FileCopyrightText: 2000 Noam Rathaus
# SPDX-FileCopyrightText: 2001 SecuriTeam
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only
if(description)
{
script_oid("1.3.6.1.4.1.25623.1.0.10718");
script_version("2025-04-11T05:40:28+0000");
script_tag(name:"last_modification", value:"2025-04-11 05:40:28 +0000 (Fri, 11 Apr 2025)");
script_tag(name:"creation_date", value:"2005-11-03 14:08:04 +0100 (Thu, 03 Nov 2005)");
script_cve_id("CVE-2001-0821");
script_tag(name:"cvss_base", value:"5.0");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:P/I:N/A:N");
script_name("DCShop exposes sensitive files");
script_category(ACT_GATHER_INFO);
script_copyright("Copyright (C) 2001 SecuriTeam & Copyright (C) 2000 Noam Rathaus");
script_family("Web application abuses");
script_dependencies("find_service.nasl", "no404.nasl", "webmirror.nasl", "DDI_Directory_Scanner.nasl", "global_settings.nasl");
script_require_ports("Services/www", 80);
script_exclude_keys("Settings/disable_cgi_scanning");
script_xref(name:"URL", value:"http://www.securiteam.com/unixfocus/5RP0N2K4KE.html");
script_xref(name:"URL", value:"http://www.securityfocus.com/bid/2889");
script_tag(name:"solution", value:"1. Rename following directories to something hard to guess:
- Data
- User_carts
- Orders
- Auth_data
2. Make these changes to dcshop.setup and dcshop_admin.setup.
- In dcshop.setup, modify:
$datadir = '$cgidir/Data'
$cart_dir = '$cgidir/User_carts'
$order_dir = '$cgidir/Orders'
- In dcshop_admin.setup, modify:
$password_file_dir = '$path/Auth_data'
3. Rename dcshop.setup and dcshop_admin.setup to something difficult to guess.
For example, dcshop_4314312.setup and dcshop_admin_3124214.setup
4. Edit dcshop.cgi, dcshop_admin.cgi, and dcshop_checkout.cgi and modify the
require statement for dcshop.setup and dcshop_admin.setup. That is:
- In dcshop.cgi, modify
require '$path/dcshop.setup'
so that it uses new setup file. For example,
require '$path/dcshop_4314312.setup'
- In dcshop_admin.cgi, modify
require '$path/dcshop.setup'
require '$path/dcshop_admin.setup'
so that it uses new setup file. For example,
require '$path/dcshop_4314312.setup'
require '$path/dcshop_admin_3124214.setup'
- In dcshop_checkout.cgi, modify
require '$path/dcshop.setup'
so that it uses new setup file. For example,
require '$path/dcshop_4314312.setup'
5. Save following file as index.html and upload it to your
/cgi-bin/dcshop directory, thereby hiding directory listing. On
NT servers, you may have to rename this file to default.htm.
This page show 'Internal Server Error' so it is not an error page...
it's just an index.html file to HIDE directories.
6. Replace your current files with above files.");
script_tag(name:"summary", value:"We detected a vulnerable version of the DCShop CGI.
This version does not properly protect user and credit card information.
It is possible to access files that contain administrative passwords,
current and pending transactions and credit card information (along with name,
address, etc).");
script_tag(name:"qod_type", value:"remote_banner_unreliable");
script_tag(name:"solution_type", value:"Workaround");
exit(0);
}
include("http_func.inc");
include("http_404.inc");
include("http_keepalive.inc");
include("port_service_func.inc");
include("list_array_func.inc");
port = http_get_port(default:80);
program[0] = "/dcshop.pl";
program[1] = "/dcshop.cgi";
orders[0] = "/Orders/orders.txt";
orders[1] = "/orders/orders.txt";
Auth[0] = "/Auth_data/auth_user_file.txt";
Auth[1] = "/auth_data/auth_user_file.txt";
unsafe_url_count = 0;
foreach dir (make_list_unique(http_cgi_dirs(port:port), "/dcshop", "/DCshop")) {
if(dir == "/")
dir = "";
for(j = 0; program[j]; j++) {
url = string(dir, program[j]);
if (http_is_cgi_installed_ka(item:url, port:port)) {
unsafe_url_count = 0;
for(k = 0; orders[k]; k++) {
orders_url = string(dir, orders[k]);
success = http_is_cgi_installed_ka(item:orders_url, port:port);
if(success) {
unsafe_urls[unsafe_url_count] = string("DCShop orders file: ", orders_url);
unsafe_url_count = unsafe_url_count + 1;
}
}
flag = 0;
for(k = 0; Auth[k]; k++) {
auth_url = string(dir, Auth[k]);
success = http_is_cgi_installed_ka(item:auth_url, port:port);
if (success) {
flag = 1;
unsafe_urls[unsafe_url_count] = string("DCShop authentication file: ", auth_url);
unsafe_url_count = unsafe_url_count + 1;
}
}
}
}
}
if(unsafe_url_count > 0) {
data = string("\n\n\nThe following files are affected:\n\n");
for(i = 0; i < unsafe_url_count; i++)
data = string(data, unsafe_urls[i], "\n");
security_message(port:port, data:data);
exit(0);
}
exit(99);
Transform Your Security Services
Elevate your offerings with Vulners' advanced Vulnerability Intelligence. Contact us for a demo and discover the difference comprehensive, actionable intelligence can make in your security strategy.
Book a live demo