mysql 绕过select报错_MySQL注射绕过技巧(三)
在测试一次注入的时候发现过滤了逗号 所以找到这个思路
第一次遇到的时候是看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注射绕过技巧(三)相关推荐
- mysql批量更新报错_Mysql批量更新的三种方式
前言 批量插入由于mysql的VALUES原生支持,使用较为便利. 批量更新的写法一般有三种,在更新数量较少的情况下,前两种性能不相上下.但是在更新字段增加,更新条数较多(500以上)建议使用第三种写 ...
- mysql 绕过select报错_Web安全之SQL注入(原理,绕过,防御)
首先了解下Mysql表结构 mysql内置的information_schema数据库中有三个表非常重要 1 schemata:表里包含所有数据库的名字 2 tables:表里包含所有数据库的所有的表 ...
- 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. ...
- mysql的count报错_mysql的floor()报错注入方法详细分析
刚开始学习sql注入,遇见了 select count(*) from table group by floor(rand(0)*2); 这么条语句.在此做个总结. (更好的阅读体验可访问 这里 ) ...
- mysql用in报错_Mysql子查询IN中使用LIMIT
学习下Mysql子查询IN中使用LIMIT的方法. 这两天项目里出了一个问题,mysql LIMIT使用后报错. 需求是这样的,我有3张表,infor信息表,mconfig物料配置表,maaply物料 ...
- mysql的count报错_Mysql报错注入原理分析count、rand、groupby
0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截图,然后执行sql语句证明一下结论,但是没有人去深入研究为什么rand不能和o ...
- mysql的count报错_Mysql报错注入原理分析(count()、rand()、group by)
报错需要count(*),rand().group by,三者缺一不可 前提:当行数大于等于3行时才会报错. 原链接:https://www.cnblogs.com/xdans/p/5412468.h ...
- mysql严格模式 报错_mysql严格模式
mysql严格模式 严格模式例子1 2 3 4 5 6 7DB::table('table_name') ->where('status', 1) ->select(DB::raw('su ...
- Mysql存储过程老是报错_mysql中看看这个存储过程老是报错,该如何处理
mysql中看看这个存储过程老是报错 我的mysql版本是5.5.21的,下面这个存储过程是需要更加另外3张表的数据来更新strategycontracttemp中数据,但是每次更新到中途报错,先代码 ...
最新文章
- 【转载】Git 常用命令大全
- web前端开发培训有哪些学习阶段
- 一元夺宝类项目的被拒
- 《从0到1学习Flink》—— Flink Data transformation(转换)
- 【vue】使用localStorage解决vuex在页面刷新后数据被清除的问题
- centos7 安装oracle jdk 与openjdk 实现切换
- python爬虫京东中文乱码_python3爬虫中文乱码之请求头‘Accept-Encoding’:br 的问题...
- 修复计算机的英语,Windows Repair最新版
- enumerate在python中是什么意思_python中enumerate什么意思
- 微型计算机中的数据总线用来,微型计算机技术及应用(戴梅萼4)练习题答案.doc...
- 扩展类载入器的载入问题
- 未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
- 发现一个很好用的 SVG 在线编辑器-Method Draw
- 计算机cpu在哪,cpu什么意思啊_电脑cpu哪里看
- ubuntu22.04LTS 外接hdmi没有声音
- 【PyTorch】下载的预训练模型的保存位置(Windows)
- 功能:清空聊天记录页面
- 傲天AC EAG误配置导致Portal推送失败案例
- 商务通怎么做html留言板,网站商务通对话框设置技巧
- 星环科技:坚持国产自主路线,突破大数据的细分应用场景
热门文章
- Viewport3D 类Viewport3D 类Viewport3D 类
- 认证鉴权与API权限控制在微服务架构中的设计与实现(一)
- 创建邮箱过程中的问题及解决办法
- sqlserver中 事物 索引及视图
- UML该元素的行为为基础的元素
- pyinotify结合ftplib自动上传新建的文件
- DBA_Oracle Table Partition表分区概念汇总(概念)
- android开发(13) 尝试在流布局中移动控件
- 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~三 分部类是否破坏了单一职责...
- 为何加入了AddType就无法启动Apache