Inter-protocol exploitation

Source: Wikipedia, the free encyclopedia.

Inter-protocol exploitation is a class of

Hypertext Transfer Protocol (HTTP).[2] This attack
uses the potential of the two different protocols meaningfully communicating commands and data.

It was popularized in 2007 and publicly described in research[3] of the same year. The general class of attacks that it refers to has been known since at least 1994 (see the Security Considerations section of RFC 1738).

Internet Protocol implementations allow for the possibility of encapsulating exploit code to compromise a remote program that uses a different protocol. Inter-protocol exploitation can utilize inter-protocol communication to establish the preconditions for launching an inter-protocol exploit. For example, this process could negotiate the initial authentication communication for a vulnerability in password parsing. Inter-protocol exploitation is where one protocol attacks a service running a different protocol. This is a legacy problem because the specifications of the protocols did not take into consideration an attack of this type.

Technical details

The two protocols involved in the vulnerability are termed the carrier and target. The carrier

protocol can encapsulate the commands and/or data sufficiently to meaningfully communicate to the target service.[4]

Two preconditions need to be met for successful communication across protocols: encapsulation and error tolerance. The carrier protocol must encapsulate the data and commands in a manner that the target protocol can understand. It is highly likely that the resulting data stream with induce parsing errors in the target protocol.

The target protocol be must be sufficiently

forgiving of errors
. During the inter-protocol connection it is likely that a percentage of the communication will be invalid and cause errors. To meet this precondition, the target protocol implementation must continue processing despite these errors.

Current implications

One of the major points of concern is the potential for this attack vector to reach through

subnet. An important point is the web browser is not exploited through any conventional means.[4]

Example

JavaScript delivered over HTTP and communicating over the IRC protocol.

var form = document.createElement('form');
form.setAttribute('method', 'post');
form.setAttribute('action', 'http://irc.example.net:6667');
form.setAttribute('enctype', 'multipart/form-data');

var textarea = document.createElement('textarea');
textarea.innerText = "USER A B C D \nNICK turtle\nJOIN #hack\nPRIVMSG #hackers: I like turtles\n";

form.appendChild(textarea);
document.body.appendChild(form);
form.submit();

Known examples of the vulnerability were also demonstrated on files constructed to be valid HTML code and BMP image at the same time.[5][6][7]

References

  1. ^ "Inter-protocol Communication" (PDF). Aug 2006. Archived from the original (PDF) on 2008-05-11. Retrieved 2013-02-22.
  2. ^ "HTML Form Protocol Attack".
  3. ^ "Inter-protocol Exploitation". 2007-03-05. Archived from the original on 2010-11-04. Retrieved 2010-07-08.
  4. ^ a b Biancuzzi, Federico (27 June 2007). "Worms 2.0!". www.theregister.com. Retrieved 23 August 2022.
  5. ^ "Marco Ramilli's Blog: Hacking through images". marcoramilli.blogspot.co.uk. Retrieved 2015-05-13.
  6. S2CID 14070590
    .
  7. ^ "The Dalì Attack on Digital Signature" (PDF). www.softcomputing.net. Retrieved 2015-05-13.