SQL注入第一章节

news2024/11/19 7:44:02

SQL注入第一章节

1.1 什么是SQL注入

SQL 注入(Injection) 概述

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息

web应用程序三层架构(了解):视图层 + 业务逻辑层 + 数据访问层

在这里插入图片描述

SQL注入之数据库概述

数据库就是一个存储数据的仓库,数据库是以一定方式存储在一起,能与多个用户共享,具有尽可能小的冗余,与应用程序彼此独立的数据集合。

关系型数据库

关系型数据库,存储的格式可以直观地反映实体间的关系,和常见的表格比较相似

关系型数据库中表与表之间有很多复杂的关联关系的

常见的关系型数据库有MySQL,Orcale,PostgreSQL , SQL Server等。

非关系型数据库

随着近些年技术方向的不断扩展,大量的NoSQL数据库如 Mon goDB,Redis出于简化数据库结构,避免冗余,影响性能的表连接。摒弃复杂分布式的目的被设计

NoSQL数据库适合追求速度和可扩展性,业务多变的场景

1.2 SQL注入之MYSQL语句语法

数据库服务器层级关系:

服务器里面
:多个数据库
:多个数据表
:多个行 列 字段
: 数据

SQL语句语法回顾:

union的2个特性:
前面查询的语句 和 后面的查询语句 结果互不干扰!
前面的查询语句的字段数量 和 后面的查询语句字段数量 要一致

order by 排序:
也可以 跟上数字 1 2 3 4……

猜解表的列数 知道表有几列

1.3 SQL注入之MYSQL系统库

一.系统库释义

提供了访问数据库元数据的方式

元数据是关于数据库的数据,如数据库名和表名,列的数据类型或访问权限。

image.png

  1. information_schema 库:是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息;

    例如数据库或表的名称,列的数据类型或访问权限。有时用于此信息的其他术语是数据字典和系统目录。web渗透过程中用途很大。

    系统库:5.0版本以上的默认有
    	
    SCHEMATA 表:提供了当前MySQL实例中所有数据库信息, show databases结果取之此表。
    
    TABLES表:提供了关于数据中表的信息。table_name
    
    COLUMNS表:提供了表的列信息,详细描述了某张表的所有列以及每个列的信息。column_name
    

    image.png

  2. performance_schema库具有87张表。

    MySQL 5.5开始新增一个数据库:PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。内存数据库,数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级。

  3. mysql库是核心数据库,类似于sql server中的master表,主要负责存储数据库的用户(账户)信息、权限设置、关键字等mysql自己需要使用的控制和管理信息。不可以删除,如果对mysql不是很了解,也不要轻易修改这个数据库里面的表信息。
    常用举例:在mysql.user表中修改root用户的密码

  4. sys库具有1个表,100个视图。
    sys库是MySQL 5.7增加的系统数据库,这个库是通过视图的形式把information_schema和performance_schema结合起来,查询出更加令人容易理解的数据。
    可以查询谁使用了最多的资源,哪张表访问最多等。

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

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

相关文章

合并表格的指定列按序号排序

这里有一个Excel需求: 如下图所示,需要在序号那一列自动排序下去。 但是是合并的行,而且合并的行数还是不确定的,那怎么给他自动排序下去呢? 解决方法可供参考:使用筛选和COUNT函数完成。 1.第一步筛选 首…

Collection集合

Collection集合面试题 导学 这次课程主要涉及到的是List和Map相关的面试题,比较高频就是 ArrayList LinkedList HashMap ConcurrentHashMap ArrayList底层实现是数组LinkedList底层实现是双向链表HashMap的底层实现使用了众多数据结构,包含了数组、…

5.MySQL索引事务

文章目录 🐾1. 索引🐾💐1.1 概念💐🌸1.2 作用与缺点🌸🌷1.2.1作用🌷🍀1.2.2缺点🍀 🌹1.3 使用场景🌹🌻1.4 使用&#x1f3…

阿里云服务器官网

阿里云服务器官网:https://www.aliyun.com/product/ecs 阿里云服务器分为云服务器ECS、轻量应用服务器、GPU云服务器等,云服务器ECS是阿里云明星级产品,专业级云服务器,如下图: 阿里云服务器ECS 阿里云服务器网分享阿…

【论文阅读】Learing to summarize from human feedback

前言 更多关于大模型的文章可见:ShiyuNee/Awesome-Large-Language-Models: Papers about large language models (github.com) 该仓库持续更新 Abs 通过训练模型来向着人类偏好优化可以显著提高摘要质量。 Method High-level methodology 从一个在摘要数据集上…

剑指offer(C++)-JZ3:数组中重复的数字(算法-排序)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几…

攻防世界-web-Web_python_template_injection

题目描述:只有一句话,翻译出来时python模板注入 1. 思路分析 1.1 什么是python模板注入? 做这道题之前我也不知道什么是python模板注入,问了下chatgpt,回答是这样的: 回答很简洁,举个例子&…

AUTOSAR 架构下的SPI模块的理解

一、SPI模块 1、模块简介 SPI处理程序/驱动程序为单片SPI [串行外设接口]处理程序/驱动程序提供功能和API。该软件模块包括处理和驱动功能。这种单片SPI处理器/驱动器的主要目标是充分利用每个微控制器的功能,并根据静态配置实现优化,以尽可能地满足ECU…

医疗虚拟仿真和虚拟现实有什么区别?哪个更好?

随着我们在仿真教育中越来越多地使用新技术,区分虚拟模式的类型很重要。虚拟仿真是一个统称,用来概括术语来描述各种基于仿真的体验,从基于屏幕的平台到沉浸式虚拟现实。然而,各虚拟平台在保真度、沉浸感和临场感的水平上有很大差…

java 调用 opencv 识别图片

前言 opencv 的 github 地址 opencv 官网 本文介绍如何使用 java 来调用 opencv 下载opencv opencv下载 页面根据自己电脑操作系统下载最新的安装包,我这里下载的是 4.7.0 版本。 (4.7.0 版本里的 opencv-470.jar 包是使用 jdk11 编译的&#xff0c…

从0到1ES集群搭建实践

ES集群搭建实践 创建虚拟机 创建Linux新用户elastic 必须信息 使用elasticsearch账号操作:启动,关闭等 配置网卡信息 vi /etc/sysconfig/network-scripts/ifcfg-ens33TYPE"Ethernet" PROXY_METHOD"none" BROWSER_ONLY"no…

pytorch笔记:transformer

来自B站视频,API查阅,TORCH.NN seq2seq 可以是 CNN,RNN,transformer nn.Transformer 关键源码: encoder_layer TransformerEncoderLayer(d_model, nhead, dim_feedforward, dropout,activation, layer_norm_eps, ba…

Github官网进不去怎么办?Github无法访问怎么办?

1.操作方法: 打开hosts文件,可能需要管理员权限。 win10 hosts位置:C:\Windows\System32\drivers\etc 在末尾新建一行,添加如下内容: 2.1方法一 Host文件追加 140.82.112.26 alive.github.com140.82.114.25 live.…

【electron】 客户端调试小技巧

1、谷歌浏览器输入:chrome://inspect打开开发者工具 可以方便拦截electron内的请求,也可以通过f12的开发者工具中的source打断点。 虽然在electron客户端内也能审查元素。 PS:但是其有局限性,如果是窗体套窗体(webview)&#xff…

Android——基本控件(十)

1. 图片视图:ImageView 1.1 知识点 (1)掌握ImageView组件的使用; (2)掌握图片的保存; 1.2 具体内容 之前我们讲过了RadioGroup是提供了一个存放RadioButton的一个容器,ImageVie…

STM32速成笔记—中断

文章目录 一、什么是中断二、中断的相关概念2.1 中断优先级2.2 中断嵌套2.3 中断服务函数2.4 中断标志位 三、外部中断EXIT四、中断程序配置4.1 设置中断分组并使能中断4.2 初始化EXIT4.3 编写中断服务函数 五、注意事项 一、什么是中断 首先介绍一下什么是中断。在实际开发过…

OpenCV 笔记_2

文章目录 笔记_2图像尺寸变换resize 图像缩放 (重置图像大小)flip 图像翻转hconcat 横向连接vconcat 纵向连接 图像方式变换warpAffine 仿射变换函数:矩阵M(2*3)getRotationMatrix2D 获取图像旋转矩阵M:矩阵M&#xff…

电脑出现MSVCP100.dll丢失错误怎么办?

MSVCP100.dll是一个Windows系统文件,它可以确保Windows程序正确平稳运行,如果该文件安装不正确、丢失或损坏,则使用该文件的应用程序将无法正常启动,会出现“无法启动此程序,因为计算机中丢失MSVCP100.dll”的错误提示…

OpenCV 笔记_4

文章目录 笔记_4图像细化thinning 图像细化函数 轮廓检测findContours 轮廓检测函数drawContours 轮廓绘制函数contourArea 计算轮廓面积:返回值 double类型arcLength 计算轮廓长度:返回值 double类型 轮廓外接多边形boundingRect 给定轮廓的外接矩形min…

Hook攻防之InlineHook

什么是InlineHook Inline Hook,又称为超级Hook,是一种强大而又灵活的Hook技术。 Inline Hook的主要思想就是直接修改目标函数的代码,通常是在目标函数的开头插入一个跳转指令(jmp)。这个跳转指令会将程序的执行流跳转…