Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save SiloGit/9dbc473405644f5ea1177b20035f596e to your computer and use it in GitHub Desktop.
Save SiloGit/9dbc473405644f5ea1177b20035f596e to your computer and use it in GitHub Desktop.
craw.py
#!/usr/bin/python
#-*- coding: cp1254 -*-
# Auto SQL crawler - By : Alexcerus HR
###################
class bcolors: #
HEADER = '\033[95m' #
OKBLUE = '\033[94m' #
OKGREEN = '\033[92m' #
WARNING = '\033[93m' #
FAIL = '\033[91m' #
ENDC = '\033[0m' #
####################
def disable(self):
self.HEADER = ''
self.OKBLUE = ''
self.OKGREEN = ''
self.WARNING = ''
self.FAIL = ''
self.ENDC = ''
import re, urllib,urllib2, time, httplib, socket, sys, md5, locale
from urllib2 import Request, urlopen, URLError, HTTPError
from socket import *
import threading
from bs4 import BeautifulSoup
import urlparse
import mechanize
import webbrowser
import os
print """
( (
( )\ ) ( )\ )
)\ ( ) ( ( (()/(( )\ (()/(
(((_) )( ( /( )\))( /(_))((_) /(_))
)\___(()\ )(_)|(_)()\ (_))((_)_ (_))
((/ __|((_|(_)__(()((_) / __|/ _ \| |
| (__| '_/ _` \ V V / \__ \ (_) | |__
\___|_| \__,_|\_/\_/ |___/\__\_\____|
"""
print(bcolors.WARNING + "Auto SQL Crawler v1.0 - BY : Alexcerus HR " + bcolors.ENDC)
print ""
hedef = raw_input("(Crawl) > ")
url = hedef
tarayici = mechanize.Browser()
urls = [url]
gez = [url]
while len(urls)>0:
try:
tarayici.open(urls[0])
urls.pop(0)
for link in tarayici.links():
yeniurl = urlparse.urljoin(link.base_url,link.url)
if yeniurl not in gez and url in yeniurl:
gez.append(yeniurl)
urls.append(yeniurl)
#print yeniurl
if "id=" in yeniurl:
yeniurl = yeniurl+"'"
#print yeniurl
try:
req = urllib2.Request(yeniurl)
fd = urllib2.urlopen(req)
data = fd.read()
if "Query failed" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "supplied argument is not a valid MySQL result resource in" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "You have an error in your SQL syntax" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "ORDER BY" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "mysql_num_rows()" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "SQL query failed" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "Microsoft JET Database Engine error '80040e14'" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "Microsoft OLE DB Provider for Oracle" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "Error:unknown" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "Fatal error" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "mysql_fetch" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "Syntax error" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
elif "error in your SQL syntax" in data:
print "--> "+yeniurl
ask = raw_input("You want open link ? y/n ")
if ask == "y":
webbrowser.open_new_tab(yeniurl)
urls=0
sys.exit()
else:
continue
except urllib2.HTTPError:
pass
except ValueError:
pass
except URLError, e:
pass
except IndexError:
pass
else:
pass
#except:
# pass
except TypeError:
pass
#urls.pop(0)
print "Finish.."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment