| AN HTTPd Sample Script File Truncation
Author : Matthew Murphy <firstname.lastname@example.org>
AN HTTPd is a relatively small, powerful web server designed for Windows
systems. It supports ISAPI, CGI, SSI, and several other powerful
technologies (such as isolated worker processes) usually only seen in
production servers. More information on AN HTTPd is available at
AN HTTPd (1.42h and prior) ships with several sample scripts demonstrating
various interpreters the server is capable of using. One of these,
"count.pl", is deployed in the "/isapi" virtual directory.
It takes the
query string as part of a file path, which it uses as a page counter.
HTTPd does not check for directory traversals, and also does not prevent
non-numeric data from being used as counters.
Issuing the following request:
Will place "ctr.dll" in the root of C: with a "1"
as its contents. This
same trick also works on writable files that already exist. An effective
patch for this vulnerability is to issue the following request:
This will destroy the vulnerable component, preventing further exploitation.
Be nice, kiddies :-D
Some nastier stuff:
You get the idea...
Attackers can overwrite any file that the CGI user can access (this userid
is SYSTEM by default if running as a service, or the user running the
if in GUI mode -- usually an administrator). Contents of the destroyed
files cannot be sufficiently controlled to allow for exploitation in most
cases, as the file is replaced with numeric data.
Remove this crappy sample script, and write a web counter that uses
centralized configuration. The exploit shown above will remove this file
from a vulnerable system.