Skip to content

Instantly share code, notes, and snippets.

@enonethreezed
Last active November 9, 2019 09:33
Show Gist options
  • Save enonethreezed/a0bc52e6498c146e1d11f5150ff66a18 to your computer and use it in GitHub Desktop.
Save enonethreezed/a0bc52e6498c146e1d11f5150ff66a18 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# CSV HEADER DATA FROM DRILLDOWN (REPORT FROM RESILIENT)
# _time,Company,dest,IP,Country,request,User Agent,Response Code,Response Description,http_referer
# Tested:
# Python 3.7.5
import sys
import csv
import os
import urllib3
import certifi
count = len(sys.argv)
parameters = 4
if count != parameters:
print("""\
This script will extract the REQUEST field of Resilient's Drilldown when the response code equals the second parameter.
Usage: drilldown2scan.py file_to_extract_requests_from http_response_code URL_to_analyze
""")
sys.exit(0)
file_to_read = sys.argv[1]
response_code = sys.argv[2]
if os.path.exists("requests.csv"):
os.remove("requests.csv")
# INITIAL STRUCT _time,Company,dest,IP,Country,request,User Agent,Response Code,Response Description,http_referer
with open(file_to_read) as csvfile:
reader = csv.DictReader(csvfile)
file = open('requests.csv', 'w')
file.write('http_method,uri,protocol,http_referer'+'\n')
for row in reader:
string = (row['request']+','+row['http_referer']+'\n')
if row['Response Code'] == str(response_code):
file.write(string.replace(" ", ","))
user_agent = 'CONTROLLED TEST'
host = '127.0.0.1'
site_to_scan = sys.argv[3]
# CSV sctruct http_method,uri,protocol,http_referer
with open('requests.csv', 'r') as data_to_send:
http = urllib3.PoolManager(
cert_reqs='CERT_REQUIRED',
ca_certs=certifi.where()
)
reader = csv.DictReader(data_to_send)
for row in reader:
method = (row['http_method'])
uri = (site_to_scan+row['uri'])
http_referer = (row['http_referer'])
my_request = http.request(
method,
uri,
headers={
'User-Agent': user_agent,
'Host': host,
'Referer': http_referer
}
)
# print(my_request.data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment