ezBookkeeping 0.7.0 - Login Bruteforce

Information

Software Type Web App
Software Name ezBookkeeping
Affected Version 0.7.0
Software Vendor Mayswind
Software Link https://github.com/mayswind/ezbookkeeping
Severity High
CVSS Score 8.5
CVE Link https://www.cve.org/CVERecord?id=CVE-2024-57603
Affected Assets 100+
Date of Discovery Dec 27, 2024
PoC Exploit https://gist.github.com/0xHamy/edbf260d4ab6bb9628148bb376619292

Description

The login endpoint at /api/authorize.json is vulnerable to brute-forcing on both username and password.
There is no rate limit protection or captcha and the application remains vulnerable to attack by default.

 

Reproduce

Open the login page:
http://10.0.0.94/desktop#/login

Enter a username and password, intercept the request with a proxy such as BurpSuite and you will see the following HTTP request being sent:

POST /api/authorize.json HTTP/1.1 
Host: 10.0.0.94
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:129.0) Gecko/20100101 Firefox/129.0 
Accept: application/json, text/plain, */* 
Accept-Language: en 
Accept-Encoding: gzip, deflate, br 
Content-Type: application/json 
X-Timezone-Offset: -300 
Content-Length: 44 
Origin: http://10.0.0.94/ 
Connection: keep-alive 
Referer: http://10.0.0.94/desktop 
Priority: u=0 

{"loginName":"man1","password":"1234567890"} 


If you send a request with a wrong password, you get the following response:
{"errorCode":201002,"errorMessage":"login name or password is wrong","path":"/api/authorize.json","success":false}

This error code can be used as a condition to create a script and figure out which passwords are incorrect and which one is correct.

 

Proof of Concept (PoC) Video


Posted on: January 01, 2025 10:03 AM