As mentioned earlier, business logic-related flaws cannot be tested comprehensively using automated tools. The following are some guidelines to test business logic:
- Have a brainstorming session with the application architect, the business users of the application, and the developer to understand what the application is all about
- Understand all the workflows in the application
- Jot down critical areas of the application where things might go wrong and have a larger impact
- Create sample/raw data and try to explore the application both as a normal user as well as from an attacker's perspective
- Develop attack scenarios and logical tests for testing specific business logic
- Create a comprehensive threat model