SonicWall Secure Mobile Access REC漏洞分析

一、漏洞环境

二、漏洞入口

一个不需要认证的系统更新界面,至少是可以文件上传:
请添加图片描述
看一下官方的更新补丁包长啥样:
请添加图片描述
好嘛,直接是可以执行脚本了。

三、漏洞分析

可以看出upgradeServlet类控制了更新的执行。
在这里插入图片描述
执行start脚本的时候加上-d参数可以打开jvm的debug模式。
请添加图片描述
向/upgradeDone.do发送post包,调试时在这个地方抛出空指针,调试发现是由于这个“request.user”变量为空。
请添加图片描述
请添加图片描述
追溯request.user的来源,发现可以通过Header里的“Authorization”字段获得,格式为“Authorization: Basic [username:password].base64”,我们完全可以自己构造一个Authorization来让程序获取到username。请添加图片描述
调试跟进发现程序在对补丁包进行验证,然后执行补丁包内容。请添加图片描述
先跟进验证部分,先是按行读取补丁包,检查补丁包是否存在脚本结束标记“### END OF SCRIPT”。请添加图片描述
然后对文件进行hash校验,比较补丁包的hash值与补丁包结束标记“### END OF SCRIPT”后的值进行比对。请添加图片描述
通过调试,可以看到hash校验使用了“HmacSHA256”和“HmacSHA1”两种算法分别对补丁包的脚本部分和整个补丁包进行hash计算,并用计算结果与补丁包中结束标记后的值进行比较,只要有一个值与之相同则校验通过。
请添加图片描述
请添加图片描述
请添加图片描述

四、漏洞复现

复写hsash算法,写好补丁包脚本,然后在脚本后添加hash校验值。
请添加图片描述
向/upgradeDone.do发送post请求
在这里插入图片描述

最终成功REC!

五、总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值