Security Testing

What Is The Testing Methodology For Edgescan?

Edgescan has varying levels of rigour dependent on the type of testing that takes place, all levels align to best practices and industry standards.

Version Number: v1.0.0

Published Date: 26 March 2025

____________________________________________________________________________

Manual Penetration Testing – Methodology & Approach

An Edgescan advanced licence provides for a level of testing that is equivalent to a manual penetration test. This licence includes the same testing that is applied to foundation licences but also the additional expected rigour of a full manual penetration test.

Our fullstack approach covers both network and application layer where applicable.

Approach – Application Layer Testing

Edgescan has developed an application testing methodology based on OWASP best practice which has proven effective in identifying areas within web applications that are most vulnerable to attack.

The methodology initiates each assessment from different threat perspectives to determine the extent that sensitive information or unauthorised access can be gained.

Our testing approach combines automated and manual techniques to perform the security testing of both the application and supporting application server (underlying hosting infrastructure). While scanning tools provide a solid foundation for vulnerability detection, they have several weaknesses which we address via manual testing and inspection, which is core to our service. Our testing approach progresses through three distinct phases. Our penetration testing methodology is aligned with CREST (https://www.crest-approved.org/) and we are a CREST accredited penetration testing provider.

Phase 1: Application Recon

The first step in the Edgescan methodology is to ‘spider’ or ‘crawl’ the application to map out the relevant functions.

This step helps identify the applications attack surface.

Phase 2: Fault injection and scanning

Edgescan employs a variety of tools for web application and API scanning, based on leading industry practice. A combination of proprietary, best of breed commercial and open-source tools are employed. Existing and new tools are constantly being tested by our ‘scanner’ security team to ensure that adequate coverage of systems is ensured during testing, in addition to accuracy and identification of vulnerabilities present in target systems.

Phase 3: Manual penetration testing

The results obtained in previous phases, combined with Edgescan’s web and API application security testing experience, are used in the manual assessment of application vulnerabilities. Testing is delivered using a qualified penetration testing consultant and this phase attempts to identify vulnerabilities that could be exploited to:

  • bypass authentication or authorization controls
  • identify an individual by circumventing privacy controls
  • bypass validations or manipulate application business logic
  • obtain unauthorised access to the application, the database and the underlying operating system

Testing included, but was not limited to using the following techniques:

  • Business Logic weakness manipulation: Attempts to “fool” the application or break workflow logic in order to examine the potential to bypass business or logical controls.
  • Authentication: Verifying the robustness of authentication mechanisms using techniques such as ‘brute forcing’ (attacks that involve trying large number of possible values until the correct value is discovered, this is at customer request only. Our default test is to ascertain if there are protective controls in place) and ‘sniffing’ (capturing and analysing network traffic).
  • Parameter manipulation: The ability to alter parameters passed to the server in the HTTP POST and GET requests in order to bypass authorisation controls or other validation controls.
  • Vertical and horizontal privilege escalation: The ability to hijack the rights of a fellow user, and the ability to escalate these privileges to gain unauthorised access to administrative areas.
  • Injection Attacks: The ability to construct and submit payloads that will be run on the backend systems and gain unauthorised access to data or unsanctioned privileges on an underlying database or operating system.
  • Directory traversal: The ability to navigate to server directories that the user should not be authorised to access.
  • Web server permissions: The ability to make unsanctioned uploads or changes to application content or access the directory structure in an unauthorised manner.
  • Cookie Poisoning and Spoofing: Cookies are typically used to pass session variables, including the authentication of a user. By manipulating unencrypted cookies, it may be possible to modify them to gain escalated user privileges.
  • Session Management: Analyse session cookies to determine whether they can be predicted and used to gain unauthorised access to applications.
  • Cross-site scripting: The ability to inject malicious script characters into the website content that may be used for ‘phishing’ attacks or general defacement.
  • Direct Object access Forceful Browsing: Attempting to gain unauthorised access to parts of the online retail application by directly accessing URLs.
  • Overflow: An overflow is the process of diverting the function of a particular program by placing a malicious piece of code in memory that is executed on the server. Attempt to identify parameters in the application that cannot handle large input streams that may create an overflow condition.

Approach – Network Layer Testing

Edgescan’s experience and knowledge of the latest exploits, common system weaknesses and hacking techniques are used to attempt to exploit potential exposures and uncover any areas of security weakness in target hosts. The testing is divided into two distinct phases:

Phase 1: IP Scan

Edgescan has developed a sophisticated and effective programme to test the security surrounding Internet-connected systems. This includes controlled penetration tests that are used to attempt to gain access to Internet-connected systems and ultimately pivot to adjacent or internal networks from the Internet, if applicable. The following aspects of the methodology were used:

  • Server identification – allowing the identification of platforms, operating systems, and applications.
  • Service scan – a method to determine which service ports are present and listening for transactions. Traffic from application programs and operating system instructions are transmitted over these ports
  • Information retrieval – attempting to identify active ports and extract information from the target system, including banners or other key information.
  • Vulnerability scan – use of commercial and proprietary tools against computer addresses, vulnerabilities, and protocols.

As stated earlier, automated scanning techniques have their limitations - Edgescan carefully evaluated the results of each tool and where possible, manually verified the existence of difficult to detect vulnerabilities to ensure accurate reporting.

Phase 2: Manual Vulnerability Validation

Where applicable, we validate all vulnerabilities in the target hosts. Both proprietary Edgescan and well-known, widely available techniques are used to attempt to circumvent selected systems’ security. Edgescan’s specific approach included the following:

  • Configuration/Known weakness attacks – both inherently insecure services as well as necessary but poorly configured services are targeted during testing: attempts are made to exploit vulnerabilities in services such as NetBIOS, ftp, HTTP etc. Attempts to exploit password composition vulnerabilities may also be made through use of intelligent brute force utilities, if applicable.
  • Known vulnerabilities – non-destructive validation techniques were employed, should a known vulnerability be detected in any of the underlying system stack, with the goal to escalate privileges within the system.

Testing Taxonomy

Edgescan offers continuous Dynamic Application Security Testing (DAST) integrated with deep-dive, business logic penetration testing through our Edgescan advanced license. This combination of production-safe, automated and manual testing on one platform, allow enterprises to tackle the ever-increasing demand for accurate and useful Application Security Testing (AST) intelligence. The vulnerability and test case taxonomy of our DAST and Penetration Testing services are outlined below.

 

Edgescan Vulnerability Assessment - Including DAST and Network VM

All OWASP Top 10 (2013, 2017) vulnerabilities

HTTP caching control

OS command injection

Application framework - known vulnerabilities (spring / struts / zend / django / .net, etc.)

HTTP header injection

Persistent session cookie

Brute force login screens (on request)

Autocomplete attribute

HTTP only session cookie

Remote file inclusion (RFI)

Buffer overflow

HTTP response smuggling

SANS Top 25 Software Errors

Content spoofing / HTML hacking

HTTP response splitting / pollution

Server-side injection

Functionality abuse

Cookie access control

Improper input handling  

SQL injection: error based, time based, Boolean conditional, MySQL, MSSQL, Oracle, etc.

Cross site scripting (XSS) – reflected / stored

Improper output encoding / content type encoding 

Unsecured session cookie

Data / information leakage

Improper file system access control

URL redirect security

Directory indexing  

Insufficient SSL / TLS / transport layer protection

XML attribute security

XML external entities  

State logic weakness

DOM XSS

Integer overflows

XML injection and schema security  

File path traversal

LDAP injection  

XPath injection

     

 

In addition to the Edgescan Standard (DAST) testing (above), penetration testing attempts to discover issues which scanners generally do not detect. The discovery of such issues is unique to Penetration Testing or using an Edgescan Advanced license, as the issues are contextual and require human intelligence to discover and exploit.

The additional manual testing that is performed during an Edgescan advanced test is outlined below.

Edgescan Advanced Penetration Testing

Anti-automation assessment 

Credential / ID /session prediction

Session fixation / expiration weakness

Brute force

Horizontal authorisation weakness (peer-to-peer) 

Weak password recovery

Business logic weakness / functional abuse / state logic weakness

Insecure indexing / direct object access

 

 Full Application Testing Taxonomy

Technical Vulnerabilities - WASC

Application Misconfiguration

[O-A6, API6]

Buffer Overflow

[S25-3, 20]

Content Spoofing

 

Cross Site Scripting

[O-A7] [S25-4]

Directory Indexing

[S25-13]

Path Traversal

[S25-13]

Fingerprinting

 

Format String Attack

[S25-23]

Insecure Deserialization

[O-A8]

HTTP Request Smuggling 

 

HTTP Response Splitting

[O-A1]

Insufficient Logging / Monitoring

[O-A10, API10s]

Improper Filesystem Permissions 

[O-A6] [S25-17] 

Improper Input Handling

 

Improper Output Handling

 

Authentication Misconfiguration

[O-A2, API2] 

Insufficient Transport Layer Protection

 

Integer Overflows

 

[S25-24]

LDAP Injection 

[O-A1]

Mail Command Injection

[O-A1]

Null Byte Injection

[O-A1]

Predictable Resource Location 

[O-A5]

Remote File Inclusion

 

Routing Detour

 

OS Commanding & Injection

[O-A1] [S25-2]

Cryptographic Misconfiguration

[S25-19]

SOAP Array Abuse

 

SQL Injection 

[O-A1] [S25-1]

SSI Injection

[O-A1]

Server Misconfiguration

[O-A6]

URL Redirector Abuse

[O-A10] [S25-22]

XML Attribute Blowup

 

XML Entity Expansion

 

XML External Entities

[O-A4]

XML Injection

[O-A1]

XPath Injection

[O-A1]

XQuery Injection

[O-A1]

Password Storage Issues

[O-A5] [S25-25]

Direct URL Access

[O-A8]

Information Leakage

[O-A3, API3] 

File Upload Abuse

[S25-9]

Lack of Resources / Rate Limiting

[O-API4]

Improper Assets Management

[O-A6, API9]

Mass Assignment

[O-API6]

Injection / Fuzzing (generic)

[O-API8]

Business Logic Flaws

Abuse of Functionality

 

Brute Force

 

Credential/Session Prediction

[O-A2, API2]

Cross Site Request Forgery

[S25-12]

Insecure Indexing

 

Insufficient Anti-automation

 

Insufficient Authentication

[O-A2, API2] [S25-5]

Insufficient Autorization

[O-A3, A5, API1, API5][S25-6, 10, 15]

Insufficient Process Validation

 

Insufficient Password Recovery

[O-A2, API2]

Insufficient Session Expiration

[O-A2, API2]

Session Fixation

[O-A2]

Best Practice

Autocomplete Attribute

[O-A6]

Insufficient Cookie Access Control

[O-A5]

Insufficient Crossdomain Configuration

[O-A6]

Insufficient Password Protection

[S25-21]

Insufficient Password Strength

 

Invalid HTTP Method Usage

 

Non-Http Only Session Cookie

[O-A6]

Persistent Session Cookie

 

Personally Identifiable Information

[O-A3][S25-8]

Secured Cachable HTTP Messages

[O-A6]

Unsecured Session Cookie

[O-A6]

 

 

Technical Vulnerabilities - OWASP Top 10 2017

Technical Vulnerabilities - OWASP API Security 10 2019

A1 - Injection

API1 2019 Broken Object Level Authorization

A2 - Broken Authentication

API2 2019 Broken User Authentication

A3 - Sensitive Data Exposure

API3 2019 Excessive Data Exposure

A4 - XML External Entities (XXE)

API4 2019 Lack of Resources & Rate Limiting

A5 - Broken Access Control

API5 2019 Broken Function Level Authorization

A6 - Security Misconfiguration

API6 2019 Mass Assignment

A7 - Cross Site Scripting (XSS)

API7 2019 Security Misconfiguration

A8 - Insecure Deserialization

API8 2019 Injection

A9 - Using components with known vulnerabilities

API9 2019 Improper Assets Management

A10 - Insufficient Logging & Monitoring

API10 2019 Insufficient Logging & Monitoring

 

*O - OWASP Top 10 2017 or API 2019

*S25 - SANS Top 25 Programming Errors