Testing WhatPulse Web Application Security

Testing WhatPulse Web Application Security

Background

I have been using WhatPulse for over 17 years. WhatPulse, first released in 2003, is a client capable of tracking computer usage data for personal analytics purposes. For example, it can generate a heatmap of the most frequently typed letters, most frequently clicked screen location, or how far your mouse cursor has traveled over time.

Discovery

Last month, I had to visit the website to update my WhatPulse client. When I scrolled past the Change Password section, I noticed there was no field to verify my old password. This fit the criteria for an Unverified Password Change (CWE-620). Identification and Authentication Failures are an incredibly common web application vulnerability as classified by the OWASP Top 10. A finding like this deserves additional investigation.

No alt text provided for this image

Side note on CWE: Common Weakness Enumeration (CWE) is a dictionary of weak development practices which introduce flaws, faults or bugs that may lead the way to more specific vulnerabilities. For example: concurrency issues, memory buffer errors, random number generation, and weak authentication processes.

From this perspective, the primary threat is local. Someone with shared physical access being able to change a logged-in user’s password. However, a weakness in password verification could be exploited by a remote user through cross-site requests.

Because I identified this weakness passively by observing my own account and did not have permission to conduct further testing, I reached out to the developer to responsibly disclose my observations. I requested permission to continue testing to see if I could identify additional vulnerabilities.?

With approval formally obtained, I proceeded to dig deeper. This post is a summary report of my findings. For a more in-depth technical report, check out the Technodivergent Blog.

Important reminder: the testing performed in this blog post was conducted responsibly with explicit permission from the WhatPulse developer. It is against cybersecurity professional ethics to test a system without authorization, so don’t do it unless you have permission and understand the scope you’re allowed to test.

Summary

Testing

While performing routine account management tasks, a security researcher observed an Unverified Password Change (CWE-620) weakness. After responsible disclosure of a potentially exploitable vulnerability, permission for additional testing & validation was obtained.

Further testing confirmed a Cross-Site Request Forgery (CSRF) vulnerability. CSRF is when a malicious site or email causes the target’s browser to perform an unauthorized request on behalf of said user (provided the user is already authenticated). Attackers can leverage this attack via email or social media phishing campaigns to fraudulently change account details, thereby obtaining access to the target account.

Mitigation Recommendations

The following recommendations were made to mitigate Cross-Site Request Forgery:

  • Force reauthentication, confirmation of old password, or require verification link to perform sensitive tasks
  • Ensure proper server-side validation of anti-CSRF tokens
  • Validate request is from whatpulse.org via origin/headers

Vulnerability Resolution

The developer chose to mitigate this vulnerability by sending a verification link to the email associated with the account, introducing an additional layer of security to prevent unauthorized changes from occurring.

Patsy A.

Information Security Governance, Risk & Compliance, specializing in FinTech; auDHD advocate

2 年

That's so cool you were able to help and that they were receptive to the help!

要查看或添加评论,请登录

Kassidy Hall的更多文章

  • Hacking the Juice Shop: Information Gathering

    Hacking the Juice Shop: Information Gathering

    The Juice Shop is an intentionally vulnerable web application developed by the Open Web Application Security Project…

  • Multi-threaded Port Scanner

    Multi-threaded Port Scanner

    One of the core functions performed during network reconnaissance is identifying open ports on a target host. There…

    1 条评论
  • RouterOS-Scanner for MikroTik Devices

    RouterOS-Scanner for MikroTik Devices

    During early March 2022, Microsoft released a security tool to scan for vulnerabilities associated with Mikrotik…

  • Introduction to REST API Concepts

    Introduction to REST API Concepts

    This article is a brief introduction to the REpresentational State Transfer (REST) architecture. It is intended for…

    1 条评论
  • Agile & Scrum for Newbies

    Agile & Scrum for Newbies

    Agile is a framework for methodologies that follow the Agile manifesto. One of the most common Agile methodologies in…

  • Overview of the NIST Cybersecurity Framework

    Overview of the NIST Cybersecurity Framework

    What is the NIST CSF? The Cybersecurity Framework (CSF) is a collection of standards, guidelines and best practices…

    2 条评论
  • Two-Step Verification vs. Two-Factor Authentication

    Two-Step Verification vs. Two-Factor Authentication

    In February 2022, Google announced they have seen a 50% decrease in account compromises since auto-enrolling users in…

    2 条评论

社区洞察

其他会员也浏览了