Sample Vapte Report
Sample Vapte Report
We provide 360-degree cyber security solutions. We help you identify vulnerabilities and protect
your data. Our services include Vulnerability Assessment & Penetration Testing (VAPT) and Attack
Surface Management. VAPT is designed to test the overall security of web applications, mobile
applications, network and cloud by performing an in-depth security analysis. We provide you with
detailed reports and actionable insights to help secure your network and data.
The purpose of these Web Security Assessments was to identify exploitable vulnerabilities and
insufficiently configured security controls to determine the likelihood that users with considerable,
little, or no prior knowledge of the applications (e.g., informed, and uninformed insiders and
outsiders) could exploit weaknesses in their applications as those cataloged in the OWASP Top 10,
OWASP ASVS, SANS, NIST, OWASP testing guide and Penetration Testing Execution Standard.
The assessment also included a review of security controls and requirements listed in the OWASP
Application Security Verification Standard (ASVS). This review does not, nor is it intended to, identify
all the potential vulnerabilities in all applications.
The team leveraged tools to facilitate their work, however, the majority of the assessment involved
manual analysis. The details of the tools used in the assessment are given in this report.
The results summarized in this document are based upon a collection of methodologies and tests
interacting at a single point in time with technology that is continually changing and becoming ever
more complex. Any projection to the future of the findings contained in this document is subject to
the risk that they may no longer portray the system or environment in existence at that time
because of change.
1.2 Background
This exercise aimed to perform Penetration Testing of the Applications in scope to determine if they
were vulnerable to attacks and exploitation. The test consisted of manual testing to detect and
exploit vulnerabilities.
The assessment was conducted to identify the security vulnerabilities in the Application in scope
and propose solutions for the project team to remediate the identified vulnerabilities to make the
Application more secure.
The Security Assessment was performed by Invia Pty. Ltd. between 4th June 2024 to 9th June 2024.
1.3 Objectives
The objective of the tests performed was to:
1
This assessment report contains:
• Information Gathering
• Configuration Management
• Business Logic
• Authentication
• Authorization
• Session Management
• Data Validation, Governance, and Transfer.
URLs
• DEMO URL
Accounts
User Role
[email protected] Self-Register
Environment Details
• Social Engineering
• Denial of Service
• Vulnerability Fixes
• Intrusive Tests and Exploitation
2
As this is a production system, we did not perform the following tests as it could potentially
impact customers.
• Burp Suite
• Nmap
• Mozilla Firefox Plugins
• Kali Linux
3
1.7 Summary of Findings
The Web Vulnerability Assessment and Penetration Testing (VAPT) conducted for the target
organization yielded important findings and insights. This summary provides an overview of the key
results obtained during the assessment.
It was observed that the application was exposed to a total of 10 security vulnerabilities during the
given assessment tenure with 1 as Critical, 1 as High 2 as Medium, & 6 as Low Severity
vulnerabilities.
Risk
S. No. Name Severity Status
Score
1. CSRF Leads to account takeover Critical 9.1 Unresolved
7
6
6
3
2
2
1 1
1
0
0
Critical High Medium Low Informational
4
Vulnerability Details
In this section we will give details of the observed vulnerabilities in the website.
Cross-Site Request Forgery (CSRF) is a security vulnerability that arises when an attacker tricks a
user's web browser into making unintended and potentially harmful requests on a targeted website
where the user is authenticated. This occurs by exploiting the trust that a website places in the
user's browser, allowing the attacker to perform actions on behalf of the user without their consent.
It has been observed that an attacker can craft a forged page to take over the account of a
legitimate user by sending the forged page/ link.
Steps to Reproduce
2. Enter your registered email address to get the forgotten password link
3. Open the link given in the mail that you have received and click on the ‘click here.’ to open
the change password page
5
4. Enter new password and confirm password
5. Click continue and intercept the request in Burp Suite, Right click on the request, and click
on Generate CSRF PoC.
6
6. Click on copy HTML
7
8. Open the created HTML file in the browser and click on Submit button
9. Here we can see the password change page, the password change functionality was not
working, if the change password functionality works properly, the password can be
changed.
Resolution of Vulnerability
Several measures can be implemented to mitigate the risk of CSRF attacks and enhance web
application security:
1. Anti-CSRF Tokens:
• Include unique, unpredictable tokens in each form or request.
8
• These tokens are generated on the server side and embedded in web pages or included
in requests.
• The server verifies the token's authenticity before processing the request, ensuring it
originated from a legitimate source.
2. Same Site Cookie Attribute:
• Set the Same Site attribute for cookies to control when cookies are sent with cross-site
requests.
• This attribute helps prevent the browser from sending cookies in requests initiated by
third-party websites.
3. Origin Header Checking:
• Validate the origin header to ensure that requests are coming from the expected source.
• This helps verify that requests originate from the same domain and are not forged by
malicious actors.
4. Referrer Header Checking:
• Check the referrer header to confirm that the request originated from the same site.
• While this method may have limitations (due to referrer header omission in some
cases), it adds an extra layer of validation.
Cross-Site Request Forgery (CSRF) is a security vulnerability that arises when an attacker tricks a
user's web browser into making unintended and potentially harmful requests on a targeted website
where the user is authenticated. This occurs by exploiting the trust that a website places in the
user's browser, allowing the attacker to perform actions on behalf of the user without their consent.
It has been observed that an attacker can craft a forged page of the claim update page and send it
to a legitimate user to update the user’s claim data.
Steps to Reproduce
9
3. Fill in the blanks
4. Click on NEXT button and intercept the request in Burp suite, right click on the request,
Click on Generate CSRF POC.
10
5. Click on Options, select multipart form, and click outside
11
7. Paste the copied script into any notepad and save the with .html extension i.e. csrf.html
8. Open the csrf.html file in the browser and click on Submit request
9. You will see that all the fields are already filled with data
12
Resolution of Vulnerability
Several measures can be implemented to mitigate the risk of CSRF attacks and enhance web
application security:
1. Anti-CSRF Tokens:
• Include unique, unpredictable tokens in each form or request.
• These tokens are generated on the server side and embedded in web pages or included
in requests.
• The server verifies the token's authenticity before processing the request, ensuring it
originated from a legitimate source.
2. Same Site Cookie Attribute:
• Set the Same Site attribute for cookies to control when cookies are sent with cross-site
requests.
• This attribute helps prevent the browser from sending cookies in requests initiated by
third-party websites.
3. Origin Header Checking:
• Validate the origin header to ensure that requests are coming from the expected source.
• This helps verify that requests originate from the same domain and are not forged by
malicious actors.
4. Referrer Header Checking:
• Check the referrer header to confirm that the request originated from the same site.
• While this method may have limitations (due to referrer header omission in some
cases), it adds an extra layer of validation.
13
2.3 Weak Password Policy (password in plain text)
Parameter Description
Severity Medium
Impact Medium
Risk Score 6.5
Affected URL https://demoURL
Threat 1. Eavesdropping: Attackers can intercept and eavesdrop
on the communication channel, capturing plaintext
passwords during the login process.
2. Credential Theft: Intercepted plaintext passwords can be
used for unauthorized access to user accounts.
In a scenario where passwords are transmitted in plaintext, user credentials are sent over the
network without encryption or hashing. This means that if an attacker intercepts the
communication between the user and the server, they can easily capture and read the plaintext
passwords.
Steps to Reproduce
2. Enter your username and password and intercept the request in Burp Suite
Resolution of Vulnerability
14
1. Implement Transport Layer Security (TLS/SSL):
• Enforce the use of HTTPS to encrypt the communication channel between the
client (user's browser) and the server.
• Ensure that TLS/SSL certificates are valid and up to date.
2. HSTS (HTTP Strict Transport Security):
• Implement HSTS to instruct browsers to always use a secure, encrypted
connection (HTTPS) when communicating with your website.
3. Secure Communication Channels:
• Avoid using unencrypted protocols (e.g., HTTP) for transmitting sensitive
information, especially passwords.
4. Use Secure Authentication Protocols:
• If applicable, use secure authentication protocols, such as OAuth or OpenID
Connect, that facilitate secure transmission of authentication tokens.
5. Password Hashing and Storage:
• While not directly related to transmission, ensure that passwords are securely
hashed and stored on the server to protect them in case of a data breach.
Rate limiting involves controlling the rate or frequency of incoming requests to a specific endpoint,
such as a login page. Without rate limiting in place, an attacker could launch automated attacks by
making a large number of login attempts in a short period, potentially compromising user accounts
through password guessing.
It has been observed that the rate limit is not implemented on the login page.
Steps to Reproduce
15
3. Click on CONTINUE and intercept the request in Burp Suite, right click on the request and
click on Send to Intruder to send the request into intruder tool
4. Go to Intruder tab, set payloads & dictionary, and click Start attack
16
5. Here we can find the true account with unique length and status code
Resolution of Vulnerability
Implement rate limiting on the login page to mitigate the risks associated with brute force attacks.
Here's how you can approach it:
1. Define Thresholds.
2. Implement Rate-Limiting Mechanism.
17
3. Incremental Backoff.
4. Temporary Lockouts.
5. Notify Users.
A misconfigured or improperly implemented token can indicate issues with how authentication or
authorization is handled in a system. Tokens, commonly used in authentication processes (such as
JSON Web Tokens or OAuth tokens), are meant to securely convey information about the user or
client's identity and permissions.
Steps to Reproduce
18
4. Remove the OWASP_CSRFTOKEN token and send the request
5. We can see the next page and we can submit this form by removing the OWASP
CSRFTOKEN from every request
19
Resolution of Vulnerability
1. Review Token Generation Code: Examine the code responsible for token generation.
Ensure that it follows security best practices and generates tokens with accurate and
necessary information.
2. Secure Token Storage and Transmission: Implement secure practices for storing and
transmitting tokens. This includes encrypting tokens, using secure channels (HTTPS),
and avoiding client-side storage of sensitive tokens.
3. Token Validation: Implement robust token validation mechanisms on the server-side to
ensure that incoming tokens are properly formatted, signed, and contain valid
information.
4. Token Expiry and Revocation: Set appropriate expiration times for tokens and consider
implementing token revocation mechanisms to invalidate tokens when needed.
5. Use Established Standards: If implementing authentication and authorization,
consider using established standards such as OAuth 2.0 or OpenID Connect. This helps
ensure interoperability and adherence to best practices
20
compromised, affecting the functionality and user
experience of your application.
It has been observed that the application uses multiple outdated components i.e. jQuery &
bootstrap.
Steps to Reproduce
Resolution of Vulnerability
1. Regular Framework Updates: Keep frameworks up to date by applying the latest patches,
updates, and security releases. Regularly check for new framework versions and migrate to
the latest stable release.
2. Patch Management: Implement a robust patch management process to promptly apply
security patches and updates as soon as they are released. This helps address known
vulnerabilities and secure the applications.
2.7 Clickjacking
Parameter Description
Severity Low
Impact Low
Risk Score 4.0
Affected URL https://demoURL
Threat 1. Unauthorized Actions: Clickjacking can lead users to
unknowingly perform actions they didn't intend to, such as
21
liking a post, following someone, or making a purchase.
2. Phishing Attacks: Attackers can use clickjacking to
create convincing phishing scenarios, where users might
think they are interacting with a legitimate website or
application.
3. Malicious Downloads: Clickjacking can be employed to
trick users into unknowingly initiating the download of
malware or malicious files.
4. Credential Theft: In some cases, clickjacking may be
combined with other attacks to trick users into entering
sensitive information, leading to credential theft.
It has been observed that the X-Frame-Options header is missing in the application.
Steps to Reproduce
1. Create an IFrame HTML Page containing the target URL and save it as a .html file
22
Resolution of Vulnerability
When a server inadvertently discloses information about its configuration, software versions, or
other sensitive details in its responses, it can be a security concern. This disclosure can occur
23
through banners, headers, or error messages returned by the server. Attackers often leverage such
information to identify potential vulnerabilities and weaknesses in the server's setup.
It has been observed that the application discloses Server Information through the request’s
response.
Steps to Reproduce
1. Server Disclosed
Resolution of Vulnerability
1. Remove or Customize Banners and Headers: Consider configuring the server to either
remove or customize banners, headers, and error messages to minimize the amount of
information disclosed. This can be achieved through server settings or configurations.
The absence of the HTTP Strict Transport Security (HSTS) header means that the web server is not
instructing the browser to enforce a secure, encrypted connection (HTTPS) when communicating
24
with the website. Without HSTS, there is a potential for attackers to intercept the initial insecure
connection and perform attacks like SSL/TLS protocol downgrades or session hijacking.
It has been observed that the HSTS header is not present in the application.
Steps to Reproduce
Resolution of Vulnerability
1. To mitigate this security risk, website administrators should configure their web servers to
include the HTTP Strict Transport Security (HSTS) header in their responses. This header
informs the browser to only connect to the website over HTTPS and to block any attempts to
establish an insecure connection. An example of an HSTS header is as follows:
“Strict-Transport-Security: max-age=31536000; include Subdomains; preload”
25
incidents.
When Content Security Policy (CSP) is not implemented, the web application lacks a mechanism to
control and restrict the sources from which it can load resources, such as scripts, stylesheets, or
images. This absence of CSP opens the site to vulnerabilities, as it becomes more susceptible to
malicious scripts or content injected by attackers.
It has been observed that the CSP header is not present in the application.
Steps to Reproduce
Resolution of Vulnerability
1. To address the absence of CSP and enhance the security posture of a web application,
developers should implement and configure a Content Security Policy. This involves
defining and specifying the allowed sources for various types of content, such as scripts,
styles, and images.
Testing Methodology
The testing methodology followed during the Web Vulnerability Assessment and Penetration Testing
(VAPT) adheres to industry best practices and consists of several key phases. This section provides
an overview of the testing methodology employed during the assessment, applicable to various
organizations and scenarios.
26
Scoping:
• The scoping phase involves defining the scope and objectives of the assessment in
collaboration with the client.
• This includes identifying the target web applications, systems, and infrastructure to be
tested, as well as specifying any limitations or exclusions.
Reconnaissance:
• The reconnaissance phase focuses on gathering information about the target organization,
its systems, and potential vulnerabilities.
• It includes passive and active reconnaissance techniques to identify publicly available
information, network infrastructure, and potential entry points.
Vulnerability Assessment:
• The vulnerability assessment phase involves scanning and assessing the target web
applications for known vulnerabilities.
• Automated vulnerability scanning tools are utilized to identify common security
weaknesses, such as injection flaws, cross-site scripting (XSS), and misconfigurations.
Manual Testing:
27
• Manual testing is conducted to complement the automated vulnerability assessment and
identify vulnerabilities that may not be detected by scanning tools.
• This phase involves a thorough analysis of the target web applications, including input
validation, authentication mechanisms, access controls, and session management.
Exploitation:
Reporting:
• The reporting phase involves documenting the findings, including identified vulnerabilities,
their severity, and recommendations for remediation.
• The report provides a clear and concise overview of the assessment results, supporting
evidence, and actionable steps for improving the security posture.
Common Vulnerabilities
During manual testing of web applications, various vulnerabilities are commonly tested to identify
potential security weaknesses. Here are some vulnerabilities that are typically assessed during web
application manual testing:
• Testing for SQL Injection vulnerabilities by attempting to inject malicious SQL queries.
• Cross-site scripting (XSS) testing by injecting script tags or other HTML/JavaScript payloads.
• Command Injection testing by injecting commands or special characters in user inputs.
28
Information Disclosure:
• Testing for sensitive information disclosure, such as error messages revealing system
details or stack traces.
• Directory traversal testing to identify if unauthorized file access is possible.
• Testing for potential file upload vulnerabilities, such as bypassing file type restrictions or
executing malicious files.
Security Misconfigurations:
• Testing for logical vulnerabilities that may allow unauthorized actions or circumvention of
intended processes.
• Testing for vulnerabilities that may allow the inclusion of external scripts or content from
untrusted sources.
API Testing:
• Testing the security of application programming interfaces (APIs) for vulnerabilities like
improper access controls or insecure API endpoints.
• Testing for proper error handling, ensuring that error messages do not disclose sensitive
information and inputs are properly validated.
Session Management:
These are just some examples of vulnerabilities typically tested during manual web application
testing. The specific vulnerabilities to test depend on the application's functionality, technology
stack, and potential attack surface.
Risk Assessment
During the Vulnerability Assessment and Penetration Testing (VAPT), the identified vulnerabilities
and findings are categorized into the following risk levels:
29
Critical:
Critical vulnerabilities pose an immediate and significant threat to the security of web
applications and systems. The exploitation of these vulnerabilities can lead to severe
consequences, including complete system compromise, unauthorized access to sensitive
data, and significant financial or reputational damage.
High-Risk:
Medium-Risk:
Low-Risk:
Low-risk vulnerabilities represent potential security gaps that may have a limited impact on
the overall security posture of web applications. The exploitation of these vulnerabilities is
less likely to result in significant harm or compromise.
Informational:
The Provider agrees to treat all information obtained during the engagement as confidential.
The Provider will not disclose any findings or sensitive information to unauthorized parties
without explicit written consent from the Client. The Client acknowledges that the Provider
may share anonymized and aggregated data for statistical or research purposes, provided
that it does not disclose sensitive information.
Legal Compliance:
The penetration testing activities will be conducted in compliance with applicable laws,
regulations, and ethical standards. The Client agrees to provide accurate and lawful
information, ensuring that the testing does not violate any legal or regulatory requirements.
Liability:
30
Both the Client and the Provider acknowledge that the nature of penetration testing carries
inherent risks. The Provider will exercise reasonable care and expertise during the
engagement. However, the Provider shall not be held liable for any damages, losses, or
claims arising from the penetration testing activities. The Client understands and accepts
the risks associated with the engagement.
Ownership of Findings:
The Client retains ownership of all proprietary information and data. The Provider
acknowledges that any vulnerabilities discovered during the engagement belong to the
Client. The Provider may request permission to include anonymized and sanitized findings
in future research or case studies, with the Client's approval.
Upon receiving the penetration testing report, the Client is responsible for promptly
addressing and remediating the identified vulnerabilities. The Provider may offer additional
support or consulting services to assist with the remediation process if agreed upon
separately.
31