# 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/
*
Step 1. Login into MoneyTrackin Web Application
Step 2: Edit Notes.
Step 3: Insert XSS payload in Text Area of Notes.
I have used ">
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
*
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 ">
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[]=
*
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 ">
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/
*
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 ">
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
*
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 ">
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