路由器漏洞挖掘入门

周末在家闲着,也趁着这个时间来入门学习下路由器漏洞挖掘!网上查阅的D-Link系列的漏洞也不少,那就从D-Link路由器漏洞开始学习,顺便刚好也好跟着创宇paper学习,就当是学习笔记了!

一:准备工作

完成binwalk的安装后,”binwalk -Me 固件包名称”来解相对应的固件。

二:漏洞挖掘

D-Link DIR-300 信息泄露漏洞

shodan :DIR-300

我们先下载D-Link DIR-300的固件并且解固件

在解固件之后,进入 suashfs-root/www 文件夹,漏洞出现在/model/__show_info.php文件。

这里看到已经禁止了$REQUIRE_FILE的参数为var/etc/httpasswdvar/etc/hnapasswd。这样的话看起来我们是无法获取账号密码的。那如果我们从根路径开始配置httpasswd的路径,那么是不是就可以绕过这个过滤了呢!

payload:(创宇

1
localhost/model/__show_info.php?REQUIRE_FILE=/var/etc/httpasswd

这里设置REQUIRE_FILE=/var/etc/httpasswd 成功绕过上面的 if判断,进行任意文件读取。

D-Link DIR-645信息泄露漏洞

shodan:DIR-645

同样该漏洞出现在 suashfs-root/htdocs 文件夹getcfg.php 文件由于过滤不严格导致信息泄露漏洞

该代码中 $GETCFG_SVC 没有任何过滤直接获取了 POST 传递过来的SERVICES的值。如果$GETCFG_SVC不为空,则进行文件读取。这里我们就可以读取存储此设备信息的DEVICE.ACCOUNT.xml.php文件。

payload:

1
2
http://localhost/getcfg.php
post:SERVICES=DEVICE.ACCOUNT

说了这么久了,实战走一波吧!

进入D-Link DIR-645的web登录页面,则显示需要用户与密码则可登录,那么接下来我们来获取他们

利用payload打一波

果然,我们可以清楚地看到账号密码,继续登录验证,登录成功

三:参考

【1】.http://www.devttys0.com/wp-content/uploads/2010/12/dlink_php_vulnerability.pdf

【2】https://paper.seebug.org/429/