OWasp Web App Developer Checklist Flashcards
Developer real time development skills for learners based on content at https://owasp.org/www-project-developer-guide/release/design/web_app_checklist/define_security_requirements/
System Configuration
What principle should be followed for application privileges?
Applications, processes, and service accounts should be restricted to the least privileges possible.
System Configuration
How should elevated privileges for an application be handled?
Raise privileges as late as possible and drop them as soon as possible.
System Configuration
What should be removed before deployment?
All unnecessary functionality, files, test code, or functionality not intended for production.
System Configuration
How should the application’s security configuration store be maintained?
It should be available in human-readable form to support auditing.
System Configuration
What should be done to separate environments?
Isolate development environments from production and restrict access to authorized development and test groups.
System Configuration
What system should be implemented for managing code changes?
A software change control system to manage and record changes in both development and production.
Cryptographic Practices
What type of cryptographic modules should be used?
Peer-reviewed and open solution cryptographic modules.
Cryptographic Practices
Where should cryptographic functions protecting secrets be implemented?
On a trusted system.
Cryptographic Practices
How should cryptographic modules handle failures?
They must fail securely.
Cryptographic Practices
What is required for generating random elements?
Use a cryptographic module with an approved random number generator.
Cryptographic Practices
What compliance standard should cryptographic modules meet?
FIPS 140-2 or an equivalent standard.
Cryptographic Practices
How should cryptographic keys be managed?
Establish a policy and process for key management, and ensure secret keys are protected.
Cryptographic Practices
Where should cryptographic keys be stored?
In a proper secrets vault.
Cryptographic Practices
What feature should applications include regarding cryptographic keys?
Support for key rotation and changing algorithms or keys when needed.
File Management
Should user-supplied data be passed to a dynamic include function?
No, avoid passing user-supplied data directly to such functions.
File Management
What is required before allowing a file to be uploaded?
Authentication.
File Management
How should file upload types be limited?
Only allow file types needed for business purposes.
File Management
How should uploaded files be validated?
Check file headers, not just file extensions.
File Management
Where should files not be saved?
In the same web context as the application.
File Management
How can you prevent executable file uploads?
Turn off execution privileges in file upload directories.
File Management
How should file referencing be managed?
Use an allow-list for file names and types.
File Management
What must not be sent to the client regarding files?
Absolute file paths.
File Management
How should user-uploaded files be checked for safety?
Scan files for viruses and malware.
Security Frameworks and Libraries
What should be ensured for servers, frameworks, and system components?
They should run the latest approved versions and patches.