CAPEC Details
Name Try All Common Switches
Likelyhood of attack Typical severity
Low Medium
Summary An attacker attempts to invoke all common switches and options in the target application for the purpose of discovering weaknesses in the target. For example, in some applications, adding a --debug switch causes debugging information to be displayed, which can sometimes reveal sensitive processing or configuration information to an attacker. This attack differs from other forms of API abuse in that the attacker is indiscriminately attempting to invoke options in the hope that one of them will work rather than specifically targeting a known option. Nonetheless, even if the attacker is familiar with the published options of a targeted application this attack method may still be fruitful as it might discover unpublicized functionality.
Prerequisites The attacker must be able to control the options or switches sent to the target.
Execution Flow
Step Phase Description Techniques
1 Explore [Identify application] Discover an application of interest by exploring service registry listings or by connecting on a known port or some similar means.
  • Search via internet for known, published applications that allow option switches.
  • Use automated tools to scan known ports to identify applications that might be accessible
2 Explore [Authenticate to application] Authenticate to the application, if required, in order to explore it.
  • Use published credentials to access system.
  • Find unpublished credentails to access service.
  • Use other attack pattern or weakness to bypass authentication.
3 Experiment [Try all common switches] Using manual or automated means, attempt to run the application with many different known common switches. Observe the output to see if any switches seemed to put the application in a non production mode that might give more information.
  • Manually execute the application with switches such as --debug, --test, --development, --verbose, etc.
  • Use automated tools to run the application with common switches and observe the output
4 Exploit [Use sensitive processing or configuration information] Once extra information is observed from an application through the use of a common switch, this information is used to aid other attacks on the application
  • Using application information, formulate an attack on the application
Solutions Design: Minimize switch and option functionality to only that necessary for correct function of the command. Implementation: Remove all debug and testing options from production code.
Related Weaknesses
CWE ID Description
CWE-912 Hidden Functionality
Related CAPECS
CAPEC ID Description
CAPEC-113 An adversary manipulates the use or processing of an interface (e.g. Application Programming Interface (API) or System-on-Chip (SoC)) resulting in an adverse impact upon the security of the system implementing the interface. This can allow the adversary to bypass access control and/or execute functionality not intended by the interface implementation, possibly compromising the system which integrates the interface. Interface manipulation can take on a number of forms including forcing the unexpected use of an interface or the use of an interface in an unintended way.