MoneyTrackin Cross Site Scripting

2016-07-11T00:00:00
ID PACKETSTORM:137849
Type packetstorm
Reporter Omkar Joshi
Modified 2016-07-11T00:00:00

Description

                                        
                                            `# Exploit Title: MoneyTrackin Web Application - Multiple Cross-Site Scripting (Stored + Reflected XSS)  
# Date: 07/04/16  
# Exploit Author: Omkar Joshi  
# Vendor Homepage: https://www.moneytrackin.com  
# Version: Latest  
# Contacted Vendor Date: 07/04/16  
  
  
  
*# Affected URL:- Stored XSS ->*  
https://www.moneytrackin.com/dashboard/dashboard/  
https://www.moneytrackin.com/accounting/edit_periodic_transaction/?project=NULL  
https://www.moneytrackin.com/accounting/edit_multiple_transactions/?editSelected=1&id[]=  
  
*Reflected XSS ->*  
https://www.moneytrackin.com/community/averages/  
https://www.moneytrackin.com/dashboard/reports_charts/compare_tags/?project=NULL  
  
*# Attack Scenario: Stored Cross Site Scripting*  
  
*A) https://www.moneytrackin.com/dashboard/dashboard/  
<https://www.moneytrackin.com/dashboard/dashboard/>*  
Step 1. Login into MoneyTrackin Web Application  
Step 2: Edit Notes.  
Step 3: Insert XSS payload in Text Area of Notes.  
I have used "><img src=x onerror=prompt(document.cookie);> XSS payload  
Step 4: Then click on Save Changes  
Step 5: Whenever anyone try to visit Dashboard of MoneyTrackin, XSS Script  
will get execute.  
  
*B)  
https://www.moneytrackin.com/accounting/edit_periodic_transaction/?project=NULL  
<https://www.moneytrackin.com/accounting/edit_periodic_transaction/?project=NULL>*  
Step 1. Login into MoneyTrackin Web Application  
Step 2: Go to Accounting -> Periodic Transcations -> Add new Periodic  
Transactions.  
Step 3: Insert XSS payload in "Description" and "Tags" fields of  
Transcation Data and Tags.  
I have used "><img src=x onerror=prompt("XSS");> XSS payload  
Step 4: Then click on Add  
Step 5: Whenever anyone try to visit Periodic Transactions page of  
MoneyTrackin, XSS Script will get execute.  
  
*C)  
https://www.moneytrackin.com/accounting/edit_multiple_transactions/?editSelected=1&id[]=  
<https://www.moneytrackin.com/accounting/edit_multiple_transactions/?editSelected=1&id[]=>*  
Step 1. Login into MoneyTrackin Web Application  
Step 2: Go to Accounting -> Transfer  
Step 3 : Click on Transfer and Edit it  
Step 4: Insert XSS payload in Description.  
I have used "><img src=x onerror=prompt(document.cookie);> XSS payload  
Step 4: Then click on Edit  
Step 5: Whenever anyone try to visit/edit multiple transcations page of  
MoneyTrackin, XSS Script will get execute.  
  
*# Attack Scenario: Reflected Cross Site Scripting*  
  
*A) https://www.moneytrackin.com/community/averages/  
<https://www.moneytrackin.com/community/averages/>*  
Step 1. Login into MoneyTrackin Web Application  
Step 2: Go to Community -> Community Averages.  
Step 3: Insert XSS payload in "Tag" parameter of Community Averages  
I have used "><img src=x onerror=prompt(document.cookie);> XSS payload  
Step 4: Then click on See Community Average, XSS Script will get execute.  
  
*B)  
https://www.moneytrackin.com/dashboard/reports_charts/compare_tags/?project=NULL  
<https://www.moneytrackin.com/dashboard/reports_charts/compare_tags/?project=NULL>*  
Step 1. Login into MoneyTrackin Web Application  
Step 2: Go to Dashboard -> Reports & Charts -> Comapre Tags  
Step 3: Insert XSS payload in "Tags" parameter of Tags  
I have used "><img src=x onerror=prompt(document.cookie);> XSS payload  
Step 4: Then click on Compare Tags, XSS Script will get execute.  
  
*# Impact of attack: *An attack can perform Cross Site Scripting attack and  
steal the cookie of other active sessions. An attacker would exploit a  
vulnerability within a website or web application that the victim would  
visit, essentially using the vulnerable website as a vehicle to deliver a  
malicious script to the victim’s browser. An attacker might be able to put  
stored XSS into the website.  
https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)  
  
*# Recommendation:*  
Use an appropriate combination of white listing and blacklisting to ensure  
only valid and expected input is processed by the system.Furthermore,  
classes within the output tag libraries should also be modified to encode  
potentially dangerous characters with their HTML escape Counter parts.  
For more information refer the following link  
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet  
`