import urllib2
import json
import sys
import getopt
import os
import pycurl
if len(sys.argv) < 3:
print "Search2Audit 1.0 by @YJesus\n"
print "www.securitybydefault.com\n"
print "Usage search2audit.py <API KEY> <URL>\n"
sys.exit(0)
siteurl= sys.argv[2]
key= sys.argv[1]
c = pycurl.Curl()
c.setopt(c.PROXY, '127.0.0.1:8080')
c.setopt(pycurl.WRITEFUNCTION, lambda x: None)
c.setopt(pycurl.SSL_VERIFYPEER, 0)
c.setopt(pycurl.SSL_VERIFYHOST, 0)
c.setopt(pycurl.USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0')
c.setopt(pycurl.HTTPHEADER, ["Proxy-Connection:"])
user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; FDM; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 1.1.4322)'
creds = (':%s' % key).encode('base64')[:-1]
auth = 'Basic %s' % creds
request = urllib2.Request('https://api.datamarket.azure.com/Data.ashx/Bing/Search/Composite?Sources=%27web%27&Query=%27site:'+siteurl+'%27&$format=json')
request.add_header('Authorization', auth)
request.add_header('User-Agent', user_agent)
requestor = urllib2.build_opener()
result = requestor.open(request)
search_results = result.read()
results = json.loads(search_results)
total = results['d']['results'][0]["WebTotal"]
print "Num total links", int(total)
offset = int(total)/50
offset=offset+1
index = 0
for i in range(offset):
request = urllib2.Request('https://api.datamarket.azure.com/Data.ashx/Bing/Search/Web?Query=%27site:'+siteurl+'%27&$skip='+str(index)+'&$format=json')
request.add_header('Authorization', auth)
request.add_header('User-Agent', user_agent)
requestor = urllib2.build_opener()
result = requestor.open(request)
search_results = result.read()
results = json.loads(search_results)
for result in results['d']['results']:
urltoadd= result.get(u'Url')
print urltoadd
urltoadd=str(urltoadd)
c.setopt(c.URL, urltoadd)
c.perform()
index+=50