0% found this document useful (0 votes)
53 views9 pages

Owasp - API Checklist

The document outlines various vulnerabilities and testing methods related to API security, including issues like broken object level authorization, improper authentication, excessive data exposure, and security misconfigurations. It references specific Common Weakness Enumeration (CWE) identifiers for each vulnerability and provides descriptions of the issues along with suggested tools for testing. The document serves as a guide for identifying and mitigating security risks in API implementations.

Uploaded by

studentnitte
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views9 pages

Owasp - API Checklist

The document outlines various vulnerabilities and testing methods related to API security, including issues like broken object level authorization, improper authentication, excessive data exposure, and security misconfigurations. It references specific Common Weakness Enumeration (CWE) identifiers for each vulnerability and provides descriptions of the issues along with suggested tools for testing. The document serves as a guide for identifying and mitigating security risks in API implementations.

Uploaded by

studentnitte
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
You are on page 1/ 9

OWASP: API Testing

Broken Object Level


Test Name
Authorization

CWE-284 Improper Access Control

CWE-285 Improper Authorization

CWE-639 Authorization Bypass Through User-Controlled Key

Broken User Authentication Test Name

CWE-798 Use of Hard-coded Credentials

API2-2019-001 Rate limiting implementation

Excessive Data Exposure Test Name

CWE-213 Intentional Information Exposure

API3-2019-001 Data Validation

Lack of Resources & Rate


Test Name
Limiting

CWE-307 Improper Restriction of Excessive Authentication Attempts

CWE-770 Allocation of Resources Without Limits or Throttling

Broken Function Level


Test Name
Authorization

CWE-285 Improper Authorization

Mass Assignment Test Name


Improperly Controlled Modification of Dynamically-Determined
CWE-915
Object Attributes

Security Misconfiguration Test Name

API7-2019-001 Ensure Debug Messages are not Enabled

API7-2019-002 Ensure Error pages do not give away system details


API7-2019-003 Sensitive information in API URL

API7-2019-004 Misconfiguration: Data Transmission Without Encryption

API7-2019-004 Misconfiguration: Insufficient Session-ID Length

OTG-CONFIG-001 Test Network/Infrastructure Configuration

OTG-CONFIG-002 Test Application Platform Configuration


OTG-CONFIG-003 Test File Extensions Handling for Sensitive Information
OTG-CONFIG-004 Backup and Unreferenced Files for Sensitive Information

OTG-CONFIG-005 Enumerate Infrastructure and Application Admin Interfaces

OTG-CONFIG-006 Test HTTP Methods

OTG-CONFIG-007 Test HTTP Strict Transport Security

OTG-CONFIG-008 Test RIA cross domain policy

Injection Test Name

Improper Neutralization of Special Elements used in a


CWE-77
Command ('Command Injection')

Improper Neutralization of Special Elements used in an SQL


CWE-89
Command ('SQL Injection')

Improper Assets
Test Name
Management

CWE-1059 Incomplete Documentation


Insufficient Logging &
Test Name
Monitoring

CWE-223 Omission of Security-relevant Information

CWE-778 Insufficient Logging

Not Started
Pass
Issues
N/A
Description Tools

The software does not restrict or incorrectly restricts access to a resource from an
unauthorized actor.
The software does not perform or incorrectly performs an authorization check
when an actor attempts to access a resource or perform an action.
The system's authorization functionality does not prevent one user from gaining
access to another user's data or record by modifying the key value identifying the
data.

Description Tools

The software contains hard-coded credentials, such as a password or


cryptographic key, which it uses for its own inbound authentication, outbound
communication to external components, or encryption of internal data.

Implement anti brute force mechanisms to mitigate credential stuffing, dictionary


attack, and brute force attacks on your authentication endpoints. This mechanism
should be stricter than the regular rate limiting mechanism on your API.

Description Tools
A product's design or configuration explicitly requires the publication of
information that could be regarded as sensitive by an administrator.
Never rely on the client side to filter sensitive data. Review the responses from
the API to make sure they contain only legitimate data.

Description Tools

The software does not implement sufficient measures to prevent multiple failed
authentication attempts within in a short time frame, making it more susceptible to
brute force attacks.

The software allocates a reusable resource or group of resources on behalf of an


actor without imposing any restrictions on the size or number of resources that
can be allocated, in violation of the intended security policy for that actor.

Description Tools

The software does not perform or incorrectly performs an authorization check


when an actor attempts to access a resource or perform an action.

Description Tools
The software receives input from an upstream component that specifies
multiple attributes, properties, or fields that are to be initialized or
updated in an object, but it does not properly control which attributes can
be modified.

Description Tools
Ensure debug are not enabled as these messages help attackers learn about the
system and plan a form of attack.
Application must enable custom error pages in order to prevent attackers from
mining information from the framework's built-in responses.
Ensure passwords or other sensitive parameters are not passed in URLs.
Information sent over a network can be compromised while in transit. An attacker
may be able to read or modify the contents if the data are sent in plaintext or are
weakly encrypted.
Ensure application is configured to use an insufficient session ID length.
Understand the infrastructure elements interactions, config management for
software, backend DB server, WebDAV, FTP in order to identify known Nessus
vulnerabilities.
Identify default installation file/directory, Handle Server errors (40*,50*), Minimal
Privilege, Software logging.
Browser, Nikto

Find important file, information (.asa , .inc , .sql ,zip, tar, pdf, txt, etc) Browser, Nikto
Check JS source code, comments, cache file, backup file (.old, .bak, .inc, .src)
and guessing of filename
Nessus, Nikto, Wikto

Directory and file enumeration, comments and links in source (/admin, Burp Proxy, dirb, Dirbuster,
/administrator, /backoffice, /backend, etc), alternative server port (Tomcat/8080) fuzzdb, Tilde Scanner

Identify HTTP allowed methods on Web server with OPTIONS. Arbitrary HTTP
Methods, HEAD access control bypass and XST
netcat, curl

Identify HSTS header on Web server through HTTP response header.


curl -s -D- https://domain.com/ | grep Strict
Burp Proxy, ZAP, curl

Analyse the permissions allowed from the policy files


(crossdomain.xml/clientaccesspolicy.xml) and allow-access-from.
Burp Proxy, ZAP, Nikto

Description Tools
The software constructs all or part of a command using externally-influenced
input from an upstream component, but it does not neutralize or incorrectly
neutralizes special elements that could modify the intended command when it is
sent to a downstream component.

The software constructs all or part of an SQL command using externally-


influenced input from an upstream component, but it does not neutralize
or incorrectly neutralizes special elements that could modify the intended
SQL command when it is sent to a downstream component.

Description Tools

The documentation, whether on paper or in electronic form, does not contain


descriptions of all the relevant elements of the product, such as its usage,
structure, interfaces, design, implementation, configuration, operation, etc.
Description Tools

The application does not record or display information that would be important for
identifying the source or nature of an attack, or determining if an action is safe.
Once found try to insert logically invalid data into the application/system.

When a security-critical event occurs, the software either does not record the
event or omits important details about the event when logging it.
Result Remark

Result Remark

Result Remark

Result Remark

Result Remark

Result Remark
Result Remark

Result Remark

Result Remark
Result Remark

You might also like