The plugin does not validate the origin of payment processor status requests, allowing orders to be marked as fully paid by issuing a specially crafted GET request during the ordering workflow.
When presented with a payment screen, instead of submitting payment information, issue the following GET request to the site: https://example-site.com/?wc-api=WC_Gateway_Nab_Direct_Postℴ=XXXX&key;=wc_order_YYYYY&is;_crn=0&txnid;=ZZZZZ&refid;=WooCommerceXXXX&rescode;=00&restext;=Approved Where XXXX is the order number and YYYY is the order code which have been present before during the workflow. If these are not presented, submit invalid payment information and get a declined message. Now brute-force the order number which is sequential. Doing so will mark any existing pending orders as fully paid.
CPE | Name | Operator | Version |
---|---|---|---|
woocommerce-gateway-nab-dp | lt | 2.1.2 |