Non Sensitive Token
Non-Sensitive Token Exposed in Local or Session Storage
Overview of the Vulnerability
Local storage, also known as offline, web, or session storage, is the underlying storage mechanism which varies from one user agent to the next. This application discloses a non-sensitive token in the local storage which is accessible by JavaScript. As a result, the token can be captured by an attacker using Cross-Site Scripting (XSS) or Cross-Site Request Forgery (CSRF), allowing them to gather relevant user data and leverage this information to build phishing campaigns.
Business Impact
This vulnerability can lead to data theft through the attacker’s ability to access and manipulate sensitive data through their access to the application's local session. These malicious actions can result in reputational damage for the business through the impact to customers’ trust.
Steps to Reproduce
Enable a HTTP interception proxy, such as Burp Suite or OWASP ZAP
Use a browser to navigate to: {{URL}}
Using the HTTP interception proxy, forward the following request:
{{request}}Observe the exposed sensitive token
Proof of Concept (PoC)
The following screenshot shows the non-sensitive token exposed via the local storage:
{{screenshot}}
Recommendation(s)
The application should securely transmit sensitive data, such as session identifiers, and information related to users authentication or personal information. This can be achieved by transmitting the tokens via HTTP cookies, or via hidden field forms which are submitted by using the HTTP Post method.
It is recommended to encrypt sensitive data both when at rest and when in transit. All data that is processed, stored, and transmitted by the application should be classified by business need, regulatory and industry requirements, and appropriate privacy laws.
Additionally, it is best practice to not store sensitive data when it is no longer required, as data that is not retained cannot be accessed and used maliciously. All sensitive data should therefore be a part of a regularly reviewed maintenance cycle. This review cycle should include rotation of secrets.
For more information refer to Open Web Application Security Project (OWASP) guide relating to this vulnerability: https://owasp.org/www-project-proactive-controls/v3/en/c8-protect-data-everywhere
Last updated