This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
OWASP Fiddler Addons for Security Testing Project
Main
Welcome to the OWASP page presenting Fiddler addons for security testing. This is home of the Watcher and x5s security testing tools built as extensions for the Fiddler HTTP proxy. A quick overview:
- Watcher is a passive vulnerability scanner for Web applications
- x5s is an active cross-site scripting testing tool for Web applications
- Fiddler is an HTTP debugging proxy with support (and scripting support) for traffic interception, traffic modification, replay, comparison, data parsing, offline usage, NTLM/basic/digest auth, and much more
Fiddler HTTP Proxy
The Fiddler HTTP debugging proxy has a long history with a wide user base and was chosen as the platform for building security testing tools found on this page. By leveraging Fiddler we can focus our efforts on the security testing logic and let the proxy do its job.
Watcher
Ever find yourself looking for that showstopper exploit in a Web-app, and forgetting to check out all the low-hanging fruit? That's intitially why we created Watcher. For one thing, we don't want to manually inspect a Web-app for many of these issues (cookie settings, SSL configuration, information leaks, etc), but we still want to find and fix them. Watcher provides this level of security analysis, plus provides hot-spot detection to help pen-testers focus in on the spots that will lead to that showstopper exploit.
Descriptions of the security checks
The security field today has several good choices for HTTP proxies which assist auditors and pen-testers. We chose to implement this as a plugin for Fiddler which already provides the proxy framework for HTTP debugging. Some reasons to use Watcher include:
- Safe for the Cloud and hosting environments
Being passive gives Watcher several advantages - when applications live in the Cloud there's often a risk that running security testing could damage the shared infrastructure. However, using a passive tool like Watcher ensures that there's no chance of damaging Cloud-like infrastructure.
- Safe for production environments
Watcher does not attack web-applications with loads of intrusive requests, it doesn't modify inputs to your application. Unlike crawlers and web-application scanners, Watcher does not generate dangerous traffic. It quietly analyzes normal user-interaction and makes educated reports on the security of an application.
- Low overhead, no training
If you’re building web-applications you already have a development and test staff. Fiddler has been valuable to dev and test for years as a general-purpose HTTP debugging proxy. Watcher fits seamlessly into the picture, providing valuable security insight with no special training requirements, dedicated machines, or other resources.
User Interface
The main configuration screen for Watcher makes it as simple as clicking the 'enable' button. Once you do that, all HTTP traffic starts getting observed and analyzed for security issues. You can also narrow Watcher's scope by specifying an ***origin*** domain that will be the focus of analysis, all others being ignored. Custom Watcher configurations can also be saved so you don't need to re-enter the same information each time you launch the tool.
To get more granular, the checks configuration screen allows you enable and disable individual checks. Some checks even come with their own configurations such as noise reduction or string analysis.
The most interesting screen will probably be the results screen, where each finding is displayed. From here you can remove findings, filter by severity, and export to XML, HTML, or TFS.
Source Code
Watcher has been written in C# for .NET. The source code is hosted by CodePlex in a Mercurial repository which can be cloned at:
Mercurial repo: https://hg01.codeplex.com/websecuritytool
Or simply browse the source code at: http://websecuritytool.codeplex.com/SourceControl/BrowseLatest
Watcher itself can be easily extended to include new checks.
Extensibility
Watcher was built to be easily extended with new checks. You should be able to easily add custom checks and have them included in all of Watcher's functionality. A good way to get started is to browse the code looking at the Watcher Check Library, and picking one of the simpler checks to use as a template. That will show you the basic structure of what's required. I should really write a tutorial about this... added to the roadmap.
List of Security Checks
The following is a list of security checks for Watcher 1.5 as of December 6, 2010. Details are available over at Watcher's Codeplex page.
- ASP.NET checks
- Insecure VIEWSTATE tampering possibility
- Charset checks
- Charset declaration was not UTF-8
- A Charset mismatch was identified
- Cookie checks
- Loosely scoped cookie was identified
- Cookie's secure flag was not set
- Cookie's HttpOnly flag was not set
- Cross-Domain checks
- Cross-domain CSS resource
- Cross-domain JavaScript src reference
- Cross-domain JavaScript DOM reference
- Cross-domain Form action
- Flash checks
- Flash allows JavaScript access
- Flash Crossdomain.xml file contains insecure domain references
- HTTP Header checks
- Cache-Control not set to 'no-store'
- Content-Type declaration missing
- X-XSS-PROTECTION disables Internet Explorer protection
- X-XFRAMES-OPTIONS not set to prevent click-jacking
- X-CONTENT-TYPE-OPTIONS not set to prevent MIME-type sniffing
- Weak authentication
- Information Disclosure checks
- Information disclosure in error messages
- Information disclosure in database error messages
- Information disclosure in comments
- Information disclosure in HTTP referrer
- Information disclosure in URL parameters
- Java checks
- Java Server MyFaces vulnerable to VIEWSTATE tampering
- Javascript checks
- Use of javascript eval methods
- Use of javascript domain lowering techniques
- Sharepoint checks
- Sharepoint insecure document library
- Silverlight checks
- Silverlight clientaccesspolicy.xml/crossdomain.xml contains insecure domain references
- Silverlight settings allow javascript access
- SSL checks
- Insecure transition from HTTP to HTTPS
- Insecure transition from HTTPS to HTTP
- SSL certificates failed validation
- Legacy SSL v2 protocol was accepted by server
- Unicode checks
- Ill-formed UTF-8 byte sequence was identified
- User-Controlled Input checks
- A user-controlled charset declaration was identified
- A potential cookie-poisoning vulnerability was found
- A potential XSS vulnerability was found
- A likely XSS vulnerability was found in a user-controlled page event
- A potential XSS vulnerability was found through a user-controlled javascript reference
- A user-controlled open redirect was identified
FAST - Project About
- The OWASP Fiddler Addons for Security Testing Project (aka OWASP FAST) is the umbrella for two complementary projects:
- Watcher Project - a passive vulnerability scanner,
- X5s Project - an active XSS testing and input/output encoding detection.
Watcher - Project About
PROJECT INFO What does this OWASP project offer you? |
RELEASE(S) INFO What releases are available for this project? | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
X5s - Project About
PROJECT INFO What does this OWASP project offer you? |
RELEASE(S) INFO What releases are available for this project? | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|