Application Security Checklist
Application Security Checklist
SHEET
Document Information
Project
Document Title Application Security Testing Checklist
Prepared by
Version Number 1
Version Date November 30, 2019
Document Approval
No. Name Position
1 ISGG Chairman
Distribution List
No. Name Position
1
2
3
4
5
Interpretation
Unlikely
Remote
Rare
Periodic
Frequent
Regular
Interpretation
Negligible PXI
Low 25
Considerable 20
High 20
Significant 16
15
Rating Rating 15
1-5 12
6 - 10 12
11 - 15 10
10
9
Interpretation 8
Very Low 8
Low 6
Medium 6
High 5
Critical 5
4
Description 4
Non-Existent 4
Initial 3
Repeatable 3
Defined 2
Managed 2
Optimal 1
ON SECURITY TESTING
Change
Reference
Comments
Comments
Heat Map
Impact Probability x 3 x4 x5 x6 x7 x8 x9
5 5 75 100 125 150 175 200 225
5 4 60 80 100 120 140 160 180
4 5 60 80 100 120 140 160 180
4 4 48 64 80 96 112 128 144
5 3 45 60 75 90 105 120 135
3 5 45 60 75 90 105 120 135
4 3 36 48 60 72 84 96 108
3 4 36 48 60 72 84 96 108
5 2 30 40 50 60 70 80 90
2 5 30 40 50 60 70 80 90
3 3 27 36 45 54 63 72 81
4 2 24 32 40 48 56 64 72
2 4 24 32 40 48 56 64 72
3 2 18 24 30 36 42 48 54
2 3 18 24 30 36 42 48 54
5 1 15 20 25 30 35 40 45
1 5 15 20 25 30 35 40 45
4 1 12 16 20 24 28 32 36
2 2 12 16 20 24 28 32 36
1 4 12 16 20 24 28 32 36
3 1 9 12 15 18 21 24 27
1 3 9 12 15 18 21 24 27
2 1 6 8 10 12 14 16 18
1 2 6 8 10 12 14 16 18
1 1 3 4 5 6 7 8 9
G
x 10 x 11 x 12 x 13 x 14 x 15
250 275 300 325 350 375
200 220 240 260 280 300
200 220 240 260 280 300
160 176 192 208 224 240
150 165 180 195 210 225
150 165 180 195 210 225
120 132 144 156 168 180
120 132 144 156 168 180
100 110 120 130 140 150
100 110 120 130 140 150
90 99 108 117 126 135
80 88 96 104 112 120
80 88 96 104 112 120
60 66 72 78 84 90
60 66 72 78 84 90
50 55 60 65 70 75
50 55 60 65 70 75
40 44 48 52 56 60
40 44 48 52 56 60
40 44 48 52 56 60
30 33 36 39 42 45
30 33 36 39 42 45
20 22 24 26 28 30
20 22 24 26 28 30
10 11 12 13 14 15
APPLICATION SECURITY TESTING
Information
CHECKLIST
Test Name Description Tools Used Result Remark
Gathering
Conduct Search Engine Discovery and Reconnaissance for Use a search engine to search for Network diagrams and Configurations,
IGT-001 Credentials, Error message content.
Information Leakage
Find the version and type of a running web server to determine known
IGT-002 Fingerprint Web Server vulnerabilities and the appropriate exploits. Using
"HTTP header field ordering" and "Malformed requests test".
IGT-003 Review Webserver Metafiles for Information Leakage Analyze robots.txt and identify <META> Tags from website.
Review Webpage Comments and Metadata for Information Find sensitive information from webpage comments and Metadata on
IGT-005 source code.
Leakage
IGT-006 Identify application entry points Identify from hidden fields, parameters, methods HTTP header analysis
IGT-007 Map execution paths through application Map the target application and understand the principal workflows.
CDM-003 Test File Extensions Handling for Sensitive Information Find important file, information (.asa , .inc , .sql ,zip, tar, pdf, txt, etc)
Identity
Management Test Name Description Tools Result Remark
Testing
Verify that the identity requirements for user registration are aligned
IMT-002 Test User Registration Process with business and security requirements:
Determine which roles are able to provision users and what sort of
IMT-003 Test Account Provisioning Process accounts they can provision.
User account names are often highly structured (e.g. Joe Bloggs
IMT-005 Testing for Weak or unenforced username policy account name is jbloggs and Fred Nurks account name is fnurks)
and valid account names can easily be guessed.
Guest and Training accounts are useful ways to acquaint potential users
with system functionality prior to them completing the authorisation
IMT-006 Test Permissions of Guest/Training Accounts process required for access.Evaluate consistency between access policy
and guest/training account access permissions.
Authentication
Test Name Description Tools Result Remark
Testing
Check referrer whether its HTTP or HTTPs. Sending data through HTTP
AUT-001 Testing for Credentials Transported over an Encrypted Channel and HTTPS.
Testing for default credentials of common applications, Testing for default
AUT-002 Testing for default credentials password of new accounts.
Evaluate the account lockout mechanism’s ability to mitigate
AUT-003 Testing for Weak lock out mechanism brute force password guessing. Evaluate the unlock mechanism’s
resistance to unauthorized account unlocking.
Force browsing (/admin/main.php, /page.asp?authenticated=yes),
AUT-004 Testing for bypassing authentication schema Parameter Modification, Session ID prediction, SQL Injection
Look for passwords being stored in a cookie. Examine the cookies stored
AUT-005 Test remember password functionality by the application. Verify that the credentials are not stored in clear text,
but are hashed. Autocompleted=off?
Check browser history issue by clicking "Back" button after logging out.
AUT-006 Testing for Browser cache weakness Check browser cache issue from HTTP response headers (Cache-
Control: no-cache)
Determine the resistance of the application against brute force
password guessing using available password dictionaries by evaluating
AUT-007 Testing for Weak password policy the length, complexity, reuse and aging requirements of
passwords.
Testing for weak pre-generated questions, Testing for weak self-
AUT-008 Testing for Weak security question/answer generated question, Testing for brute-forcible answers (Unlimited
attempts?)
Test password reset (Display old password in plain-text?, Send via
AUT-009 Testing for weak password change or reset functionalities email?, Random token on confirmation email ?), Test password change
(Need old password?), CSRF vulnerability ?
Understand the primary mechanism and Identify other channels (Mobile
AUT-010 Testing for Weaker authentication in alternative channel App, Call center, SSO)
Authorization
Test Name Description Tools Result Remark
Testing
AUT-014 Testing for Insecure Direct Object References Force changing parameter value (?invoice=123 -> ?invoice=456)
Session
Management Test Name Description Tools Result Remark
Testing
SMT-006 Testing for logout functionality Check reuse session after logout both server-side and SSO.
Check session timeout, after the timeout has passed, all session tokens
SMT-007 Test Session Timeout should be destroyed or be unusable.
The application uses the same session variable for more than one
purpose. An attacker can potentially access pages in an order
SMT-008 Testing for Session puzzling unanticipated by the developers so that the session variable is set in one
context and then used in another.
Data
Validation Test Name Description Tools Result Remark
Testing
Check for input validation, Replace the vector used to identify XSS, XSS
DVT-001 Testing for Reflected Cross Site Scripting with HTTP Parameter Pollution.
Craft custom HTTP requests to test the other methods to bypass URL
DVT-003 Testing for HTTP Verb Tampering authentication and authorization.
Identify any form or action that allows user-supplied input to bypass Input
DVT-004 Testing for HTTP Parameter pollution validation and filters using HPP
DVT-005 Testing for SQL Injection Union, Boolean, Error based, Out-of-band, Time delay.
/ldapsearch?user=*
DVT-006 Testing for LDAP Injection user=*user=*)(uid=*))(|(uid=*
pass=password
DVT-007 Testing for ORM Injection Testing ORM injection is identical to SQL injection testing
param=foobar%0d%0aContent-Length:%200%0d%0a%0d
%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/
DVT-021 Testing for HTTP Splitting/Smuggling
html%0d%0aContent-Length:%2035%0d%0a%0d
%0a<html>Sorry,%20System%20Down</html>
Testing for Weak SSL/TSL Ciphers, Insufficient Transport Identify SSL service, Idectify weak ciphers/protocols (ie. RC4, BEAST,
CRY-001 CRIME, POODLE)
Layer Protection
Business logic
Test Name Description Tools Result Remark
Testing
• Looking for data entry points or hand off points between systems or
BLT-001 Test Business Logic Data Validation software.
• Once found try to insert logically invalid data into the application/system.
Client Side
Test Name Description Tools Result Remark
Testing
CST-001 Testing for DOM based Cross Site Scripting Test for the user inputs obtained from client-side JavaScript Objects
Not Started
Pass
Issues
N/A
APPLICATION SECURITY TESTING RESU
No. Vulnerability Name Affected Host/Path Impact Likelihood Risk
ITY TESTING RESULTS
Observation/Implication Recommendation Test Evidence