Last active
November 9, 2019 09:33
-
-
Save enonethreezed/a0bc52e6498c146e1d11f5150ff66a18 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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