mirror of
				https://github.com/sqlmapproject/sqlmap.git
				synced 2025-10-31 16:07:55 +03:00 
			
		
		
		
	
						commit
						1f6caba725
					
				
							
								
								
									
										26
									
								
								waf/safe3.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								waf/safe3.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | ||||||
|  | #!/usr/bin/env python | ||||||
|  | 
 | ||||||
|  | """ | ||||||
|  | Copyright (c) 2006-2015 sqlmap developers (http://sqlmap.org/) | ||||||
|  | See the file 'doc/COPYING' for copying permission | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | import re | ||||||
|  | 
 | ||||||
|  | from lib.core.enums import HTTP_HEADER | ||||||
|  | from lib.core.settings import WAF_ATTACK_VECTORS | ||||||
|  | 
 | ||||||
|  | __product__ = "Safe3 Web Application Firewall" | ||||||
|  | 
 | ||||||
|  | def detect(get_page): | ||||||
|  |     retval = False | ||||||
|  | 
 | ||||||
|  |     for vector in WAF_ATTACK_VECTORS: | ||||||
|  |         page, headers, code = get_page(get=vector) | ||||||
|  |         retval = re.search(r"Safe3WAF", headers.get("X-Powered-By", ""), re.I) is not None | ||||||
|  |         retval |= re.search(r"Safe3 Web Firewall", headers.get(HTTP_HEADER.SERVER, ""), re.I) is not None | ||||||
|  |         if retval: | ||||||
|  |             break | ||||||
|  | 
 | ||||||
|  |     return retval | ||||||
|  | 
 | ||||||
|  | @ -7,6 +7,7 @@ See the file 'doc/COPYING' for copying permission | ||||||
| 
 | 
 | ||||||
| import re | import re | ||||||
| 
 | 
 | ||||||
|  | from lib.core.enums import HTTP_HEADER | ||||||
| from lib.core.settings import WAF_ATTACK_VECTORS | from lib.core.settings import WAF_ATTACK_VECTORS | ||||||
| 
 | 
 | ||||||
| __product__ = "Safedog Web Application Firewall (Safedog)" | __product__ = "Safedog Web Application Firewall (Safedog)" | ||||||
|  | @ -17,6 +18,8 @@ def detect(get_page): | ||||||
|     for vector in WAF_ATTACK_VECTORS: |     for vector in WAF_ATTACK_VECTORS: | ||||||
|         page, headers, code = get_page(get=vector) |         page, headers, code = get_page(get=vector) | ||||||
|         retval = re.search(r"WAF/2.0", headers.get("X-Powered-By", ""), re.I) is not None |         retval = re.search(r"WAF/2.0", headers.get("X-Powered-By", ""), re.I) is not None | ||||||
|  |         retval |= re.search(r"Safedog", headers.get(HTTP_HEADER.SERVER, ""), re.I) is not None | ||||||
|  |         retval |= re.search(r"safedog", headers.get("Set-Cookie", ""), re.I) is not None | ||||||
|         if retval: |         if retval: | ||||||
|             break |             break | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user