Web application and API security

We look for vulnerabilities that let an intruder read other people’s data, bypass payment or get administrator rights. We test by hand against OWASP, with and without an account.

Finding WEB-07Sample: access to another customer’s order
  1. RequestGET /api/orders/10482Customer A
  2. Response200 OK: customer B’s order with name, phone and addressLeak
  3. CauseThe API does not check who owns the orderOWASP API1
  4. FixCheck the object’s owner on the server when the request arrivesAdvice

IDOR rated CVSS 7.5, reproduced on a test environment

What we test

Web applications
Websites, customer portals, online banking, portals for clients and partners.
APIs
REST, GraphQL and SOAP: authorisation, object access, rate limiting.
Mobile apps
Android and iOS: on-device storage, server communication, protection against analysis.
Source code
Manual and automated code review, checks of dependencies and secrets in the repository.

Photographs

Photos: Sai Kiran Anagani, CC0; Christopher Bowns, CC BY-SA 2.0; Syced, CC0; Markus Spiske, CC0, Wikimedia Commons.

Testing models

How the work goes

  1. 01

    Scope

    We agree addresses, roles, test accounts and the testing window. We test on a copy or in production, as you choose.

  2. 02

    Application map

    We study functions, roles, input points and API calls.

  3. 03

    Testing

    We test against OWASP ASVS: authorisation, business logic, injections, file uploads and session handling.

  4. 04

    Report

    We describe vulnerabilities with requests, responses and reproduction steps. Developers get specific fixes.

  5. 05

    Retest

    After the fixes we retest the vulnerabilities we found.

What you get

  • A list of vulnerabilities with CVSS scores and evidence.
  • Recommendations for developers at the code and configuration level.
  • A retest after the fixes.
  • A report for management and auditors.
Can you test a live website?

Yes, if we agree a testing window and leave out checks that change customer data. For deep checks a copy on a test environment suits better.

Do you need the source code?

Black and grey box testing needs no code. With the code, testing finds more in the same time, especially authorisation and business logic flaws.

Is the report suitable for a PCI DSS assessment?

The report describes the method, scope and results the way auditors expect. We agree the testing requirements with your auditor in advance.

Discuss your task

Describe the task and the timeline. We will reply, clarify the scope and propose a plan.

  1. Contract. We start with a contract and a non-disclosure agreement. The scope of work and the permissions are put in writing.
  2. Scope. Goals, systems, timing and emergency contacts are agreed before the work starts.
  3. Work. We keep you updated as the work goes and report critical findings at once.
  4. Report. We hand over a management report and a technical report with evidence and recommendations.

Or write to us: info@dozorsecurity.kz

Request: Web applications and APIs