美文网首页
D-Link 645分析

D-Link 645分析

作者: 萍水间人 | 来源:发表于2019-09-22 10:13 被阅读0次

D-Link 850L&645路由漏洞分析

D-Link850和D-Link645都存在远程敏感信息读取漏洞

查看了文章中对于漏洞的分析

文章分析了getcfg.php位于/htdocs/web目录下
至于为什么对这个文件那么感兴趣,查略了一下cgi的意思,通用网关接口
就是运行在服务端的一个程序,能将从用户那里接受的数据进行处理,相当于web服务中的apache

存在漏洞的原因:


dophp函数具体的定义我也没找到,但是从这里猜测出应该是加载$file的意思
$file是由$GETCFG_SVC变量拼接的,继续往上看会发现这个变量的来源就是$_POST['SERVICES']也就是将用户通过post传来的servies的值直接拼接过来,这样就会导致任意文件读取。

还有一个关键点就是要绕过is_power_user()函数的判断
is_power_user()函数如下:

原文中提到$_GLOBALS变量并不是php中的那个$_GLOBALS数组,而是在cgibin文件中定义,这个很疑惑,原文中也没有仔细说

接下来分析cgibin这个文件,由于是MIPS而不是x86,所以IDA无法直接反编译,有两种解决办法,一是安装一个retdec-idaplugin插件,但是没有安装成功,后来又去找了jeb这个工具去反编译,但是也不是所有的函数都能反编译

如下是main函数反编译的结果

原文说关键在于phpcgi_main这个函数

但是我没有办法反编译成功

这里直接参考原文中的代码

可以看到这个函数是针对不同的请求方式做出不同的响应,典型的cgi文件的工作方式

猜测sobj_add_string函数是拼接字符串
同时sobj_add_char是拼接一个字符
10就是'\n'对应的ascii码
于是据此构造出payload

curl -d "SERVICES=DEVICE.ACCOUNT&attack=ture%0aAUTHORIZED_GROUP=1" "http://VictimIp:8080/getcfg.php"

SERVICES的值为我们想要读取的文件,这里我们选择DEVICE.ACCOUNT.xml.php文件
同时我们要让AUTHORIZED_GROUP为1

这里不理解为什么要添加一个attack参数

DIR-645的漏洞成因是类似的,

在虚拟机中测试了一下DIR-645,结果如下:


相关文章

  • D-Link 645分析

    D-Link 850L&645路由漏洞分析 D-Link850和D-Link645都存在远程敏感信息读取漏洞 查看...

  • D-Link authentication.cgi 缓冲区溢出漏

    D-Link authentiction 缓冲区溢出漏洞 漏洞介绍 D-Link DIR-645中authenti...

  • SA645GrB!SA645GrB!SA645GrB美标容器板

    SA645GrB!SA645GrB!SA645GrB美标容器板 一、SA645GrB美标容器板的简介: (1)SA...

  • 2020-01-10

    SA645GrA现货_SA645GrB切割SA645GrA价格_SA645GrB5%和5.5%镍合金钢板 SA64...

  • D-Link推出全高清Wi-Fi相机 :16英尺夜视+实时报警

    在去年,知名网络设备制造商友讯(D-Link)就曾推出过多款高清智能摄像头产品。而近日,有消息称,D-Link又再...

  • 645

  • NO:645

    创意之道--约翰·贝文思 1、文案其实是个寻宝历程。 说文案是寻宝,并不是说在苦思冥想后寻到一个好点子,而是老生常...

  • 645

    弟弟今天结婚,伤感蛮多,从小一起玩到大,小时候感情特别好,大了以后,不知道该聊什么了。今年又是疫情,不能多聚集,就...

  • 舞钢SA645GrB钢板化学成分及力学性能分析

    一、简介 SA645/SA645M是美国机械工程师协会标准:SA645GrB钢系美国ASME标准压力容器用特殊热处...

  • 旅游

    今天我坐645公交车,从始发站到终点站,好长时间没做过645了。 以前经常坐645,从亚运村到牡丹园,一路风景...

网友评论

      本文标题:D-Link 645分析

      本文链接:https://www.haomeiwen.com/subject/qrobcctx.html