Oracle HTTP Server - Cross-Site Scripting Header Injection








          Oracle HTTP Server XSS Header Injection 
# Attack Pattern ID  : CAPEC-86
# CWE ID             : CI-79
# OWASP IDs          : A1-Injections, A2-Cross Site Scripting (XSS)
# CVE ID             : not yet
# Related CVEs       : CVE-2006-3918, CVE-2007-0275
# A.K.A              : Unfiltered Header Injection
# Product Type       : Application
# Vendor             : Oracle Corporation
# Product            : Oracle HTTP Server for Oracle Application Server 10g
# Vulnerable Versions:  
# Probably Vulnerable: (not tested),,,,
# Severity           : Medium
# Tested on	     : Linux, Windows Server 2003
# Download link      :
# Date               : 12/06/2011
# Google Dork        : allintitle:"Oracle HTTP Server -"
[-] Credit    : Yasser ABOUKIR
[-] Site      : 
[-] Email     :
[-] Occupation: ITC security engineering student at ENSIAS - Morocco
[+] Vulnerability description:
	The Oracle HTTP Server does not sanitize the Expect header from an HTTP request when it is reflected back in an error message, which might allow cross-site scripting (XSS) style attacks using web client components that can send arbitrary headers in requests, as demonstrated using a Flash SWF file. 

[+] Vulnerability origin: 
	Oracle HTTP Server (OHS) developed by Oracle Corporation is an OracleAS 10g's Web Server component.  The vulnerable product is based on the Apache 1.3 Web server.  This later is vulnerable to Unfiltered Header Injection  which makes the vulnerability’s origin of this OHS version.

[+] PoC: 
  See the video in Youtube:
  See the PDF:

[+] Attack:
  	> Atack Prerequisites for a successful exploitation:
		Target software must be a client that allows scripting communication from remote hosts. Crafting the attack to exploit this issue is not a complex process. However most of the unsophisticated attackers will not know that such an attack is possible. Also an attacker needs to reach his victims by enticing them to visit remote site of some sort to redirect them and data to. 
	> Attacker Skills or Knowledge Required
 		- Skill or Knowledge Level: Low
			To achieve a redirection and use of less trusted source, an attacker can simply edit HTTP Headers that are sent to client machine.
       		- Skill or Knowledge Level: High
			Exploiting a client side vulnerability to inject malicious scripts into the browser's executable process.
	> Methods of Attack
		- Injection
		- Modification of Resources
		- Protocol Manipulation
	> Exploit:
		- Steal session IDs, credentials, page content, etc.: 
 As the attacker succeeds in exploiting the vulnerability, he can choose to steal user's credentials in order to reuse or to analyze them later on.
		- Forceful browsing: 
When the attacker targets this Oracle application (through CSRF vulnerabilities, Clickjacking), the user will then be the one who perform the attacks without being aware of it. 
		- Content spoofing:
By manipulating the content, the attacker targets the information that the user would like to get from the Website.

[+]  Solution:
A solution to this issue might be the update/upgrade to the Oracle HTTP Server 11g  which is based on Apache 2.2.  In fact, Oracle supports only the code they ship with the Oracle Application Server 10g. Externally added modules or other changes are not supported.  As a matter of fact, security patches from the Apache organization in its latest versions 1.3.35/2.0.58/2.2.2 to this vulnerability onto Oracle HTTP Server should not be applied. 

[+] References:
Oracle Application Server 10g Release 3 ( Overview of Oracle HTTP Server, An Oracle White Paper, October 2006

PDF Mirror: (XSS_Header_Injection_in_OHS_by_Yasser.pdf)