App-DubiousHTTP
view release on metacpan or search on metacpan
2023/09/18 0.038
- added copyright information which also include the terms of using the
code by others
2021/02/28 0.037
- test for TE chunked with data after each chunk and not covered by length
2021/02/26 0.036
- changed bugtracker in Makefile.PL to github, away from obsolete rt.cpan.org
2019/03/09 0.035
- encode EICAR test virus so that stupid AV don't treat the distribution as
malicious
2017/06/09 0.034
- support custom payloads instead of EICAR, see --help for how to use
- fixed submission
- added more tests, see git log for details
2016/06/20 0.033
- If the firewall supports it use eicar.zip for tests because this might
trigger different behavior (binary, ZIP instead of text). If this gets
successfully blocked retry with eicar.txt though.
- download names are now generic instead of eicar.txt and novirus.txt so
that one could not just block based on this name
- detect if firewall/AV matches eicar+junk or junk+eicar which is not
allowed according to EICAR usage requirements
- mark some tests as COMMON_INVALID to show that these are invalid but still
commonly used in practive. Issue a warning if harmless content of this
type gets blocked.
- some small tests added as variations of existing. These should probably not
cause any problems but are used to detect blocking of invalid responses
which are nevertheless commonly seen in practice.
2016/04/20 0.032
- fixed debug function in Javascript which caused the final submission to fail
2016/04/20 0.031
- Each tests now has a fixed ID which will not change over the development of
the program, i.e. if tests gets added, deleted.... This ID can also be used
directly, i.e. http://host/161/eicar.txt
- More tests:
- hide data in gzip FEXTRA, made possible by using
https://bugzilla.mozilla.org/show_bug.cgi?id=1244535
- make use of too tolerant deflate/zlib handling in Chrome, Safari and FF.
See commit 54ec8a6b8ce for details
- FF uses strtoul to parsechunk size which accepts various prefixes and also
signed data
- some more status lines - chrome accepts almost anything
- use ICY instead of HTTP/1.0 (FF only)
- playing with 1xx preliminary response followed by real
- Chrome accepts data partially compressed with gzip, rest uncompressed
- Variations of HTTP version together with chunked and gzip
- various kinds of white spaces, junk before header...
2016/01/03 0.030
- Extend pcap mode to write single file and to filter based on reports
- Extend pcap export mode: all streams into one file, filter...
- new test for chunking with junk at the end, but content-length with
the size of the good content. Edge will ignore the junk
- tool bin/test-sanitizing.pl to look how good a proxy will sanitize the traffic
against strange requests typically understood by browsers but not by
firewalls, /manifest/ URL to just get a listing of possible tests as plain
text
- More tests:
- combining chunked and gzip
- tests with brotli (Firefox 44, https)
- combine gzip header with RFC1950 (zlib) instead of RC1951 (deflate)
- HTTP header containing TE chunked without a status line
- chunked body:
- chunking with junk and content-length limited to good data
- Various browsers accept data after the chunk size
- Especially Firefox accepts lots of data before the chunk size, even "\r\n\r\n"
- Various browsers accept junk at the end, like "0\r\nfoobar\r\n"
- status codes:
- Variations on 204: 0204, 2040, 204 with chunked encoding. IE and Edge
continue to accept 204 with body. 2040 is usually accepted but download
not necessarily works.
- Code 299: usually treated the same as 200
- Content-length:
- Chrome/Opera accept "," before length
- all browsers accept "," after length
- most browser accept anything after length, even something like "68A","68.9"...
- tricky ends of HTTP header:
- \n\r\r\n - Safari, IE, Edge
- \n\r\r\n\r\n - others
- IE and Edge accept "\n<space>\n" or "\n\t\n"
- line folding after key and before colon, i.e. Transfer-Encoding\n\t:chunked
This will be accepted by Safari.
- broken "white-space" and line folding:
( run in 0.533 second using v1.01-cache-2.11-cpan-39bf76dae61 )