Vor einiger Zeit bin ich über eine Schwäche in der HTTP-Client-Implementierung des Cisco IOS gestolpert. Aus der Cisco-Doku:
The Cisco implementation of the HTTP version 1.1 supports a subset of elements defined in RFC 2616. The following is a list of supported RFC 2616 headers:
- Allow (Only GET, HEAD, and POST methods are supported)
- Authorization, WWW-Authenticate – Basic authentication only
- Cache-control
- Chunked Transfer Encoding
- Connection close
- Content-Encoding
- Content-Language
- Content-Length
- Content-Type
- Date, Expires
- Location
Und was fehlt da in der Liste? Der Host-Header. Das führt dazu, daß das IOS bei einem Befehl wie
copy http://www.example.com/file.txt flash:
anstelle des www.example.com im Host-Header die IP des Servers einträgt. Das geht bei den meisten gehosteten Umgebungen natürlich schief.