/* hzzp/http.h 04.27.2009 Hzzp Krakow Labs Development -> Hzzp Hypertext Transfer Protocol Fuzzer rush@KL (Jeremy Brown) HTTP Definitions -> hzzp.tar.gz Associated Files & Information: http://www.krakowlabs.com/dev/fuz/hzzp/hzzp http://www.krakowlabs.com/dev/fuz/hzzp/hzzp.c.txt http://www.krakowlabs.com/dev/fuz/hzzp/fuzz.c.txt http://www.krakowlabs.com/dev/fuz/hzzp/core.h.txt http://www.krakowlabs.com/dev/fuz/hzzp/fuzz.h.txt http://www.krakowlabs.com/dev/fuz/hzzp/http.h.txt http://www.krakowlabs.com/dev/fuz/hzzp/Makefile.txt http://www.krakowlabs.com/dev/fuz/hzzp/hzzp_doc.txt http://www.krakowlabs.com/dev/fuz/hzzp/hzzp.tar.gz http://www.krakowlabs.com/dev/fuz/hzzp/hzzp.jpeg http://www.krakowlabs.com/dev/fuz/hzzp/hzzp.avi hzzp/http.h */ #define HTTP "HTTP/1.1" char content[] = "Krakow Labs Development - Hzzp

Hzzp :)

"; #define HTTPRESPTL 33 struct { int code; char *desc; } httpresp[] = { // Informational 1xx {100, "Continue"}, {101, "Switching Protocols"}, // Successful 2xx {200, "OK"}, {201, "Created"}, {202, "Accepted"}, {203, "Non-Authoritative Information"}, {204, "No Content"}, {205, "Reset Content"}, {206, "Partial Content"}, // Redirection 3xx {300, "Multiple Choices"}, {301, "Moved Permanently"}, {302, "Found"}, {303, "See Other"}, {304, "Not Modified"}, {305, "Use Proxy"}, {307, "Temporary Redirect"}, // Client Error 4xx {400, "Bad Request"}, {401, "Unauthorized"}, {403, "Forbidden"}, {404, "Not Found"}, {405, "Method Not Allowed"}, {406, "Not Acceptable"}, {407, "Proxy Authentication Required"}, {408, "Request Timeout"}, {409, "Conflict"}, {410, "Gone"}, {411, "Length Required"}, {412, "Precondition Failed"}, {413, "Request Entity Too Large"}, {414, "Request-URI Too Long"}, {415, "Unsupported Media Type"}, {416, "Request Range Not Satisfiable"}, {417, "Expectation Failed"}, // Server Error 5xx {500, "Internal Server Error"}, {501, "Not Implemented"}, {502, "Bad Gateway"}, {503, "Service Unavailable"}, {504, "Gateway Timeout"}, {505, "HTTP Version Not Supported"}, }; #define RESPHDRTL 31 struct { char *header; } response[] = // HTTP/1.1 RFC 2616 & draft-ietf-http-options-02.txt { {"Accept-Ranges"}, {"Age"}, {"Allow"}, // entity {"Cache-Control"}, // general {"Compliance"}, // proxy fuzzing via OPTIONS {"Connection"}, // general {"Content-Encoding"}, // entity {"Content-Language"}, // entity {"Content-Length"}, // entity {"Content-Location"}, // entity {"Content-MD5"}, // entity {"Content-Range"}, // entity {"Content-Type"}, // entity {"Date"}, // general {"ETag"}, {"Expires"}, // entity {"If-Range"}, // entity {"Last-Modified"}, // entity {"Location"}, {"Non-Compliance"}, // proxy fuzzing via OPTIONS {"Pragma"}, // general {"Proxy-Authenticate"}, {"Retry-After"}, {"Server"}, {"Trailer"}, // general {"Transfer-Encoding"}, // general {"Upgrade"}, // general {"Vary"}, {"Via"}, // general {"Warning"}, // general {"WWW-Authenticate"}, }; #define REQHDRTL 40 struct { char *header; } request[] = // HTTP/1.1 RFC 2616 & draft-ietf-http-options-02.txt { {"Accept"}, {"Accept-Charset"}, {"Accept-Encoding"}, {"Accept-Language"}, {"Allow"}, // entity {"Authorization"}, {"Cache-Control"}, // general {"Compliance"}, // proxy fuzzing via OPTIONS {"Connection"}, // general {"Content-Encoding"}, // entity {"Content-Language"}, // entity {"Content-Length"}, // entity {"Content-Location"}, // entity {"Content-MD5"}, // entity {"Content-Range"}, // entity {"Content-Type"}, // entity {"Date"}, // general {"Expect"}, {"Expires"}, // entity {"From"}, {"Host"}, {"If-Match"}, {"If-Modified-Since"}, {"If-None-Match"}, {"If-Range"}, // entity {"If-Unmodified-Since"}, {"Last-Modified"}, // entity {"Max-Forwards"}, {"Non-Compliance"}, // proxy fuzzing via OPTIONS {"Pragma"}, // general {"Proxy-Authorization"}, {"Range"}, {"Referer"}, {"TE"}, {"Trailer"}, // general {"Transfer-Encoding"}, // general {"Upgrade"}, // general {"User-Agent"}, {"Via"}, // general {"Warning"}, // general }; #define METHODTL 8 struct { char *method; } http[] = { {"OPTIONS"}, {"GET"}, {"HEAD"}, {"POST"}, {"PUT"}, {"DELETE"}, {"TRACE"}, {"CONNECT"}, }; #define DCMAX 7 struct { char *dir; char *def; char *edef; } digcli[] = // WWW-Authenticate / rfc2617 (Hzzp Server fuzzes Client) { {"realm", "\"Hzzp\"", "\\\"Hzzp\\\""}, {"domain", NULL, NULL}, // use path {"nonce", "\"w00tw00tw00tw00tw00tw00tw00tw00t\"", "\\\"w00tw00tw00tw00tw00tw00tw00tw00t\\\""}, {"opaque", "\"w00tw00tw00tw00tw00tw00tw00tw00t\"", "\\\"w00tw00tw00tw00tw00tw00tw00tw00t\\\""}, {"stale", "\"false\"", "\\\"false\\\""}, {"algorithm", "\"MD5\"", "\\\"MD5\\\""}, {"qop", "\"auth\"", "\\\"auth\\\""}, }; #define DSMAX 10 struct { char *dir; char *def; char *edef; } digserv[] = // Authorization / rfc2617 (Hzzp Client fuzzes Server) { {"username", "\"w00t\"", "\\\"w00t\\\""}, {"realm", "\"Hzzp\"", "\\\"Hzzp\\\""}, {"nonce", "\"w00tw00tw00tw00tw00tw00tw00tw00t\"", "\\\"w00tw00tw00tw00tw00tw00tw00tw00t\\\""}, {"uri", NULL, NULL}, // use path {"response", "\"wt00wt00wt00wt00wt00wt00wt00wt00\"", "\\\"wt00wt00wt00wt00wt00wt00wt00wt00\\\""}, {"algorithm", "\"MD5\"", "\\\"MD5\\\""}, {"cnonce", "\"t00wt00wt00wt00wt00wt00wt00wt00w\"", "\\\"t00wt00wt00wt00wt00wt00wt00wt00w\\\""}, {"opaque", "\"w00tw00tw00tw00tw00tw00tw00tw00t\"", "\\\"w00tw00tw00tw00tw00tw00tw00tw00t\\\""}, {"qop", "\"auth\"", "\\\"auth\\\""}, {"nc", "\"12344321\"", "\\\"12344321\\\""}, };