WebKnight 3.0 (2013.04.04) ------------- - FIX: Allow renaming WebKnight.dll to something else, now correct module path is used - FEAT: per process owner settings possible like WebKnight.yoursite.xml (only IIS 7 and later) - FEAT: Added ISAPI Extension for POST data filtering in IIS 6 and later (IIS 6: manual installation required, IIS 7 done during setup) - removed usage of old MFC ISAPI library - FEAT: Deny Special Whitespace rule added - FEAT: User-Agent - Deny High Bit Shellcode - FEAT: Block too many different User-Agent headers from an IP address in a certain time period - Set Max HTTP version length to 15 instead of 22 - FEAT: Added Excluded Host Headers to exclude certain web sites from being scanned (for TMG published site) - FEAT: /WebKnight/ admin page (for localhost only) - Added alert statistics - Added default.asp for editing XML configuration files - Added reference to XSLT (GUI.xsl) in settings - Settings parsing attribute separator(" or ') now equals separator that started value like in XMLConfig - FIX: Deny Information Disclosure was always enabled (new in 2.5) - Installer - added prerequisite for ISAPI Filters/Extensions in IIS 7 and later - also install 32-bit version for 32-bit applications on 64-bit IIS - FEAT: Log file name format can be changed in settings - Added some more SQL injection keywords - Added URL denied sequences: // and /./ WebKnight 2.5 (2012.11.18) ------------- - FEAT: Added excluded urls/querystrings like UrlScan's AlwaysAllowedUrls and AlwaysAllowedQueryStrings - FEAT: Regular expression filtering for URL, querystring, headers, postdata - FEAT: Added Response Monitor section in settings - PCI compliance: credit card number leakage detection - Blacklist IP if a certain amount of client or server errors occur - FEAT: Block slow header/post attacks - Added new WebSocket headers (RFC 6455) and blocked by default - FIX: Incident response handling - block IP wasn't working in 2.4 - FIX: Parsing certain IP addresses generated stack corruption - FIX: Windows 2000 syslog incompatibility - uses now last X-Forwarded-For as the client IP address if multiple headers are present - Improved ISA/TMG support - Added IsInstalledInWebProxy compatibility setting in global filter capabilities to register for OnReadRawData - No longer registering for OnUrlMap event notification - ForeFront TMG 2010 incident response handling incompatibility (no longer using MFC CHttpFilterContext) - filter now flags the SF_NOTIFY_FLAG_LARGE_SIZE_AWARE for Forefront TMG >4GB limitation - FEAT: dynamic robots.txt for cloaking - FIX: OnSendRawData gives error on IIS 7 when downloading files larger than 256MB -> disable event notification when all settings in response monitor are unchecked - on startup now ISAPI version of IIS/ISA/TMG and process info is logged - FIX: minor bug in logging 2 entries if logging allowed + already flushed (monitored IP) - FEAT: Added url list to protect from being hotlinked. This blocks CSRF on those urls. - Added additional Javascript events for XSS detection + prevent style tag injection - Added new robots type: Translation WebKnight 2.4 (2010.12.29) ------------- - Added Syslog - Updated LogAnalysis - bugfixes + sort column now possible - Major BUGFIX: URL decode should ignore % sign if not followed by valid hex (could be used to bypass scanning) - Added Deny Multiple Colons (':') in path for requests like /file/http://test - Installer - BUGFIX: no longer required to have access to inetsrv\config folder - Set NTFS permissions for current user/NETWORK SERVICE/IIS_IUSRS on WebKnight folder - restart IIS during setup - Applications compatibility - WinRM + by default denied access to /powershell - Changed BlockIP to blacklist: now able to specify the number of alerts in a certain time span before blocking an IP address WebKnight 2.3 (2010.04.03) ------------- - Logging - Per process logging no longer in subfolder but processid is in the filename - Added per process owner logging for IIS 7.5 and multiple application pools - Added error message logging (Error.log) if access to log file is denied - Added ClientIPVariable for support of reverse proxy/CDN instead of always using REMOTE_ADDR - Added generic data/querystring/cookie variable + header maximum length scanning - Added ripping protection of certain file extensions (like jpg,exe...) - Added M-SEARCH to denied methods (UPNP) - Adding comments to IP ranges is now possible: "127.0.0.1 //localhost" - fixed minor bug in XML settings: 'Denied Content Types' instead of 'Deny Content Types' - Added compatibility with - Office Sharepoint Server 2007 - Virtual Server 2005 - Changed maximum length of "Authorization:" header 4000 -> 5120 for Kerberos - Changed maximum length of "User-Agent:" header 256 -> 320 - HackResponse no longer sends message body in HEAD request (only in OnPreprocHeaders()) - Removed .axd file from denied sequences (too much used by ASP.NET websites) - Added /xmlrpc. to the list of blocked urls - IPv6: Adjusted CIPAddress class to template - SQL Injection - now logs which keywords are found - Added SQL Keywords: dbo. ; master.. ; @@version ; @@servername ; @@servicename ; @@fetch_status ; db_name ; db_id ; is_member ; is_srvrolemember ; object_id ; object_name ; col_length ; col_name ; syscolumns ; sysname ; system_user ; quotename ; isnull ; xtype ; varchar ; char(9) ; char(94) ; char(32) ; char(85) ; cursor ; sp_configure ; backup ; /* ; */ ; information_schema WebKnight 2.2 (2008.09.02) ------------- - First 64bit and IIS7 release (adjusted installer scripts to use new IIS7 API instead of metabase) - Disabled registering for OnReadRawData event on IIS7 and later - Added Denied Content-Types - Frontpage 2008 (and previous) uses empty url in OnUrlMap - Added logging of "Host:" header - Now also logs ASP.NET error response body (ASP classic used querystring for error number) - Updated default keywords Url: /siteadmin Querystring: c:\ Filename: .aspx. ; .asa. ; .asax. ; backdoor ; admin.pw ; test.cgi -> test. Extensions: .old ; .backup ; .000 ; .asp~ ; .dbf & .dbx -> .db ; SQL injection: char(124) ; cast( ; fetch next ; allocate ; MySQL string escape character ; =!( - Referrer scan - Extended with DenySQLInjection - Cookie scan - Extended with DenyHighBitShellCode, DenyDirectoryTraversal, DenySequences - Fixed bug with scanning for SQL injection: make lowercase - Added blocking/monitoring of IP address if alert (response handling) - Added IP range format 10.0.0.1-10.0.0.2 - Blocked certain query string/postdata injection attacks - http:// injection - php script injection (