SQL注入 01

news2025/4/21 14:30:23

0x01 用户、脚本、数据库之间的关系

首先客户端发出了ID=36的请求,脚本引擎收到后将ID=36的请求先代入脚本的sql查询语句Select * from A where id = 36 , 然后将此代入到数据库中进行查询,查到后将返回查询到的所有记录给脚本引擎,接着脚本引擎根据自己写的过滤函数和编码特殊字符等,生成一个静态页面返回给客户端,最后将网站返回的网页展示给用户(那这里的意思就是先将查询语句实现进行查询,然后当数据库返回给脚本引擎的时候再进行过滤

0x02  SQL注入的定义

就是通过sql命令插入到web表单递交或输入域名或请求的查询字符串,最终达到欺骗服务器执行恶意代码的过程

具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句

0x02.1 成因

用于未对用户的输入做好过滤,导致用户将恶意代码SQL语句输入进来,带到后端进行查询,查询到本不应该出现的数据

0x03 触发SQL注入

所有的输入只要和数据库进行交互的,都有可能触发SQL注入

常见的包括:

1、GET参数触发SQL注入

2、POST参数触发SQL注入

3、COOKIE 触发SQL注入

4、其他参与sql执行的输入都有可能进行SQL注入

0x04 SQL注入的过程

1、客户端:参数值等数据被修改

2、服务端:未经过检查和过滤就将被修改的数据注入到SQL命令中,SQL命令功能被修改

3、数据库引擎:执行被修改后的数据

4、服务端:将注入结果返回给客户端

5、客户端:根据上一次获取到的敏感信息构造注入语句进行更一步的注入

0x05 SQL注入场景

一切用户可控参数的地方,比如:URL路径、GET/POST请求参数、HTTP请求头

0x06 SQL注入作用

  • 绕过登录验证:使用万能密码登录网站后台
  • 获取敏感数据:获取网站管理员账号、密码等
  • 文件系统操作:列目录,读取,写文件等
  • 注册表操作:读取、写入、删除注册表等
  • 执行系统命令:远程执行命令

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

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

相关文章

学习笔记:黑马程序员JavaWeb开发教程(2025.3.24)

11.2 案例-文件上传-简介 火狐浏览器可以看到文件上传传递的底层数据,而chrome对这一块数据进行了包装 在输出日志代码处打了一个断点,看服务端接收到的数据,在上传文件的保存地址中,可以看到,有三个临时文件&…

计算机视觉cv2入门之视频处理

在我们进行计算机视觉任务时,经常会对视频中的图像进行操作,这里我来给大家分享一下,cv2对视频文件的操作方法。这里我们主要介绍cv2.VideoCapture函数的基本使用方法。 cv2.VideoCapture函数 当我们在使用cv2.VideoCapture函数时&#xff…

【Linux】Rhcsa复习5

一、Linux文件系统权限 1、文件的一般权限 文件权限针对三类对象进行定义: owner 属主,缩写u group 属组, 缩写g other 其他,缩写o 每个文件针对每类访问者定义了三种主要权限: r:read 读 w&…

FFmpeg:M3U8的AES加密

1、加密用的key,命令: openssl rand 16>enc.key 2、目的是生成一个enc.key文件 生成iv openssl rand -hex 16 生成后记录下来这个字符串 3、新建一个enc.keyinfo文件,内容有如下三行: key URIenc.key的路径,…

VMware虚拟机走主机代理上网

🌐 VMware虚拟机走主机代理上网🔑 你是否也遇到过这样的困境?💡 在虚拟机中测试某个项目,却因为网络限制而寸步难行。今天,就让我们一起探索如何让VMware虚拟机轻松调用本机的代理上网工具,开启…

Cursor入门教程-JetBrains过度向

Cursor使用笔记 **前置:**之前博主使用的是JetBrains的IDE,VSCode使用比较少,所以会尽量朝着JetBrains的使用习惯及样式去调整。 一、设置语言为中文 如果刚上手Cursor,那么肯定对Cursor中的众多选项配置项不熟悉,这…

Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿

CPU负载突然飙升,如截图: 根本原因,大家从各种博主上已知晓,现在提供自己的解决办法,亲测有效 一、设置开机自动禁用温度管理守护进程 1.创建脚本文件 mkdir -p ~/Scripts touch ~/Scripts/disable_thermald.sh …

宝塔面板部署 Dify-latest 最新版本

一、本地部署Windows 版本宝塔面板 宝塔面板是一款简单容易上手使用的服务器管理软件,它可以帮助用户方便地管理服务器以及部署网站等。 (1)在宝塔面板官网的下载界面,选择 windows 版本下载。点此进入下载 (2&#x…

《TCP/IP网络编程》学习笔记 | Chapter 24:制作 HTTP 服务器端

《TCP/IP网络编程》学习笔记 | Chapter 24:制作 HTTP 服务器端 《TCP/IP网络编程》学习笔记 | Chapter 24:制作 HTTP 服务器端HTTP 概要理解 Web 服务器端无状态的 Stateless 协议请求消息(Request Message)的结构响应消息&#x…

Origin将双Y轴柱状图升级为双向分组柱状图

当变量同时存在两个数值时的可视化时,往往会想到用双Y轴柱状图来表达我们的数据。 双Y轴柱状图是一种在同一图表中使用左右两个Y轴的可视化形式,常用于展示两组量纲不同或数值范围差异较大的数据。 双向分组柱状图是一种结合了双向柱状图和分组柱状图的…

测试基础笔记第六天

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、操作系统1.什么是操作系统2.操作系统的常见分类 二、linux系统1.linux发行版本2.文件和路径3.远程连接操作常见的远程连接工具远程连接基本步骤 三、linux命令操…

Edge Impulse 训练openMV分类模型(字母+数字)

前言 使用openMV Cam H7 Plus 固件4.5.9尝试多种方式均失败(模板匹配、ORB特征识别),还毁了一个sd卡,还是老老实实用Edge Impulse 训练吧 准备字母数字图片,使用Python生成,文件名要存成“A.jpg”这样&…

Linux 动、静态库的实现

前言:当我们写了一段代码实现了一个方法,如果我们不想把方法的实现过程暴露给别人看,可以把代码打包成一个库,其中形成后缀为.a的是静态库,后缀为.so的为动态库;当别人想使用你的方法时,把打包好…

C++11特性补充

目录 lambda表达式 定义 捕捉的方式 可变模板参数 递归函数方式展开参数包 数组展开参数包 移动构造和移动赋值 包装器 绑定bind 智能指针 RAII auto_ptr unique_ptr shared_ptr 循环引用 weak_ptr 补充 总结 特殊类的设计 不能被拷贝的类 只能在堆上创建…

PcVue助力立讯:精密制造的智能化管控实践!

PcVue助力立讯: 精密制造的智能化管控实践! 客户介绍 立讯精密(Luxshare ICT,股票代码:002475)成立于2004年5月24日,专注于为消费电子产品、汽车领域产品以及企业通讯产品提供从核心零部件、…

jmeter中文乱码问题解决

修改jmeter.properties配置文件‌ 进入JMeter安装目录的bin文件夹,找到jmeter.properties文件。搜索参数sampleresult.default.encodingUTF-8,取消注释(删除行首的#),并将其值改为UTF-8。保存文件并‌重启JMeter‌生效…

最新扣子空间实操指南

一、首先要先获取到内部测试的邀请码, 我们先打开扣子空间官网:https://space.coze.cn/ 输入邀请码后进入该页面: 它这里支持文件上传,扩展里面有很多插件,页支持MCP各种插件. 探索模式有两种,一种是ai自…

JavaScript 一维数组转二维数组

题目描述&#xff1a; <script>const num [1,2,3,4]const out (function(num,m,n){if(num.length ! m*n){return []}const newarr []for(let i 0;i<m;i){newarr.push(num.slice(i*n,(i1)*n))}return newarr})(num,2,2)console.log(out)</script>不使用Stri…

WIN10重启开机不用登录,直接进入桌面

我们个人机不需要登录。 步骤1 置&#xff0c;帐户&#xff0c;登录选项&#xff0c;密码。 输入当前密码后&#xff0c;直接下一步。 再次重启&#xff0c;就会发现不需要密码了。

开源项目FastAPI-MCP:一键API转换MCP服务

在当今AI开发的世界中,应用程序与AI模型之间的无缝集成至关重要。 模型上下文协议(Model Context Protocol, MCP)通过允许AI模型访问外部工具和数据源,弥合了这一差距。 FastAPI MCP是一个强大的工具,它可以通过最少的配置将您现有的FastAPI端点转换为MCP兼容的工具。 本…