Penetration Testing E-commerce Applications
Over the past decade, E-Commerce applications have grown both in terms of numbers and complexity. Currently, E-Commerce application are going forward becoming more personalized, more mobile friendly and rich in functionality. Complicated recommendation algorithms are constantly running at the back end to make content searching as personalized as possible.
Why a conventional application penetration testing is not enough for E-commerce Applications?
E-Commerce applications are growing in complexity, as a result conventional application penetration is simply not enough. Conventional application penetration testing focus on vulnerability classes described in OWASP or WASC standards like SQL Injection, XSS, CSRF etc.
It is required to create specialized penetration testing framework tailored towards E-Commerce applications that should have following features:
- Comprehensive Business Logic Vulnerabilities for various functional modules related to E-Commerce Applications.
- Comprehensive flaws related to various Integrations with various 3rd party products.
Key Vulnerability Classes Covered
Some of the vulnerability classes covered as part of E-commerce penetration testing are listed below.
Order Management Flaws
Order management flaws primarily consists of misusing placing an order functionality. The exact vulnerabilities will depend on the kind of application, however some examples are listed below:
Possibility of Price manipulation during order placement.
- Possibility of manipulating the shipping address after order placement.
- Absence of Mobile Verification for Cash-on-Delivery orders.
- Obtaining cash-back/refunds even after order cancellation.
- Non deduction of discounts offered even after order cancellation
- Possibility of illegitimate ticket blocking for certain time using automation techniques.
- Client side validation bypass for max seat limit on a single order.
- Bookings/Reservations using fake a/c info.
- Usage of Burner (Disposable) phones for verification.
Coupon and Reward Management Flaws
Coupons and Reward management flaws are extremely complex in nature. Some examples are listed below:
- Coupon Redemption possibility even after order cancellation.
- Bypass of coupon’s terms & conditions.
- Bypass of coupon’s validity.
- Usage of multiple coupons for the same transaction.
- Predictable Coupon codes.
- Failure of re-computation in coupon value after partial order cancellation.
- Bypass of coupon’s validity date.
- Illegitimate usage of coupons with other products.
Payment Gateway Integration (PG) Flaws
Many of the classical attacks on E-Commerce applications are because of Payment gateway integrations. Buying a pizza in 1$ is a classical example of misusing PG integration by an attacker.
- Price modification at client side with zero or negative values.
- Price modification at client side with varying price values.
- Call back URL manipulation.
- Checksum bypass.
- Possibility of price manipulation at Run Time.
Content Management System (CMS) Flaws
Most E-Commerce applications have backend content management system to upload / update content. In most cases, CMS will be integrated with resellers, content providers and partners. For example, hotel E-Commerce application will be integrated with individuals hotels or with multiple partners. As a result of increased complexity, there are multiple sub vulnerability classes that need to testes, some of them are listed below:
- File management logical flaws
- RBAC Flaws
- Notification System Flaws
- Misusing Rich Editor Functionalities
- 3rd Party APIs Flaws
- Flaws in Integration with PoS (Point of Sales Devices)
Apart from business logic vulnerabilities, conventional vulnerabilities are also part of the penetration testing framework. Examples of conventional vulnerabilities are SQL Injection, Cross Site Scripting (XSS), CSRF and other vulnerabilities defined as part of OWASP.
Credits to http://www.ivizsecurity.com/blog