Cross-site Scripting (XSS) - Stored in bigprof-software/online-invoicing-system

Valid
Reported on Jun 28th 2021

✍️ Description

/app/admin/pageEditGroup.php with group-name parameter of pageEditGroup.php is vulnerable to Stored XSS. Line 203 of pageEditGroup.php sends unvalidated data to a web browser, which can result in the browser executing malicious code. In this case the data is sent at builtin_echo() in pageEditGroup.php at line 203.

🕵️‍♂️ Proof of Concept

  1. Data enters a web application through an untrusted source in Line 19
$name = makeSafe($_POST['name']);
  1. The data is included in dynamic content that is sent to a web user without being validated in Line 203
<p class="form-control-static"><?php echo $name; ?></p>

Payload

  1. Add new group with name as ;?></p><script>alert(1)</script>
  2. Now view the groups and XSS will be poped up.

💥 Impact

The impact of an exploited XSS vulnerability on a web application varies a lot. It ranges from user's Session Hijacking, and if used in conjunction with a social engineering attack it can also lead to disclosure of sensitive data, CSRF attacks and other security vulnerabilities. By exploiting a cross-site scripting vulnerability an attacker can impersonate the victim and take over the account. If the victim has administrative rights it might even lead to code execution on the server, depending on the application and the privileges of the account. Read about the apache.org jira incident for more information on how a XSS vulnerability was used in a successful attack which also led to code execution.

We have contacted a member of the bigprof-software/online-invoicing-system team and are waiting to hear back a month ago
Akshay Jain
25 days ago

Researcher


Hi, Any updates?

BigProf Software validated this vulnerability 25 days ago
Akshay Jain has been awarded the disclosure bounty
$25
The fix bounty is now up for grabs
$6.25
BigProf Software confirmed that a fix has been merged on 2a29c6 25 days ago
BigProf Software has been awarded the fix bounty
$6.25