Lucene search
K

BSA Radar 1.6.7234.24750 Cross Site Request Forgery

🗓️ 09 Jul 2020 00:00:00Reported by William SummerhillType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 203 Views

Global RADAR BSA Radar 1.6.7234.X Cross-Site Request Forger

Related
Code
`# Exploit title: BSA Radar 1.6.7234.24750 - Cross-Site Request Forgery (Change Password)  
# Exploit Author: William Summerhill  
# Date: 2020-06-22  
# Vendor Homepage:bhttps://www.globalradar.com/  
# Version: BSA Radar - Version 1.6.7234.24750 and lower  
# CVE: CVE-2020-14944  
  
# Description: The Global RADAR BSA Radar 1.6.7234.X application lacks valid authorization   
# controls in multiple functions while logged into the application.   
# This can allow for manipulation and takeover of user accounts if successfully exploited.  
  
# The following vulnerable functions are exposed: ChangePassword, SaveUserProfile, GetUser  
  
Proof of Concept:  
  
1. ChangePassword API endpoint - Allows the ability to update the password belonging to another account by their UserID, and therefore leading to account takeover.  
HTTP Request PoC:  
POST /WS/AjaxWS.asmx/ChangePassword  
  
{"password":  
{"UserID":XXXX,"NewPassword":"NEWPASSHERE","NewPasswordConfirm":"NEWPASSHERE",<REMAINDER OF REQUEST HERE>} }  
  
The UserID and NewPassword parameters can be forged to force the password change of another existing user account by using their UserID.  
  
2. SaveUserProfile API endpoint - Allows the ability to update the user profile belonging to another account by using their UserID. This includes modifiable details like first name, last name, email, and phone number. This also allows for injection of a Stored Cross-Site Scripting (XSS) into arbitrary user account profiles as the first name and last name parameters are vulnerable. This can allow for session hijacking, stealing application data or redirecting users to attacker-controlled applications for phishing attacks.  
HTTP Request PoC:  
POST /WS/AjaxWS.asmx/SaveUserProfile  
  
{"user":  
{"UserID":XXXX,"BankID":XXX,"Firstname":<ARBITRARY INPUT HERE OR STORED XSS SCRIPT>","Lastname":"<ARBITRARY INPUT HERE OR STORED XSS SCRIPT>","Title":"","Phone":"<ARBITRARY INPUT HERE>","Email":"<Correct email here>",<REMAINDER OF REQUEST HERE>} }  
  
Multiple paramaters above can be forged and modified for existing UserID accounts. The Firstname and Lastname parameters are vulnerable to a stored XSS attack which can be used to inject malicious scripts into existing user accounts to steal sessions or account data, or to redirect users to malicious pages.   
  
3. GetUser API endpoint - Allows the ability to view the user account details of any arbitrary user by enumerating their UserID.  
HTTP Request PoC:  
POST /WS/AjaxWS.asmx/GetUser  
  
{"userID":XXXX }  
  
The UserID paramter can be forged to enumerate over existing userID's in order to return their account details such as full name, username, user permissions, account role, email, and password question.  
  
Tested on: Windows  
  
CVE: CVE-2020-14944  
  
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14944  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation