[+] :: Title: FluxKart Multivendor Products Marketplace v2.0 WebShell Upload & Stored XSS Injection
[+] :: Author: QUIXSS
[+] :: Date: 2019-04-19
[+] :: Software: FluxKart Multivendor Products Marketplace v2.0
[+] :: Technical Details & Description:
# Weak security measures like bad input fields data filtering and no restriction for .PHP5/.PHP7 file upload has been discovered in the «FluxKart Multivendor Products Marketplace». Current version of this web-application is 2.0.
[+] :: Demo Website:
# https://codecanyon.net/item/fluxkart-multivendor-products-marketplace/23249580
# Frontend: http://fluxkart.com
# Backend: http://fluxkart.com/login
# Login: admin, Password: admin
[+] :: Special Note:
# Author of this web-application was warned twice about bad security measures. Nothing has changed.
[+] :: PoC Upload:
# http://fluxkart.com/local/images/media/15556222204009.php
# http://fluxkart.com/local/app/Http/Controllers/SystemController.php?cmd=ls%20-la
[+] :: PoC #1 [WebShell Upload]:
# Authorize on the demo website for tests: http://fluxkart.com/login (login & password is admin). Then go to the settings page: http://fluxkart.com/admin/settings
# There is 5 vulnerable file upload fields total on «General Settings» page: «Logo», «Upload Android App Image», «Upload iOS App Image», «Upload Payment Image» and «Animated Gif Image». You can upload any .PHP file u want, just change file type from .PHP to .PHP7 (cuz PHP v7.X is enabled on this server). Next step is to submit this form, but by default author disabled it by using special class and attribute «disabled». It's easy to bypass: «inspect» this button in the Developers Console, edit code as HTML and delete class «btndisable», then change type attribute from «button» to «submit». At the end of this trick you must see this code: <button type="submit" class="btn btn-success">Submit</button>. That's it! Submit the form and your uploaded .PHP7 file will be here: http://fluxkart.com/local/images/media/XXXXX.php7 (or u can «inspect» broken image to get the link).
[+] :: PoC #2 [Stored XSS Injection]:
# Authorize on the demo website for tests: http://fluxkart.com/login (login & password is admin). Then go to the settings page: http://fluxkart.com/admin/settings
# Almost each input field is vulnerable for Stored XSS Injections.