App-DubiousHTTP

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

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 )