2019-03-27 16:21:50 +08:00
|
|
|
#coding=utf-8
|
|
|
|
|
import sys
|
2019-03-28 23:56:13 +08:00
|
|
|
import requests
|
|
|
|
|
import os
|
|
|
|
|
import json
|
|
|
|
|
import traceback
|
2019-03-27 16:21:50 +08:00
|
|
|
sys.path.append("plugins")
|
2019-03-28 23:56:13 +08:00
|
|
|
import plugins
|
|
|
|
|
current_file=os.path.dirname(os.path.abspath(__file__))
|
|
|
|
|
from user_agent import get_user_agent
|
2019-03-27 16:21:50 +08:00
|
|
|
class plugins(object):
|
|
|
|
|
def __init__(self,url,options):
|
|
|
|
|
self.url=url
|
|
|
|
|
self.options=options
|
|
|
|
|
def run(self):
|
2019-03-28 23:56:13 +08:00
|
|
|
files=os.listdir(current_file)
|
|
|
|
|
for file in files:
|
|
|
|
|
if "_plugin.py" in file:
|
|
|
|
|
module=file.rstrip(".py")
|
|
|
|
|
pocs=__import__(module).pocs
|
|
|
|
|
self.check(pocs)
|
|
|
|
|
def check(self,pocs):
|
|
|
|
|
for poc in pocs:
|
|
|
|
|
for url in poc["url"]:
|
|
|
|
|
try:
|
|
|
|
|
success_num = 0
|
|
|
|
|
url = self.url + url
|
|
|
|
|
if poc["requests_option"] == "GET":
|
|
|
|
|
if not poc["params"]:
|
|
|
|
|
poc["params"].append("seize")
|
|
|
|
|
for params in poc["params"]:
|
|
|
|
|
success_num=0
|
|
|
|
|
try:
|
|
|
|
|
headers = {'User-Agent': get_user_agent()}
|
|
|
|
|
s = requests.get(url=url, params=params, headers=headers)
|
|
|
|
|
for flag in poc["flag"]:
|
|
|
|
|
if flag in s.text:
|
|
|
|
|
success_num = success_num + 1
|
|
|
|
|
if success_num > 0:
|
|
|
|
|
print(poc["success"]+" , url: "+url)
|
|
|
|
|
except Exception:
|
|
|
|
|
print(traceback.print_exc())
|
|
|
|
|
if poc["requests_option"] == "POST":
|
|
|
|
|
if not poc["data"]:
|
|
|
|
|
poc["data"].append("seize")
|
|
|
|
|
for data in poc["data"]:
|
|
|
|
|
try:
|
|
|
|
|
if poc["admin_bursk"] == "True":
|
|
|
|
|
for username in poc["username"]:
|
|
|
|
|
for password in poc["password"]:
|
|
|
|
|
success_num=0
|
|
|
|
|
headers = {'User-Agent': get_user_agent()}
|
|
|
|
|
s = requests.post(url=url, data=data, headers=headers)
|
|
|
|
|
for flag in poc["flag"]:
|
|
|
|
|
if flag in s.text:
|
|
|
|
|
success_num = success_num + 1
|
|
|
|
|
if success_num > 0:
|
|
|
|
|
print("success url:"+utl+" "+poc["success"] + ",username:%s password:%s" % (username, password))
|
|
|
|
|
except Exception:
|
|
|
|
|
print(traceback.print_exc())
|
|
|
|
|
else:
|
|
|
|
|
try:
|
|
|
|
|
for data in poc["data"]:
|
|
|
|
|
success_num=0
|
|
|
|
|
headers = {'User-Agent': get_user_agent()}
|
|
|
|
|
s = requests.post(url=url, data=data, headers=headers)
|
|
|
|
|
for flag in poc["flag"]:
|
|
|
|
|
if flag in s.text:
|
|
|
|
|
success_num = success_num + 1
|
|
|
|
|
if success_num > 0:
|
|
|
|
|
print("success url:" + utl + " " + poc["success"])
|
|
|
|
|
except Exception:
|
|
|
|
|
print(traceback.print_exc())
|
|
|
|
|
except Exception:
|
|
|
|
|
print(traceback.print_exc())
|
|
|
|
|
print(poc["end"])
|