mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-08-20 22:52:32 +02:00
122 lines
4.1 KiB
Python
122 lines
4.1 KiB
Python
import os
|
|
import sys
|
|
import requests
|
|
import urllib3
|
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
|
|
|
|
from lib.core import utils
|
|
|
|
osmedeus_headers = {"User-Agent": "Osmedeus/v2.0", "Accept": "*/*",
|
|
"Content-type": "application/json", "Connection": "close"}
|
|
|
|
# send request through Burp proxy for debug purpose
|
|
PROXY = {
|
|
'http': 'http://127.0.0.1:8081',
|
|
'https': 'http://127.0.0.1:8081'
|
|
}
|
|
|
|
|
|
# just for sending cmd purpose
|
|
def post_without_response(url, body, headers=osmedeus_headers):
|
|
try:
|
|
r = requests.post(url, verify=False, headers=headers,
|
|
json=body, timeout=2)
|
|
return r
|
|
except:
|
|
return False
|
|
|
|
|
|
def send_get(url, data, headers=osmedeus_headers,
|
|
cookies=None, is_json=False, proxy=None, retries=3):
|
|
|
|
for times in range(retries):
|
|
try:
|
|
r = just_send_get(url, data, headers=headers,
|
|
cookies=cookies, is_json=is_json, proxy=proxy)
|
|
return r
|
|
except Exception:
|
|
# retry if something went wrong
|
|
utils.random_sleep(3, 6)
|
|
# return nothing after few times retry
|
|
if times == int(retries - 1):
|
|
return None
|
|
|
|
|
|
def send_post(url, data, headers=osmedeus_headers,
|
|
cookies=None, is_json=False, proxy=None, retries=3):
|
|
|
|
for times in range(retries):
|
|
try:
|
|
r = just_send_post(url, data, headers=headers,
|
|
cookies=cookies, is_json=is_json, proxy=proxy)
|
|
return r
|
|
except Exception:
|
|
# retry if something went wrong
|
|
utils.random_sleep(3, 6)
|
|
# return nothing after few times retry
|
|
if times == int(retries - 1):
|
|
return None
|
|
|
|
|
|
# really send GET request
|
|
def just_send_get(url, data=None, headers=osmedeus_headers,
|
|
cookies=None, is_json=False, proxy=None):
|
|
if proxy:
|
|
if is_json:
|
|
r = requests.get(url, verify=False,
|
|
headers=headers, cookies=cookies,
|
|
json=data, proxies=proxy)
|
|
elif data:
|
|
r = requests.get(url, verify=False,
|
|
headers=headers, cookies=cookies,
|
|
data=data, proxies=proxy)
|
|
pass
|
|
else:
|
|
r = requests.get(url, verify=False, headers=headers,
|
|
cookies=cookies, proxies=proxy)
|
|
else:
|
|
if is_json:
|
|
r = requests.get(url, verify=False,
|
|
headers=headers, cookies=cookies, json=data)
|
|
elif data:
|
|
r = requests.get(url, verify=False,
|
|
headers=headers, cookies=cookies,
|
|
data=data, proxies=proxy)
|
|
else:
|
|
r = requests.get(url, verify=False,
|
|
headers=headers, cookies=cookies)
|
|
|
|
return r
|
|
|
|
|
|
# really send POST request
|
|
def just_send_post(url, data, headers=osmedeus_headers,
|
|
cookies=None, is_json=False, proxy=None):
|
|
if proxy:
|
|
if is_json:
|
|
r = requests.post(url, verify=False,
|
|
headers=headers, cookies=cookies,
|
|
json=data, proxies=proxy)
|
|
elif data:
|
|
r = requests.post(url, verify=False,
|
|
headers=headers, cookies=cookies,
|
|
data=data, proxies=proxy)
|
|
else:
|
|
r = requests.post(url, verify=False,
|
|
headers=headers, cookies=cookies, proxies=proxy)
|
|
else:
|
|
if is_json:
|
|
r = requests.post(url, verify=False,
|
|
headers=headers, cookies=cookies,
|
|
json=data)
|
|
elif data:
|
|
r = requests.post(url, verify=False,
|
|
headers=headers, cookies=cookies,
|
|
data=data)
|
|
else:
|
|
r = requests.post(url, verify=False,
|
|
headers=headers, cookies=cookies)
|
|
|
|
return r
|