在测试一次注入的时候发现过滤了逗号 所以找到这个思路

第一次遇到的时候是看key哥挖洞  遇到后就想记录下来

正文

过滤了逗号  利用join来逐步查询

select*from(select 1)a join (select 2)b join (select 3)c;

例如下图

逐步查询user()

user() @@basedir

user() @@basedir version()

也可以和mid函数组合使用

mysql报错信息

利用方法是使用数学运算函数在子查询中报错,比如exp函数(参考 EXP(X)),  MySQL会把子查询的中间结果暴露出来。

select exp(~(select*from(select user())a))

可以看到子查询的结果出来了

这样我们就得到了当前user()是root@localhost。

exp(x)函数的作用:

取常数e的x次方,其中,e是自然对数的底。

~x 是一个一元运算符,将x按位取补。

这条查询会出错,是因为exp(x)的参数x过大,超过了数值范围。分解到子查询,就是:

1. (select*from(select user())a) 得到字符串 root@localhost

2. 表达式’root@localhost’被转换为0,按位取补之后得到一个非常的大数,它是MySQL中最大的无符号整数:

3. exp无法计算e的18446744073709551615次方,最终报错,但是MySQL把前面 1) 中子查询的临时结果暴露出来了

了解了MySQL的这个特点,其实我们就还可以精心构造其他的一元运算符,让MySQL查询在没有逗号的情况下报错

比如:

select !(select*from(select user())x)-~0;

原因如下:

select 1 – 18446744073709551615;

这个例子是bigint超过数值范围,手法类似。

mysql 绕过select报错_MySQL注射绕过技巧(三)相关推荐

  1. mysql批量更新报错_Mysql批量更新的三种方式

    前言 批量插入由于mysql的VALUES原生支持,使用较为便利. 批量更新的写法一般有三种,在更新数量较少的情况下,前两种性能不相上下.但是在更新字段增加,更新条数较多(500以上)建议使用第三种写 ...

  2. mysql 绕过select报错_Web安全之SQL注入(原理,绕过,防御)

    首先了解下Mysql表结构 mysql内置的information_schema数据库中有三个表非常重要 1 schemata:表里包含所有数据库的名字 2 tables:表里包含所有数据库的所有的表 ...

  3. mysql not in报错_mysql从5.7升级到8.0查询报错Expression #2 of SELECT list is not in GROUP BY...

    报错信息: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sss. ...

  4. mysql的count报错_mysql的floor()报错注入方法详细分析

    刚开始学习sql注入,遇见了 select count(*) from table group by floor(rand(0)*2); 这么条语句.在此做个总结. (更好的阅读体验可访问 这里 ) ...

  5. mysql用in报错_Mysql子查询IN中使用LIMIT

    学习下Mysql子查询IN中使用LIMIT的方法. 这两天项目里出了一个问题,mysql LIMIT使用后报错. 需求是这样的,我有3张表,infor信息表,mconfig物料配置表,maaply物料 ...

  6. mysql的count报错_Mysql报错注入原理分析count、rand、groupby

    0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截图,然后执行sql语句证明一下结论,但是没有人去深入研究为什么rand不能和o ...

  7. mysql的count报错_Mysql报错注入原理分析(count()、rand()、group by)

    报错需要count(*),rand().group by,三者缺一不可 前提:当行数大于等于3行时才会报错. 原链接:https://www.cnblogs.com/xdans/p/5412468.h ...

  8. mysql严格模式 报错_mysql严格模式

    mysql严格模式 严格模式例子1 2 3 4 5 6 7DB::table('table_name') ->where('status', 1) ->select(DB::raw('su ...

  9. Mysql存储过程老是报错_mysql中看看这个存储过程老是报错,该如何处理

    mysql中看看这个存储过程老是报错 我的mysql版本是5.5.21的,下面这个存储过程是需要更加另外3张表的数据来更新strategycontracttemp中数据,但是每次更新到中途报错,先代码 ...

最新文章

  1. 【转载】Git 常用命令大全
  2. web前端开发培训有哪些学习阶段
  3. 一元夺宝类项目的被拒
  4. 《从0到1学习Flink》—— Flink Data transformation(转换)
  5. 【vue】使用localStorage解决vuex在页面刷新后数据被清除的问题
  6. centos7 安装oracle jdk 与openjdk 实现切换
  7. python爬虫京东中文乱码_python3爬虫中文乱码之请求头‘Accept-Encoding’:br 的问题...
  8. 修复计算机的英语,Windows Repair最新版
  9. enumerate在python中是什么意思_python中enumerate什么意思
  10. 微型计算机中的数据总线用来,微型计算机技术及应用(戴梅萼4)练习题答案.doc...
  11. 扩展类载入器的载入问题
  12. 未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
  13. 发现一个很好用的 SVG 在线编辑器-Method Draw
  14. 计算机cpu在哪,cpu什么意思啊_电脑cpu哪里看
  15. ubuntu22.04LTS 外接hdmi没有声音
  16. 【PyTorch】下载的预训练模型的保存位置(Windows)
  17. 功能:清空聊天记录页面
  18. 傲天AC EAG误配置导致Portal推送失败案例
  19. 商务通怎么做html留言板,网站商务通对话框设置技巧
  20. 星环科技:坚持国产自主路线,突破大数据的细分应用场景

热门文章

  1. Viewport3D 类Viewport3D 类Viewport3D 类
  2. 认证鉴权与API权限控制在微服务架构中的设计与实现(一)
  3. 创建邮箱过程中的问题及解决办法
  4. sqlserver中 事物 索引及视图
  5. UML该元素的行为为基础的元素
  6. pyinotify结合ftplib自动上传新建的文件
  7. DBA_Oracle Table Partition表分区概念汇总(概念)
  8. android开发(13) 尝试在流布局中移动控件
  9. 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~三 分部类是否破坏了单一职责...
  10. 为何加入了AddType就无法启动Apache