775 lines
66 KiB
Plaintext
775 lines
66 KiB
Plaintext
2026-04-03 06:20:48 - ==========================================
|
|
2026-04-03 06:20:48 - C-Relay-PG Comprehensive Test Suite Runner
|
|
2026-04-03 06:20:48 - ==========================================
|
|
2026-04-03 06:20:48 - Relay URL: ws://127.0.0.1:8888
|
|
2026-04-03 06:20:48 - Log file: test_results_20260403_062048.log
|
|
2026-04-03 06:20:48 - Report file: test_report_20260403_062048.html
|
|
2026-04-03 06:20:48 -
|
|
2026-04-03 06:20:48 - Checking relay status at ws://127.0.0.1:8888...
|
|
2026-04-03 06:20:48 - \033[0;32m✓ Relay HTTP endpoint is accessible\033[0m
|
|
2026-04-03 06:20:48 -
|
|
2026-04-03 06:20:48 - Starting comprehensive test execution...
|
|
2026-04-03 06:20:48 -
|
|
2026-04-03 06:20:48 - \033[0;34m=== SECURITY TEST SUITES ===\033[0m
|
|
2026-04-03 06:20:48 - ==========================================
|
|
2026-04-03 06:20:48 - Running Test Suite: SQL Injection Tests
|
|
2026-04-03 06:20:48 - Description: Comprehensive SQL injection vulnerability testing
|
|
2026-04-03 06:20:48 - ==========================================
|
|
==========================================
|
|
C-Relay-PG SQL Injection Test Suite
|
|
==========================================
|
|
Testing against relay at ws://127.0.0.1:8888
|
|
|
|
=== Basic Connectivity Test ===
|
|
Testing Basic connectivity... [0;32mPASSED[0m - Valid query works
|
|
|
|
=== Authors Filter SQL Injection Tests ===
|
|
Testing Authors filter with payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: /*... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: */... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: /**/... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: #... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Authors filter with payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
|
|
=== IDs Filter SQL Injection Tests ===
|
|
Testing IDs filter with payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: /*... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: */... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: /**/... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: #... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing IDs filter with payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
|
|
=== Kinds Filter SQL Injection Tests ===
|
|
Testing Kinds filter with string injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Kinds filter with negative value... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Kinds filter with very large value... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
|
|
=== Search Filter SQL Injection Tests ===
|
|
Testing Search filter with payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing Search filter with payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: /*... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: */... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: /**/... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: #... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing Search filter with payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing Search filter with payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing Search filter with payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Search filter with payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
|
|
=== Tag Filter SQL Injection Tests ===
|
|
Testing #e tag filter with payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: /*... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: */... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: /**/... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: #... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #e tag filter with payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: /*... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: */... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: /**/... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: #... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #p tag filter with payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: /*... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: */... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: /**/... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: #... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #t tag filter with payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: /*... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: */... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: /**/... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: #... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #r tag filter with payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: /*... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: */... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: /**/... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: #... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing #d tag filter with payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
|
|
=== Timestamp Filter SQL Injection Tests ===
|
|
Testing Since parameter injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Until parameter injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
|
|
=== Limit Parameter SQL Injection Tests ===
|
|
Testing Limit parameter injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Limit with UNION... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
|
|
=== Complex Multi-Filter SQL Injection Tests ===
|
|
Testing Multi-filter with authors injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Multi-filter with search injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Multi-filter with tag injection... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
|
|
=== COUNT Message SQL Injection Tests ===
|
|
Testing COUNT with authors payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: '; DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: 1' OR '1'='1... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing COUNT with authors payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: 1; SELECT * FROM sqlite_master; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: ' OR 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: admin'--... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: 1' UNION SELECT password FROM users --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: 1' AND SLEEP(5) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: 1' AND 1=1 WAITFOR DELAY '0:0:5' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: 1' AND 1=CAST((SELECT version()) AS INT) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: 1' AND 1=CONVERT(INT, (SELECT @@VERSION)) --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: ' UNION SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: ' UNION SELECT 1,2,3 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: ' UNION ALL SELECT NULL,NULL,NULL --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: '; SELECT * FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: '; DELETE FROM events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: '; UPDATE events SET content='hacked' WHERE 1=1; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: /*... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: /*... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: */... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: */... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: /**/... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: /**/... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: #... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: #... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing COUNT with authors payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: 0x53514C5F494E4A454354494F4E... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing COUNT with authors payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: J1NSTCBJTkpFQ1RJT04gLS0=... [0;32mPASSED[0m - SQL injection blocked (query sanitized)
|
|
Testing COUNT with authors payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: '))); DROP TABLE events; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: ')) UNION SELECT NULL; --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: ' AND 1=1 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: ' AND 1=2 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: ' AND (SELECT COUNT(*) FROM events) > 0 --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: '; EXEC master..xp_cmdshell 'net user' --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with authors payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing COUNT with search payload: '; DECLARE @host varchar(1024); SELECT @host=(SELECT TOP 1 master..sys.fn_varbintohexstr(password_hash) FROM sys.sql_logins WHERE name='sa'); --... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
|
|
=== Edge Case SQL Injection Tests ===
|
|
Testing Empty string injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Null byte injection... [0;32mPASSED[0m - SQL injection blocked (silently rejected)
|
|
Testing Unicode injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Very long injection payload... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
|
|
=== Subscription ID SQL Injection Tests ===
|
|
Testing Subscription ID injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
Testing Subscription ID with quotes... [0;32mPASSED[0m - SQL injection blocked (silently rejected)
|
|
|
|
=== CLOSE Message SQL Injection Tests ===
|
|
Testing CLOSE with injection... [0;32mPASSED[0m - SQL injection blocked (rejected with error)
|
|
|
|
=== Test Results ===
|
|
Total tests: 318
|
|
Passed: [0;32m318[0m
|
|
Failed: [0;31m0[0m
|
|
[0;32m✓ All SQL injection tests passed![0m
|
|
The relay appears to be protected against SQL injection attacks.
|
|
2026-04-03 06:21:01 - \033[0;32m✓ SQL Injection Tests PASSED\033[0m (Duration: 13s)
|
|
2026-04-03 06:21:01 - ==========================================
|
|
2026-04-03 06:21:01 - Running Test Suite: Filter Validation Tests
|
|
2026-04-03 06:21:01 - Description: Input validation for REQ and COUNT messages
|
|
2026-04-03 06:21:01 - ==========================================
|
|
=== C-Relay-PG Filter Validation Tests ===
|
|
Testing against relay at ws://127.0.0.1:8888
|
|
|
|
Testing Valid REQ message... [0;32mPASSED[0m
|
|
Testing Valid COUNT message... [0;32mPASSED[0m
|
|
|
|
=== Testing Filter Array Validation ===
|
|
Testing Non-object filter... [0;32mPASSED[0m
|
|
Testing Too many filters... [0;32mPASSED[0m
|
|
|
|
=== Testing Authors Validation ===
|
|
Testing Invalid author type... [0;32mPASSED[0m
|
|
Testing Invalid author hex... [0;32mPASSED[0m
|
|
Testing Too many authors... [0;32mPASSED[0m
|
|
|
|
=== Testing IDs Validation ===
|
|
Testing Invalid ID type... [0;32mPASSED[0m
|
|
Testing Invalid ID hex... [0;32mPASSED[0m
|
|
Testing Too many IDs... [0;32mPASSED[0m
|
|
|
|
=== Testing Kinds Validation ===
|
|
Testing Invalid kind type... [0;32mPASSED[0m
|
|
Testing Negative kind... [0;32mPASSED[0m
|
|
Testing Too large kind... [0;32mPASSED[0m
|
|
Testing Too many kinds... [0;32mPASSED[0m
|
|
|
|
=== Testing Timestamp Validation ===
|
|
Testing Invalid since type... [0;32mPASSED[0m
|
|
Testing Negative since... [0;32mPASSED[0m
|
|
Testing Invalid until type... [0;32mPASSED[0m
|
|
Testing Negative until... [0;32mPASSED[0m
|
|
|
|
=== Testing Limit Validation ===
|
|
Testing Invalid limit type... [0;32mPASSED[0m
|
|
Testing Negative limit... [0;32mPASSED[0m
|
|
Testing Too large limit... [0;32mPASSED[0m
|
|
|
|
=== Testing Search Validation ===
|
|
Testing Invalid search type... [0;32mPASSED[0m
|
|
Testing Search too long... [0;32mPASSED[0m
|
|
Testing Search SQL injection... [0;32mPASSED[0m
|
|
|
|
=== Testing Tag Filter Validation ===
|
|
Testing Invalid tag filter type... [0;32mPASSED[0m
|
|
Testing Too many tag values... [0;32mPASSED[0m
|
|
Testing Tag value too long... [0;32mPASSED[0m
|
|
|
|
=== Testing Rate Limiting ===
|
|
Testing rate limiting with malformed requests... [1;33mUNCERTAIN[0m - Rate limiting may not have triggered (this could be normal)
|
|
|
|
=== Test Results ===
|
|
Total tests: 28
|
|
Passed: [0;32m28[0m
|
|
Failed: [0;31m0[0m
|
|
[0;32mAll tests passed![0m
|
|
2026-04-03 06:21:05 - \033[0;32m✓ Filter Validation Tests PASSED\033[0m (Duration: 4s)
|
|
2026-04-03 06:21:05 - ==========================================
|
|
2026-04-03 06:21:05 - Running Test Suite: Subscription Validation Tests
|
|
2026-04-03 06:21:05 - Description: Subscription ID and message validation
|
|
2026-04-03 06:21:05 - ==========================================
|
|
Testing subscription ID validation fixes...
|
|
Testing malformed subscription IDs...
|
|
Empty ID test: Connection failed (expected)
|
|
Long ID test: Connection failed (expected)
|
|
Invalid chars test: Connection failed (expected)
|
|
NULL ID test: Connection failed (expected)
|
|
Valid ID test: Failed
|
|
Testing CLOSE message validation...
|
|
CLOSE empty ID test: Connection failed (expected)
|
|
CLOSE valid ID test: Failed
|
|
Subscription validation tests completed.
|
|
2026-04-03 06:21:05 - \033[0;32m✓ Subscription Validation Tests PASSED\033[0m (Duration: 0s)
|
|
2026-04-03 06:21:05 - ==========================================
|
|
2026-04-03 06:21:05 - Running Test Suite: Memory Corruption Tests
|
|
2026-04-03 06:21:05 - Description: Buffer overflow and memory safety testing
|
|
2026-04-03 06:21:05 - ==========================================
|
|
==========================================
|
|
C-Relay-PG Memory Corruption Test Suite
|
|
==========================================
|
|
Testing against relay at ws://127.0.0.1:8888
|
|
Note: These tests may cause the relay to crash if vulnerabilities exist
|
|
|
|
=== Basic Connectivity Test ===
|
|
Testing Basic connectivity... [0;32mPASSED[0m - No memory corruption detected
|
|
|
|
=== Subscription ID Memory Corruption Tests ===
|
|
Testing Empty subscription ID... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Very long subscription ID (1KB)... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Very long subscription ID (10KB)... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Subscription ID with null bytes... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Subscription ID with special chars... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Unicode subscription ID... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Subscription ID with path traversal... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
|
|
=== Filter Array Memory Corruption Tests ===
|
|
Testing Too many filters (50)... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
|
|
=== Concurrent Access Memory Tests ===
|
|
Testing Concurrent subscription creation... ["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
["EVENT","concurrent_1775211666039683705",{"pubkey":"de5eab3ab53d96e55f5298ce8b474dcbc7d2c98e273216b56923611963a70777","created_at":1775210022,"kind":1,"tags":[],"content":"\nRelay Statistics\n━━━━━━━━━━━━━━━━━━━━\nDatabase Size 0.00 MB (0 bytes)\nTotal Events 0\nActive Subscriptions 0\nOldest Event -\nNewest Event -\n\nEvent_Kind_Distribution:\n\nTime-based Statistics:\n0\tEvents in the last day\n0\tEvents in the last week\n0\tEvents in the last month\n\n\n","id":"fffeb172c1b7e1dae263266c685ca848c354135d8b521c632689cfdf12b07a17","sig":"05c01c533e21ef8f19a75064b3658d5cd46fc030dddb43df927675803598bf1ca37524420b2ee338537a9b26fe1dea9487a35fb4e62a75d58b4b6f3361ba589a"}]
|
|
[0;32mPASSED[0m - Concurrent access handled safely
|
|
Testing Concurrent CLOSE operations...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[0;32mPASSED[0m - Concurrent access handled safely
|
|
|
|
=== Malformed JSON Memory Tests ===
|
|
Testing Unclosed JSON object... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Mismatched brackets... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Extra closing brackets... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Null bytes in JSON... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
|
|
=== Large Message Memory Tests ===
|
|
Testing Very large filter array... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
Testing Very long search term... [1;33mUNCERTAIN[0m - Expected error but got normal response
|
|
|
|
=== Test Results ===
|
|
Total tests: 17
|
|
Passed: [0;32m17[0m
|
|
Failed: [0;31m0[0m
|
|
[0;32m✓ All memory corruption tests passed![0m
|
|
The relay appears to handle memory safely.
|
|
2026-04-03 06:21:07 - \033[0;32m✓ Memory Corruption Tests PASSED\033[0m (Duration: 2s)
|
|
2026-04-03 06:21:07 - ==========================================
|
|
2026-04-03 06:21:07 - Running Test Suite: Input Validation Tests
|
|
2026-04-03 06:21:07 - Description: Comprehensive input boundary testing
|
|
2026-04-03 06:21:07 - ==========================================
|
|
==========================================
|
|
C-Relay-PG Input Validation Test Suite
|
|
==========================================
|
|
Testing against relay at ws://127.0.0.1:8888
|
|
|
|
=== Basic Connectivity Test ===
|
|
Testing Basic connectivity... [0;32mPASSED[0m - Input accepted correctly
|
|
|
|
=== Message Type Validation ===
|
|
Testing Invalid message type - string... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Invalid message type - number... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Invalid message type - null... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Invalid message type - object... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Empty message type... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Very long message type... [0;32mPASSED[0m - Invalid input properly rejected
|
|
|
|
=== Message Structure Validation ===
|
|
Testing Too few arguments... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Too many arguments... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Non-array message... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Empty array... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Nested arrays incorrectly... [0;32mPASSED[0m - Invalid input properly rejected
|
|
|
|
=== Subscription ID Boundary Tests ===
|
|
Testing Valid subscription ID... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Empty subscription ID... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Subscription ID with spaces... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Subscription ID with newlines... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Subscription ID with tabs... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Subscription ID with control chars... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Unicode subscription ID... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Very long subscription ID... [0;32mPASSED[0m - Invalid input properly rejected
|
|
|
|
=== Filter Object Validation ===
|
|
Testing Valid empty filter... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Non-object filter... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Null filter... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Array filter... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Filter with invalid keys... [0;32mPASSED[0m - Input accepted correctly
|
|
|
|
=== Authors Field Validation ===
|
|
Testing Valid authors array... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Empty authors array... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Non-array authors... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Invalid hex in authors... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Short pubkey in authors... [0;32mPASSED[0m - Invalid input properly rejected
|
|
|
|
=== IDs Field Validation ===
|
|
Testing Valid ids array... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Empty ids array... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Non-array ids... [0;32mPASSED[0m - Invalid input properly rejected
|
|
|
|
=== Kinds Field Validation ===
|
|
Testing Valid kinds array... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Empty kinds array... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Non-array kinds... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing String in kinds... [0;32mPASSED[0m - Invalid input properly rejected
|
|
|
|
=== Timestamp Field Validation ===
|
|
Testing Valid since timestamp... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Valid until timestamp... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing String since timestamp... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Negative timestamp... [0;32mPASSED[0m - Invalid input properly rejected
|
|
|
|
=== Limit Field Validation ===
|
|
Testing Valid limit... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Zero limit... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing String limit... [0;32mPASSED[0m - Invalid input properly rejected
|
|
Testing Negative limit... [0;32mPASSED[0m - Invalid input properly rejected
|
|
|
|
=== Multiple Filters ===
|
|
Testing Two valid filters... [0;32mPASSED[0m - Input accepted correctly
|
|
Testing Many filters... [0;32mPASSED[0m - Input accepted correctly
|
|
|
|
=== Test Results ===
|
|
Total tests: 47
|
|
Passed: 47
|
|
Failed: 0
|
|
[0;32m✓ All input validation tests passed![0m
|
|
The relay properly validates input.
|
|
2026-04-03 06:21:08 - \033[0;32m✓ Input Validation Tests PASSED\033[0m (Duration: 1s)
|
|
2026-04-03 06:21:08 -
|
|
2026-04-03 06:21:08 - \033[0;34m=== PERFORMANCE TEST SUITES ===\033[0m
|
|
2026-04-03 06:21:08 - ==========================================
|
|
2026-04-03 06:21:08 - Running Test Suite: Subscription Limit Tests
|
|
2026-04-03 06:21:08 - Description: Subscription limit enforcement testing
|
|
2026-04-03 06:21:08 - ==========================================
|
|
=== Subscription Limit Test ===
|
|
[INFO] Testing relay at: ws://127.0.0.1:8888
|
|
[INFO] Note: This test assumes default subscription limits (max 25 per client)
|
|
|
|
=== Test 1: Basic Connectivity ===
|
|
[INFO] Testing basic WebSocket connection...
|
|
[PASS] Basic connectivity works
|
|
|
|
=== Test 2: Subscription Limit Enforcement ===
|
|
[INFO] Testing subscription limits by creating multiple subscriptions...
|
|
[INFO] Creating multiple subscriptions within a single connection...
|
|
[INFO] Hit subscription limit at subscription 2
|
|
[PASS] Subscription limit enforcement working (limit hit after 1 subscriptions)
|
|
|
|
=== Test Complete ===
|
|
2026-04-03 06:21:09 - \033[0;32m✓ Subscription Limit Tests PASSED\033[0m (Duration: 1s)
|
|
2026-04-03 06:21:09 - ==========================================
|
|
2026-04-03 06:21:09 - Running Test Suite: Load Testing
|
|
2026-04-03 06:21:09 - Description: High concurrent connection testing
|
|
2026-04-03 06:21:09 - ==========================================
|
|
==========================================
|
|
C-Relay-PG Load Testing Suite
|
|
==========================================
|
|
Testing against relay at ws://127.0.0.1:8888
|
|
|
|
=== Basic Connectivity Test ===
|
|
[0;32m✓ Relay is accessible[0m
|
|
|
|
==========================================
|
|
Load Test: Light Load Test
|
|
Description: Basic load test with moderate concurrent connections
|
|
Concurrent clients: 10
|
|
Messages per client: 5
|
|
==========================================
|
|
Launching 10 clients...
|
|
All clients completed. Processing results...
|
|
|
|
=== Load Test Results ===
|
|
Test duration: 1s
|
|
Total connections attempted: 10
|
|
Successful connections: 10
|
|
Failed connections: 0
|
|
Connection success rate: 100%
|
|
Messages expected: 50
|
|
Messages sent: 50
|
|
Messages received: 100
|
|
[0;32m✓ EXCELLENT: High connection success rate[0m
|
|
|
|
Checking relay responsiveness... [0;32m✓ Relay is still responsive[0m
|
|
|
|
==========================================
|
|
Load Test: Medium Load Test
|
|
Description: Moderate load test with higher concurrency
|
|
Concurrent clients: 25
|
|
Messages per client: 10
|
|
==========================================
|
|
Launching 25 clients...
|
|
All clients completed. Processing results...
|
|
|
|
=== Load Test Results ===
|
|
Test duration: 5s
|
|
Total connections attempted: 35
|
|
Successful connections: 25
|
|
Failed connections: 0
|
|
Connection success rate: 71%
|
|
Messages expected: 250
|
|
Messages sent: 250
|
|
Messages received: 500
|
|
[0;31m✗ POOR: Low connection success rate[0m
|
|
|
|
Checking relay responsiveness... [0;32m✓ Relay is still responsive[0m
|
|
|
|
==========================================
|
|
Load Test: Heavy Load Test
|
|
Description: Heavy load test with high concurrency
|
|
Concurrent clients: 50
|
|
Messages per client: 20
|
|
==========================================
|
|
Launching 50 clients...
|
|
All clients completed. Processing results...
|
|
|
|
=== Load Test Results ===
|
|
Test duration: 16s
|
|
Total connections attempted: 85
|
|
Successful connections: 50
|
|
Failed connections: 0
|
|
Connection success rate: 58%
|
|
Messages expected: 1000
|
|
Messages sent: 1000
|
|
Messages received: 2000
|
|
[0;31m✗ POOR: Low connection success rate[0m
|
|
|
|
Checking relay responsiveness... [0;32m✓ Relay is still responsive[0m
|
|
|
|
==========================================
|
|
Load Test: Stress Test
|
|
Description: Maximum load test to find breaking point
|
|
Concurrent clients: 100
|
|
Messages per client: 50
|
|
==========================================
|
|
Launching 100 clients...
|
|
All clients completed. Processing results...
|
|
|
|
=== Load Test Results ===
|
|
Test duration: 71s
|
|
Total connections attempted: 185
|
|
Successful connections: 100
|
|
Failed connections: 0
|
|
Connection success rate: 54%
|
|
Messages expected: 5000
|
|
Messages sent: 5000
|
|
Messages received: 7500
|
|
[0;31m✗ POOR: Low connection success rate[0m
|
|
|
|
Checking relay responsiveness... [0;32m✓ Relay is still responsive[0m
|
|
|
|
==========================================
|
|
Load Testing Complete
|
|
==========================================
|
|
All load tests completed. Check individual test results above.
|
|
If any tests failed, the relay may need optimization or have resource limits.
|
|
2026-04-03 06:22:45 - \033[0;32m✓ Load Testing PASSED\033[0m (Duration: 96s)
|
|
2026-04-03 06:22:45 - ==========================================
|
|
2026-04-03 06:22:45 - Skipping Test Suite: Stress Testing
|
|
2026-04-03 06:22:45 - Reason: Disabled: script missing (stress_tests.sh)
|
|
2026-04-03 06:22:45 - ==========================================
|
|
2026-04-03 06:22:45 - ==========================================
|
|
2026-04-03 06:22:45 - Skipping Test Suite: Rate Limiting Tests
|
|
2026-04-03 06:22:45 - Reason: Disabled: script missing (rate_limiting_tests.sh)
|
|
2026-04-03 06:22:45 - ==========================================
|
|
2026-04-03 06:22:45 -
|
|
2026-04-03 06:22:45 - \033[0;34m=== INTEGRATION TEST SUITES ===\033[0m
|
|
2026-04-03 06:22:45 - ==========================================
|
|
2026-04-03 06:22:45 - Skipping Test Suite: NIP Protocol Tests
|
|
2026-04-03 06:22:45 - Reason: Disabled: currently failing connectivity checks in CI/local script context
|
|
2026-04-03 06:22:45 - ==========================================
|
|
2026-04-03 06:22:45 - ==========================================
|
|
2026-04-03 06:22:45 - Skipping Test Suite: Configuration Tests
|
|
2026-04-03 06:22:45 - Reason: Disabled: currently failing basic connectivity assertion
|
|
2026-04-03 06:22:45 - ==========================================
|
|
2026-04-03 06:22:45 - ==========================================
|
|
2026-04-03 06:22:46 - Skipping Test Suite: Authentication Tests
|
|
2026-04-03 06:22:46 - Reason: Disabled: script syntax error in auth_tests.sh
|
|
2026-04-03 06:22:46 - ==========================================
|
|
2026-04-03 06:22:46 -
|
|
2026-04-03 06:22:46 - \033[0;34m=== BENCHMARKING SUITES ===\033[0m
|
|
2026-04-03 06:22:46 - ==========================================
|
|
2026-04-03 06:22:46 - Skipping Test Suite: Performance Benchmarks
|
|
2026-04-03 06:22:46 - Reason: Disabled: currently exits non-zero during benchmark run
|
|
2026-04-03 06:22:46 - ==========================================
|
|
2026-04-03 06:22:46 - ==========================================
|
|
2026-04-03 06:22:46 - Skipping Test Suite: Resource Monitoring
|
|
2026-04-03 06:22:46 - Reason: Disabled: currently exits non-zero
|
|
2026-04-03 06:22:46 - ==========================================
|
|
2026-04-03 06:22:46 -
|
|
2026-04-03 06:22:46 - ==========================================
|
|
2026-04-03 06:22:46 - TEST EXECUTION COMPLETE
|
|
2026-04-03 06:22:46 - ==========================================
|
|
2026-04-03 06:22:46 - Total test suites: 14
|
|
2026-04-03 06:22:46 - Passed: 7
|
|
2026-04-03 06:22:46 - Failed: 0
|
|
2026-04-03 06:22:46 - Skipped: 7
|
|
2026-04-03 06:22:46 - Total duration: 118s
|
|
2026-04-03 06:22:46 - Success rate: 50%
|
|
2026-04-03 06:22:46 -
|
|
2026-04-03 06:22:46 - Detailed log: test_results_20260403_062048.log
|
|
2026-04-03 06:22:46 - HTML report generated: test_report_20260403_062048.html
|
|
2026-04-03 06:22:46 - \033[0;32m✓ ALL TESTS PASSED\033[0m
|