7 X R% P7 P; \/ A- C% w* o% @) {9 Z# k( a$ ?# i x
" W: G. I( ^2 I
这些连接可以用来攻击没有防火墙保护、全世界都可以看到和访问的SQL服务器。DShield公司的端口报告显示了有多少系统在那里等待遭受攻击。我不理解允许从互联网直接访问这种重要的服务器的理由是什么。但是,我在我的评估中仍发现了这种安全漏洞。我们都记得SQL Slammer蠕虫对那样多的有漏洞的SQL服务器系统造成的影响。而且,这些直接的攻击能够导致拒绝服务攻击、缓存溢出和其它攻击。 . w# e f2 Z) ]0 M. K. c& o- V" h8 d* V; X( P# p2 h+ ^0 _7 J* f
7 ?/ N( ^! p% s " Z) M9 l1 ~6 k$ e4 f2.安全漏洞扫描, m6 y4 j& H) r* M
. u! D& @( Z5 _9 J9 k2 T' ~' ?' J2 X1 j; s' }! ?, B0 b
4 Q, \) i7 ^, y8 h$ D
安全漏洞扫描通常可以基本的操作系统、网络应用程序或者数据库系统本身的弱点。从没有使用SQL安全补丁、互联网信息服务(IIS)设置弱点到SNMP(简单网络管理协议)漏洞等任何事情都能够被攻击者发现,并且导致数据库被攻破。这些坏蛋也需使用开源软件、自己制作的工具软件或者商业性工具软件。有些技术高手甚至能够在命令提示符下实施手工黑客攻击。为了节省时间,我建议使用商业性的安全漏洞评估工具,如Qualys公司的QualysGuard(用于普通扫描)、SPI Dynamics公司的WebInspect(用于网络应用程序扫描)和下一代安全软件公司的“NGSSquirrel for SQL Server”(用于数据库扫描)。这些工具软件很容易使用,提供了最广泛的评估,并且可以提供最佳的结果。 $ [5 P) D7 w* ?) K' u ; D B+ ]8 Y" h- J# ?+ _1 B. c5 z$ l0 u. A
) d& d& {5 E- V U. ?' ^$ A3.列举SQL服务器解析服务/ m& I) L" S: d7 K) A, D# Z
" T% I0 a& D: x% y
: E9 c2 ]5 J# c0 \
/ u% \: z3 N4 W' K( t- g' O; \3 @% Y
在UDP端口1434上运行,这能让你发现隐蔽的数据库实例和更深入地探查这个系统。Chip Andrews的“SQLPing v 2.5”是一个极好的工具,可用来查看SQL服务器系统并且确定版本编号。你的数据库实例即使不监听这个默认的端口,这个工具软件也能发挥作用。此外,当过分长的SQL服务器请求发送到UDP端口1434的广播地址的时候,会出现缓存溢出问题。2 A1 H4 e# f2 b- a
% F3 F) N4 P) R( I, L# `* H) B7 L x6 U/ e; a
; V/ Z" E3 S1 u! c) P$ E; @6 B* H" Q
4.破解SA口令 t) j- @ c Q$ O
9 |: e+ [* {8 K; z2 x' ]
4 T4 L/ Y2 A5 O7 C/ G5 v8 I' y E @9 E4 ]# l- s# x
攻击者还可以通过破解SA口令的方法进入SQL服务器数据库。遗憾的是,在许多情况下不需要破解口令,因为没有分配口令。因此,可以使用上面提到的一种小工具SQLPing。Application安全公司的AppDetective和NGS软件公司的NGSSQLCrack等商业性工具软件也有这种功能。! u! G/ m' ` p3 q3 ?
0 R2 H; U( Y+ L( ^7 b* C9 A; G9 I0 }
. s: k9 r, L- u" p# s; x
5.直接利用安全漏洞攻击$ _/ Y2 j* E0 n3 f G. a& ^
$ {7 \) s5 z6 _4 f& Z3 r
9 k. m f! }2 X2 R0 H
7 g4 N! J/ c6 w! q, y- F/ s使用Metasploit等工具软件可以直接实施攻击。这种软件的商业性软件“CANVAS”和“CORE IMPACT”等能够利用在正常的安全漏洞扫描过程中发现的安全漏洞实施攻击。这是非常有效的攻击手段,攻击者可利用这种手段突破系统、从事代码注入或者取得非经授权的命令行访问权限。( w% ?0 m H% [
2 s1 p8 V, M/ s: y
4 H$ ]) {( H* P9 A* X
7 I. l* G! L7 a$ @
6.SQL注入 7 v! d- C& ^0 X7 _: V% N1 A1 u, m, ?% `( R
9 r! ]6 p- [2 v5 r" k* ] 9 @7 K/ a3 v& C) o8 N9 _" P. Q2 j* cSQL注入攻击可以通过没有正确验证用户输入的前端网络应用程序实施。包括SQL指令在内的异常的SQL查询可以直接注入到网络URL(统一资源定位符)中,并且返回一些错误通知,执行一些指令等等。如果你有时间的话,这些攻击可以手工实施。我一旦发现一个服务器有一个潜在的SQL注入安全漏洞,我喜欢使用一种自动的工具深入研究这个漏洞。这些工具包括SPI Dynamics公司的SQL注入器等。; v: y$ m# Q z, @2 R
6 S' q6 S4 R* Q1 U% j
/ a) p" \: P! M5 S% U6 M- Z5 f. X0 m8 ]7 E
7.SQL盲注攻击; ~) t- R- i7 p1 V ]