Vulnerable Web Application
Vulnerable Web Application
T Gopi
14-09-2024
Project Information Slide
Project Scenario
You will need to identify which OWASP Top 10 security issues the
vulnerabilities belong to and their severity. You will also correctly
match attack vectors to the OWASP Top 10 definition.
You will be given some static code analysis results and a web
application. You will conduct a manual web application test to find all
vulnerabilities and create write-up documentation to help the
development team patch the code. The write-up documentation
should clearly outline the steps needed to reproduce the security
issue and best practices to support the development team in better
understanding the issue.
At the end of this project, you will have the hands-on skills needed to
tackle application security. You should be proud of this
accomplishment.
Digital Project Management
Section One:
Static Code Scan
Project Information Slide
Severity: High
18 def createTempFile(data):
19 temp_path = "/tmp/tempfile.txt"
20 with open(temp_path, 'w') as temp_file:
21 temp_file.write(data)
22 return temp_path
Severity: Medium
Severity: High
Severity: High
Severity: High
To securely parse XML data and prevent XXE attacks, use the
defusedxml package, which provides XML parsing functions with
security features designed to handle untrusted input.
Issue: B603
Severity: High
Severity: High
Remediation recommendation
Only use mark_safe if you are absolutely certain that the content is
safe and does not contain any untrusted or user-supplied input.
Digital Project Management
Section Two:
Assess the Web Application
Project Information Slide
You are not allowed to use any automated scanner, as you can't
refer to them in your report.
Instructions
If you go to the Web Application Environment page, you will find
a pre-setup environment for you to analyze the web application.
Setting up your env is as simple as initiating the application and
then using the “Start App” button. To view the website, you will
need to click the “Open App” button.
Project Information Slide
Tips
1. Break into the application: Start with breaking into the
application using the brute force approach.
Tips
4. Customer Section: Once you possess the Admin access
to the Application, the next thing you would want to do is obtain
the details of all the customers.
5. Users:
Important
You might think that you don't need to log or track security items
that are "similar". But make sure that you track all of them so that
the developer/tester can fix/verify the issue properly.
Digital Project Management
Section Three:
Security Report
Project Information Slide
Security Report
Important Considerations
● Accuracy in Severity and OWASP Reference: Accurately
identify the severity and corresponding OWASP TOP 10
reference. Common mistakes include incorrectly assigning
severity levels and misidentifying the OWASP category.
Remember, not every issue is Critical or High; prioritize
accurately to help developers focus their efforts effectively.
● Contextual Vulnerability Description: Describe the
vulnerability as it specifically pertains to the web application
you are testing. Do not provide a generic description.
● Detailed Reproduction Steps: Ensure your steps to
reproduce the issue are comprehensive. Use a combination
of clear writing and annotated screenshots to guide the
reader through the process. Assume the reader may not have
advanced security or technical knowledge.
● You are only allowed to use the provided scripts. Using or
referring to automated scanners is not an acceptable
solution.
● The template slides are named, but they are not necessarily in
order!
● There are a total of 13 vulnerabilities on the server. For a
standout project, include more than the required 5
vulnerabilities in your report!
● There is an example slide that uses an imaginary SSRF
vulnerability but without the step-by-step walkthrough.
EXAMPLE FOR THE REPORT
The web application includes a URL preview feature that allows users to
input a URL to fetch and display a preview of the linked content. The
feature does not properly validate or sanitize user input, allowing an
attacker to craft requests to internal systems or third-party services. This
can result in the exposure of sensitive internal information, unauthorized
access to internal services, and potential exploitation of internal network
vulnerabilities.
Remediation recommendation
Vulnerability Explanation
Vulnerability Explanation
Remediation recommendation
Vulnerability Explanation
Remediation recommendation
Vulnerability Explanation
Remediation recommendation
Vulnerability Explanation
Remediation recommendation