@@ -28,12 +28,30 @@ def test_default(requests_mock, capsys):
28
28
assert adapter_endpoint .call_count == 1
29
29
assert adapter_dns_save .call_count == 1
30
30
assert '.interact.sh/' in captured .out
31
- assert 'Targets does not seem to be vulnerable' in captured .out
31
+ assert 'Targets do not seem to be vulnerable' in captured .out
32
32
assert 'jndi' in adapter_endpoint .last_request .url
33
33
assert re .match (r'\${jndi:ldap://localhost\..*.interact\.sh/.*}' , adapter_endpoint .last_request .headers ['User-Agent' ])
34
34
assert 'Authorization' not in adapter_endpoint .last_request .headers
35
35
36
36
37
+ def test_custom_waf_bypass_payload_custom_dns_callback_host (requests_mock ):
38
+ adapter_endpoint = requests_mock .get (LOCALHOST )
39
+
40
+ log4j_scan .main (['-u' , LOCALHOST , '--custom-dns-callback-host' , DNS_CUSTOM , '--waf-bypass' , '--custom-waf-bypass-payload' , 'test://{{callback_host}}/{{random}}' ])
41
+
42
+ assert adapter_endpoint .call_count == 25
43
+ assert re .match (r'test://localhost\.custom.dns.callback/.*' , adapter_endpoint .request_history [24 ].headers ['User-Agent' ])
44
+
45
+
46
+ def test_custom_waf_bypass_payload_custom_tcp_callback_host (requests_mock ):
47
+ adapter_endpoint = requests_mock .get (LOCALHOST )
48
+
49
+ log4j_scan .main (['-u' , LOCALHOST , '--custom-tcp-callback-host' , '10.42.42.42:80' , '--waf-bypass' , '--custom-waf-bypass-payload' , 'test://{{callback_host}}/{{random}}' ])
50
+
51
+ assert adapter_endpoint .call_count == 25
52
+ assert re .match (r'test://10\.42\.42\.42:80/.*' , adapter_endpoint .request_history [24 ].headers ['User-Agent' ])
53
+
54
+
37
55
def test_custom_dns_callback_host (requests_mock , capsys ):
38
56
adapter_endpoint = requests_mock .get (LOCALHOST )
39
57
0 commit comments