当前位置:首页 » 《关注互联网》 » 正文

报错注入的姿势_xiaoka__的博客

12 人参与  2022年01月19日 12:00  分类 : 《关注互联网》  评论

点击全文阅读


今天看了看报错注入,写篇博客记录一下思路。

报错注入主要分三种:floor()报错,extractvlaue()报错和updatexml()报错。

floor()是向下取整函数,与之搭配使用的函数有count()函数(计数函数),rand()函数(生成伪随机数函数)。

0x01. floor()报错

报错语句如下,只要执行在数据库版本低于8.0、7.0的版本中执行都会有下面这个错误。

报错语句原型:
select floor(rand(0)*2)x,count(*) from information_schema.tables group by x;

以sqli-lab第五关为例,判断这是单引号闭合,但是在联合查询后发现回显位不显示值,我们考虑盲注和报错注入,这里好像可以用盲注,但我们使用报错注入。

payload放这里:
/?id=1’ union select 1,count(*),concat((select schema_name from information_schema.schemata limit 0,1),floor(rand()*2))as a from information_schema.tables group by a%23

额,要看懂这个payload需要一点点SQL基础,这里就不再赘述了,核心部分在于concat((xxx),floor(rand()*2)) ,这里是把要查询的语句(xxx)和floor(rand()*2)连接在一起输出。

核心分析——让我们来康康究竟是怎么报错的

SQL语句:select floor(rand(0)*2)x,count(*) from information_schema.tables group by x;

floor(rand(0)*2)的规律值:01101…
执行一次后,floor(rand(0)*2)的值为0,要存入,group by后又执行了一次,值为1,所以把1存入了,count为1,再查询值为1时,表中已经有1这个数据,所以count直接+1。
再一次查询值为0的时候,表中只有1没有0,要插入,但是group by执行后查询值又变成了1,表中已经有1了,不能在插入一个相同的记录,所以就会报错。

如何利用floor()报错?

非常简单,只要用concat()把查询语句与floor()函数连接起来就好了.

比如说要查询第一个库名,我们可以这么构造payload(已经测试出联合查询要三列):
/?id=1’ union select 1,count(*),concat((select schema_name from information_schema.schemata limit 0,1),floor(rand()*2)) as a from information_schema.tables group by a%23

在这里插入图片描述之后就可以继续报表名,爆列名,爆字段。

0x02. extractvlaue()报错和updatexml()报错

英文小课堂:
extract:提取
value:值

提一下XML的概念,我简单地认为它与HTML差不多,不同之处在于XML的标签可以自己定义,不像HTML一样必须要特定的标签。

extractvalue(参数1,参数2)

参数1:xml文档字符串
参数2:xpath格式字符串

该函数主要用来查找并解析xml文档

updatexml(参数1,参数2,参数3)

参数1:xml文档字符串
参数2:xpath格式字符串
参数3:替换字符串

该函数主要用来查找替换并解析xml文档,但是不会保存到数据库

extractvalue()和updatexml()函数报错原理解释:
它们两个函数的报错原理其实都一样,都是因为第二个参数不采用xpath格式的字符导致数据库报xpath格式错误,利用concat()函数把一个特殊字符与xpath连接在一起就可以报错。

用extractvalue()函数查询第一个数据库:
/?id=1’ and extractvalue(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)))%23
在这里插入图片描述

用updatexml()函数查询第一个数据库:
/?id=1 ’ union select updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)))%23
在这里插入图片描述
同样的,之后就可以继续报表名,爆列名,爆字段。

在这里插入图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/33534.html

报错  函数  参数  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续列表_完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续(林梦婉)
  • 妻子辱我爸受贿自杀,我掏出一等军功章节选推荐_[陈素云辰朋友]小说精彩章节分享
  • 全书浏览苔藓爬满旧日诺言新上(顾砚廷慕晚夏)_苔藓爬满旧日诺言新上(顾砚廷慕晚夏)全书结局
  • 顾尘傅雅宁(神女老婆,却在背地承欢作乐+后续+结局)结局_(顾尘傅雅宁神女老婆,却在背地承欢作乐+后续+结局全书结局)结局列表_笔趣阁(顾尘傅雅宁)
  • 「老婆怀上助理的孩子后,助理要求我净身出户」章节限时抢先看‌_「黄秋雅秋雅姐刘嘉铭」后续完结版
  • 此去经年人未还,沈青禾霍沉洲_此去经年人未还,沈青禾霍沉洲
  • 我爸娶了九十九个媳妇都死了,这次准备娶我的女同学小说精彩章节免费试读_[小梅娶媳妇孤儿]全文免费在线阅读
  • 此去经年人未还结局+番外文章简述(沈青禾霍沉洲)列表_此去经年人未还结局+番外文章简述
  • 完结文寻你寻不到归期结局+完结列表_完结文寻你寻不到归期结局+完结(姜昭意盛西)
  • 江以蓁的潮起时问归期高分佳作江以蓁秦司礼全书在线
  • 「亲手逼死儿子后,男人悔不当初」后续全文免费阅读_[傅司衍轩轩佳佳]最新章节免费阅读
  • (番外)+(全书)寻你寻不到归期+后续+结局(姜昭意盛西辞)全书在线_寻你寻不到归期+后续+结局免费列表_笔趣阁(姜昭意盛西辞)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1