sql注入的学习

1.首先我们应该确定sql注入的类型
利用id=1 and 1=1 和id=1 and 1=2 判断是数字类型注入还是字符型注入,如果两者都可以正常显示界面,则为字符型注入,否则是数字型

两个都正常显示,所以为字符型注入(也可以使用id=2-1,来判断,若是显示与id=1相同,则是数字型注入,若是和id=2相同则是字符型

2.判断完类型之后就要去找闭合方式
这一步主要是利用 ‘(单引号)和  “(双引号)来和数据库的指令中的单双引号引号形成闭合,方便我们注入自己的代码,因为不管是在指令还是代码中,像引号,括号一类的都是成对存在

我们可以将ip=x 后面添加单引号或者双引号来查看报错

可以看到添加单引号后页面提示,发生了报错

报错原因如图(因为多加了一个单引号,与之前的单引号产生了闭合,从而多出来一个单引号,所以我们需要在id=1’ 后加上指令,从而避免出现这种情况)

3.获取数据库,表名,列名,因为我们想要拿到管理员的账号密码,所以我们需要找到账号密码的存放位置,而在这之前,我们就要想办法找到表名,列名,而获取的的方法就是 猜

这里可以看到没有报错,而是提示列不同(最后实际是  --空格,用来忽略之后的所有指令,防止数据库中代码对我们的指令有影响,但是由于是ul,所以空格变+)

然后我们继续猜,但是要动脑子去猜,如果说他有几十列,我们不可能挨个去试,所以人还是要多读书,此时,我们就可以采取二分法,我们往大的猜,一半一半的缩小范围,专业又高效,但是这里并不是直接去更改select后的数字,而是利用数据库本身的代码order by(排序)去钻个空子

下面依次是对第十列,第五列和第三列进行排序,可以看到第三列正常显示,由此可以判断出这个表有三列

利用这个我们直接查询1,2,3列

到那时我们发现前端的显示没有任何变化,原因是在mysql的联合查询中,如果前面条件为真,则后面条件不生效,如果前面条件为假,则后面条件生效,所以此时我们需要更改前方的id=1为id=-1,因为id肯定不存在-1的,这样后面的指令就可以执行

index.php?id=-1' union select  1,2,3--+(也可以将数字换成version(),查询版本号)

通过更改,我们已经拿到了数据库名 security

可以看到security库中包含的内容,其中information为默认数据库包含着该库的所有信息(列,表等),所以我们借用informaton来查询我们需要的信息

 group_concat()是mysql的一个分组合并函数,通过这个函数可以把查询出来的表合并到一起现实,如果没有该函数,那么返回的内容如下:

pass: 如果没有该函数,那么查询的内容将是多行,网页上面无法显示完整,故需要使用该函数;

?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users';-- +    (该指令为查询列信息使用,若是需要表细腻些,更改column为table 即可)

这样我们就拿到一些关键信息,username,password

?id=-1' union select 1,2,group_concat(username,2,password) from users;-- +

到此一切完成

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

漏洞原理反射型XSS漏洞

漏洞原理XSS漏洞 1 反射型XSS php基础链接 Web渗透编程语言基础-CSDN博客 正常思维 http://127.0.0.1/websec/day01/xss_reflect.php?name%E6%88%91%E6%98%AF%E8%B0%81 http://127.0.0.1/14_WEBSEC/DAY01/xss_reflect.php?name我是谁 黑客思维 http://127.0.0.1/websec…

【数据结构1-2】二叉树

树形结构不仅能表示数据间的指向关系,还能表示出数据的层次关系,而有很明显的递归性质。因此,我们可以利用树的性质解决更多种类的问题。 但是在平常的使用中,我们并不需要使用这么复杂的结构,只需要建立一个包含int r…

OpenHarmony—不支持解构赋值

规则:arkts-no-destruct-assignment 级别:错误 ArkTS不支持解构赋值。可使用其他替代方法,例如,使用临时变量。 TypeScript let [one, two] [1, 2]; // 此处需要分号 [one, two] [two, one];let head, tail [head, ...tail]…

web前端项目-五子棋【附源码】

五子棋(人机对弈) 本项目【五子棋】是一款人机对弈的策略型棋类游戏。可以选择落子方;游戏难度和是否显示落子次序。游戏双方分别使用黑白两色的棋子,在棋盘直线与横线的交叉点上进行对弈。五子棋可以促进大脑发育、提高思维能力…

时序分析中的去趋势化方法

时序分析中的去趋势化方法 时序分析是研究随时间变化的数据模式的一门学科。在时序数据中,趋势是一种随着时间推移而呈现的长期变化趋势,去趋势化是为了消除或减弱这种趋势,使数据更具平稳性。本文将简单介绍时序分析中常用的去趋势化方法&a…

我爱这夜色茫茫

夜来香 - 李香兰 那南风吹来清凉 那夜莺啼声细唱月下的花儿都入梦 只有那夜来香 吐露着芬芳 我爱这夜色茫茫 也爱这夜莺歌唱 更爱那花一般的梦 拥抱着夜来香 吻着夜来香夜来香我为你歌唱 夜来香我为你思量 啊~啊我为你歌唱 我为你思量 我爱这夜色茫茫 也爱这夜莺歌唱更爱那花…

GitHub Action 实现超简单的持续集成(CI)

GitHub Action 官方文档 GitHub Action 中使用 Docker 的官方文档 所用项目代码获取:公众号发送cloud 前言 在上一篇几分钟完成前后端分离项目部署文章中,我们完成了前后端分离项目的部署,但随着开发的进行,我们每次更新都手动打包…

IT网课满天飞,花两万学这个课真的有用吗?

我一直都觉得,IT类付费课程,无用且没有必要,我写代码10多年,没有花过一分钱报班学什么java, 学什么就业课,完全不妨碍我现在年薪百万。报班没有意义的地方在于,它会给你的大脑灌输一些你消化不了的知识&…

数据湖技术之应用场景篇

数据湖技术有较多的应用场景,本篇文章是针对一些典型的痛点场景做了一些介绍和说明。比如说在线数据抽取场景原有模式对线上库表产生较大压力,flink多流join维护的大状态导致的稳定性问题等等,具体场景如下图所示: 场景1:在线数据…

贪吃蛇/链表实现(C/C++)

本篇使用C语言实现贪吃蛇小游戏,我们将其分为了三个大部分,第一个部分游戏开始GameStart,游戏运行GameRun,以及游戏结束GameRun。对于整体游戏主要思想是基于链表实现,但若仅仅只有C语言的知识还不够,我们还…

2024/1/27 备战蓝桥杯 1-1

目录 求和 0求和 - 蓝桥云课 (lanqiao.cn) 成绩分析 0成绩分析 - 蓝桥云课 (lanqiao.cn) 合法日期 0合法日期 - 蓝桥云课 (lanqiao.cn) 时间加法 0时间加法 - 蓝桥云课 (lanqiao.cn) 扫雷 0扫雷 - 蓝桥云课 (lanqiao.cn) 大写 0大写 - 蓝桥云课 (lanqiao.cn) 标题…

WordPress如何使用SQL实现一键关闭/开启评论功能(已有评论)

WordPress本人就自带评论功能,不过由于种种原因,有些站长不想开启评论功能,那么应该怎么实现一键关闭评论功能或开启评论功能呢?或者针对已有评论功能的文章进行一键关闭或开启评论功能应该怎么操作? 如果你使用的Wor…

第四篇:怎么写express的路由(接口+请求)

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📘 引言: &#x1f4…

解密人工智能:探索机器学习奥秘

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 机器学习的定义二. 机器学习的发展历程三. 机器学习的原理四. 机器学习的分类…

5.Hive表修改Location,一次讲明白

Hive表修改Loction 一、Hive中修改Location语句二、方案1 删表重建1. 创建表,写错误的Location2. 查看Location3. 删表4. 创建表,写正确的Location5. 查看Location 三、方案2 直接修改Location并恢复数据1.建表,指定错误的Location&#xff0…

有趣的 CSS - 动态圆点水波纹效果

先看效果 整体效果 这个效果使用 css 中 animation 属性&#xff0c;以及搭配伪元素 ::after、::before 来实现两个圆交替变化。 核心代码 html部分代码 <div><label class"dot"></label> </div>label 标签画圆点主体。 css部分代码 .ap…

蓝桥杯---九数组分数

1,2,3 ... 9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码。 注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。

烧录软件(Renesas Flash Programmer)瑞萨RL78G12系列单片机下载工具(E2)的软件配置与硬件链接说明

一、单片机与仿真器连接 E1引脚接线图 RL78系列单片机的GND接仿真器的pin2、pin12、pin14 RL78系列单片机的VDD接仿真器的pin8 RL78系列单片机的Tool0接仿真器的pin5 RL78系列单片机的Reset接仿真器的pin10、pin13 二、确认接线完成后&#xff0c;开始烧录 1、打开RFPV软件…

实时视觉效果制作 -- Resolume Arena 7 中文

Resolume Arena 7是一款专业的实时视觉效果软件&#xff0c;能够为观众带来令人难以置信的视听盛宴。它具备强大的功能和直观的界面设计&#xff0c;使得用户能够轻松地创作、编辑和演示各种视觉效果。无论是在音乐会、派对还是舞台演出中&#xff0c;Resolume Arena 7都能满足…

golang封装业务err(结合iris)

golang封装业务err 我们有时在web开发时&#xff0c;仅凭httpStatus以及msg是不方便维护和体现我们的业务逻辑的。所以就需要封装我们自己的业务错误。 自定义biz_err维护err map&#xff1a;errorResponseMap、errorHttpStatusMap 注意&#xff1a;本文主要以演示为主&#xf…