1.6SQL手工注入方法

简介:文章分为三部分:1、概要;2、详细的思维导图;3、详细的解说。

描述:概要包括该文介绍的知识点;详细的思维导图更好地理清思路,方便记忆,但对于有些对于作者比较基础的内容不会有详细的解释,建议主动了解;详细的解说作者会根据思维导图的纲要添加代码语句等内容,有时间会添加具体操作,具体步骤,操作结果等内容,添加需要注意的Tips(蓝色字体怎样)。

前面的话:操作学习的环境----Linux环境+docker+sqli-labs。环境配置请看:第一章:SQL注入基础--1.1Web应用架构分析&1.2 SQLi注入环境搭建或私信我亲测有效的资源给你。

Tips:这些都是作者学习过的内容,文字、思维导图等都是一双手,后续会连载这系列以及丰富流程说明,欢迎沟通交流、留言,觉得必要的也可收藏关注

1、概要:

1.6SQL手工注入方法
     MySQL数据库结构
     MySQL手工注入方法
             核心原理:
             查询数据核心语法:(重点)
             提示

2、详细的思维导图:

3、详细的解说:

1.6 SQL手工注入方法
    MySQL数据库结构

        存储引擎层
            磁盘、内存、网络
        SQL层
            基本
                ·解析器·查询执行
                ·授权·查询高速缓存
                ·优化器·查询日志记录
            SQL层的功能:
                1、判断语法、语句、语义
                2、数据库对象授权情况判断,授权失败不继续
                3、解析(解析器):将sql语句解析成执行计划,运行执行计划,生成找数据的方式
                4、优化(优化器):运行执行计划,基于算法,从执行计划中选择代价最小的交给“执行器”
                5、执行(执行器):运行执行计划,最终生产如何去磁盘找数据方式
                6、将取数据的方式,交由下层(存储引擎层)进行处理
                7、最终将取出的数据抽象成管理员或用户能看懂的方式(表),展现在用户面前
                8、查询缓存:缓存之前查询的数据
            MySQl内置库(>=5.7)
                mysql
                    保存有账户信息,权限信息,存储过程,event,时区等信息。
                sys
                    包含了一系列的存储过程、自定义函数以及视图来帮助我们快速的了解系统的元数据信息。
                    (元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等)
                performance_schema
                    用于收集数据库服务器性能参数
                information_schema
                    它提供了访问数据库元数据的方式。
                    其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表的数据类型与访问权限等。
        连接层
(与应用程序连接)

            通信协议
            线程
            验证
    MySQL手工注入方法
        核心原理:
            MySql内置的information_schema库,它功能强大,是我们进行MySql注入的基石!通过information_schema我们可以窥透整个MySQL的运行情况,也可以查看到数据库中所有的数据信息。
        查询数据核心语法:(重点)
            查库
                select schema_name from information_schema.schemata
            查表
                select table_name from information_schema.tables where table_schema=库名
            查列
                select column_name from information_schema.columns where table_name=表名
            查数据
                select 列名from库名.表名

        提示
            所有类型的sql注入,都是基于查库、表、列语句
            在一些场景,想要快速获取数据,需借助工具,如:BurpSuite
            如果数据太多,导致无法返回查询结果:查询的场景:
可利用limit限定返回的数量及位置,依次查询回显数据的场景:*concat*链接多个数据成为一条返回结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值