Need to develop a test suite, as part of current functional tests, to emulate WAF bypassing requests and Web attacks.
Depends on the WAF implementation tempesta-tech/tempesta#2458 : there is no sense to run the scanners if we know that there is no implemented protections, like CSRF or CSP.
Analyzer + backend
One of the way, probably the simplest and featureful is to use ready vulnerability scanner/analyzer with vulnerable backend. Following analyzers, working as a malicious clients could be emplyed:
Also consider the WAF bypass collection
Backends:
Homebred tests
If the above don't test some of the security issues, then appropriate functional tests, complementing the ready analyzer/backend setup, shall be implemented.
http://1.1.1.1 &@2.2.2.2# @3.3.3.3/
http://127.0.0.1:11211:80/
http://google.com#@evil.com/
... and others
Need to develop a test suite, as part of current functional tests, to emulate WAF bypassing requests and Web attacks.
Depends on the WAF implementation tempesta-tech/tempesta#2458 : there is no sense to run the scanners if we know that there is no implemented protections, like CSRF or CSP.
Analyzer + backend
One of the way, probably the simplest and featureful is to use ready vulnerability scanner/analyzer with vulnerable backend. Following analyzers, working as a malicious clients could be emplyed:
Also consider the WAF bypass collection
Backends:
Homebred tests
If the above don't test some of the security issues, then appropriate functional tests, complementing the ready analyzer/backend setup, shall be implemented.
sessions.test_h2_sticky_scheduler.H2StickySchedulerTestCase.test_h2_cookie_scheduler#900, Handle Content-Type in GET requests tempesta#1296 and cases from https://github.com/tempesta-tech/tempesta/wiki/Web-security#http-request-smuggling)t_ja5.test_ja5_filters.TestJa5FiltersTestSuiteMethod.test_ja5_hash_difference#902)Content-Type: invalid(Imperva's vulnerability) and emptyContent-Typemust be blocked.User-Agenthttp://www.site.com/page.php?var=<script>alert('xss');</script>Hostheader injections are blocked in default configuration:Host: mysite:”><xss>,Host: mysite “><xss>GET / HTTP/1.1\r\n\sHost\x4:\tfoo \r\n. The main point is if we do not block some of such manglings (i.e. it's allowed by RFC), then we must correctly perform HTTP message modifications for such headers.