返回列表 回复 发帖

五大著名免费SQL注入漏洞扫描工具

  大量的现代企业采用Web应用程序与其客户无缝地连接到一起,但由于不正确的编码,造成了许多安全问题。Web应用程序中的漏洞可使黑客获取对敏感信息(如个人数据、登录信息等)的直接访问。
3 a# Q+ _) s: \' X2 G) N/ \% e2 b8 B( t" D: m
  Web应用程序准许访问者提交数据,并可通过互联网从数据库中检索数据。而数据库是多数Web应用程序的心脏。数据库维持着Web应用程序将特定内容交给访问者的数据,Web应用程序在将信息交给客户、供应商时,也从数据库取得数据。 0 o( c" j  d3 B) B2 \
0 \! d: C% a2 L( Y1 p
  SQL注入攻击是最为常见的Web应用程序攻击技术,它会试图绕过SQL命令。在用户输入没有“净化”时,如果执行这种输入便会表现出一种SQL注入漏洞。
9 f) n+ W" n: E5 u2 M! G" l- L! V& I) ^# ~  ~3 {' g3 z( i
  检查SQL注入漏洞主要涉及到两方面,一是审计用户的Web应用程序,二是通过使用自动化的SQL注入扫描器执行审记的最佳方法。在此,笔者罗列了一些对Web应用程序开发人员和专业的安全审计人员有价值的SQL注入扫描程序。 5 |0 o! x0 u4 u1 J; F" |4 x* _0 T7 K
0 q  I/ I' m5 K
  一、SQLIer
: }8 C8 G7 h% p( o7 A$ n! M7 z/ a& D
  SQLIer可以找到网站上一个有SQL注入漏洞的URL,并根据有关信息来生成利用SQL注入漏洞,但它不要求用户的交互。通过这种方法,它可以生成一个UNION SELECT查询,进而可以强力攻击数据库口令。这个程序在利用漏洞时并不使用引号,这意味着它可适应多种网站。
- ^  M5 j* b1 |) ?
; G4 p( b: D, R* J+ A- a" m
" b1 n' W8 J8 [% ]! {  SQLIer通过“true/false”SQL注入漏洞强力口令。借助于“true/false” SQL注入漏洞强力口令,用户是无法从数据库查询数据的,只能查询一个可返回“true”、“false”值的语句。
- Z; @+ O9 i4 g6 T5 V# b5 v$ {' n+ T; o% g0 u
  据统计,一个八个字符的口令(包括十进制ASCII代码的任何字符)仅需要大约1分钟即可破解。
. i) _" d# t. k1 O4 v- h8 P& u6 a3 k8 D
  其使用语法如下,sqlier [选项]
\" `: v5 |9 j/ Q, M\" l
2 g6 ?& _3 b3 I  其选项如下: . J9 R; L$ g; f$ P* \

0 H0 C, D5 F1 C- Y# n  -c :[主机] 清除主机的漏洞利用信息 ; z  \: v. d7 @  n3 U

( H2 s6 V/ `3 w% ~  -s :[秒]在网页请求之间等待的秒数
! W5 @3 \$ T7 S: Y. q. o$ i1 ~0 U
\" C- E  V. {5 ~* [  -u:[用户名]从数据库中强力攻击的用户名,用逗号隔开。 / K, M9 \# s2 R
$ T* i; B/ {\" I$ M1 M
  -w:[选项]将[选项]交由wget ' k8 n0 R: i5 Z

6 z7 K2 E! C0 }  此外,此程序还支持猜测字段名,有如下几种选择:
' F2 j1 Z& {8 S0 v
6 V- k% p5 ]* F5 a' v- u) U  --table-names [表格名称]:可进行猜测的表格名称,用逗号隔开。 5 {$ K$ ]% N9 }. U

  h\" R& {% C' y( s: X& w  --user-fields[用户字段]:可进行猜测的用户名字段名称,用逗号隔开。
, h8 z3 z9 i& e# t+ c
+ f6 ^6 Y) f# E* \  --pass-fields [口令字段]:可进行猜测的口令字段名称,用逗号隔开。 1 y7 I$ g4 S\" Z+ Q; c& W7 e

9 l3 G4 w/ R1 Z+ R) }; O: @  下面说一下其基本用法:
, v3 T, b, X3 |7 i4 A3 T
& D3 \& c9 n) S( {  例如,假设在下面的URL中有一个SQL注入漏洞:
7 @+ G2 ]9 h2 }
+ C) ~' G( A: w  http://example.com/sqlihole.php?id=1 * J# S, [& `  D$ z2 G0 t0 N, |

1 i, w/ L; |$ U- Z\" r. B  我们运行下面这个命令:
. g: s7 n\" Y* o9 |  U- p/ k8 m7 b: O; P\" D: {+ p% R0 _
  sqlier -s 10 http://example.com/sqlihole.php?id=1从数据库中得到足够的信息,以利用其口令,其中的数字“10”表示要在每次查询之间等待10秒钟。 4 ]$ M* d  A/ A! ?8 k

: F# R) d\" _% V/ L0 g  如果表格、用户名字段、口令字段名猜测得正确,那么漏洞利用程序会把用户名交付查询,准备从数据库中强力攻击口令。 4 m  m& q3 `6 n* Q\" D
: n, P1 o4 [  V- W
  sqlier -s 10 example.com -u BCable,administrator,root,user4
6 W/ v4 O3 N7 `
' f  ^# |0 U/ H: k5 M) e  然而,如果内建的字段/表格名称没有猜中正确的字段名,用户就可以执行: ! R0 ^' H1 v; R, |7 E9 d

9 j7 X, m( T7 X\" i9 w  sqlier -s 10 example.com --table-names [table_names] --user-fields [user_fields] --pass-fields [pass_fields]
/ Z, A) B4 k$ z0 \0 r2 \- y( L4 J- H
  除非知道了正确的表格名、用户名字段、口令字段名,SQLIer就无法从数据库中强力攻击口令。如图1: , r* |' C- x1 q) m: {! l9 h

/ r4 Y. K\" u9 i0 W7 p& D  
; o9 a- v! s1 _1 l# a
- `. `: p( G/ I, n* V/ I
& d# n4 v7 N! ~\" C# O' N4 m& k( c0 ^7 ?
[1] [[url=http://www.skycn.com/article/16759_1.html]2
] [3] 下一页
返回列表