回答

收藏

渗透测试工具

技术问答 技术问答 77 人阅读 | 0 人回复 | 2023-09-13

我们有成百上千个使用asp,.net和java开发的网站,并且我们为外部机构付出了很多钱,以对我们的网站进行渗透测试以检查安全漏洞。是否有任何(好的)软件(收费或免费)可以做到这一点?
5 J# ]- z" Q5 m4 h2 a或..有什么技术文章可以帮助我开发此工具?
" r# E1 U8 d6 Y& m9 e' O+ e8 \                1 k+ x" u8 @5 i! b3 k# R
解决方案:0 ]; N. ?$ B8 v# @9 r
                ' {2 q! z3 v  e6 Q1 G" U

3 t9 d3 }8 l) H4 F! E9 }6 u
9 D+ ], i; d+ h                使用针对Web应用程序的自动测试工具,可以有两个不同的方向。, R; \6 O: m: B/ z* h. [6 {
首先,有 商用Web扫描仪 ,其中HP WebInspect和Rational
2 S) d/ e+ E. ?: A2 nAppScan是最受欢迎的两种。这些是“多合一”,“一劳永逸”工具,您可以在内部Windows桌面上下载并安装这些工具,然后提供URL来对您的网站进行爬网,扫描众所周知的漏洞(例如,
0 J$ Z0 n9 Y+ b* W0 _(点击Bugtraq),并探究跨站点脚本和SQL注入漏洞。
7 Z) Z5 k- a! b9 J/ p: ]其次, 有源代码扫描工具) `# z' g4 w6 |, ~0 M
,其中Coverity和Fortify可能是最著名的两个。这些工具是您安装在开发人员的桌面上的工具,用于处理Java或C#源代码,并寻找众所周知的不安全代码模式,例如不良的输入验证。
0 i+ v) c) E. `* d最后,还有 渗透测试工具 。到目前为止,安全专家中最受欢迎的Web应用程序渗透测试工具是Burp0 W- E* w0 a1 G7 C
Suite,您可以在http://www.portswigger.net/proxy上找到它。其他包括Spike
! v% S/ r  w1 t- oProxy和OWASP' r0 k5 H$ r# ~% x, @% W1 N$ J
WebScarab。同样,您将其安装在内部Windows桌面上。它将作为HTTP代理运行,您将浏览器指向它。在记录您的操作的同时,您将像普通用户一样使用应用程序。然后,您可以返回到每个页面或HTTP操作,并针对安全问题进行探测。# I1 V  F  j* f7 Q2 }9 b( M
在复杂的环境中,尤其是在考虑自己动手做DIY时, 我强烈建议您使用渗透测试工具 。原因如下:3 H+ S* W' d8 A7 ~# ~5 g& J
商用网络扫描仪提供了很多“广度”,同时还提供了出色的报告功能。然而:! F5 I' _6 O6 S, x. S* ^

0 m# i9 X  T: o3 z3 ]( _, g他们倾向于错过事情,因为每个应用程序都是不同的。% c" M9 C4 K4 L

" ^* ^1 G% o4 P9 u它们很昂贵(WebInspect开始于千分之十)。
6 C4 q: V4 B6 {3 k5 L
5 B' j% D9 n7 b' X您需要为不需要的东西付费(例如90年代已知的不良CGI数据库)。
( `6 A( e% }7 h& c. W
) n3 G8 N7 _6 G& v( T$ j它们很难自定义。
* }. ]( Z/ y8 Q$ Z* i! N; E8 i4 f% K% L6 B/ b
它们会产生嘈杂的结果。
1 t/ O& \# }( O. t$ t
: o: z  m! N$ _% I
+ |" s: [) H0 T) |4 i: l& t8 d# G
源代码扫描程序比Web扫描程序更彻底。然而:
! i! ~% h+ x9 m( u+ W: }
. j1 u" m3 V. G它们比网络扫描仪还要贵。
; R7 n. r8 R$ B1 p& h" v
* i: G& y" Y# S它们需要源代码才能运行。
8 P! p! T4 C: v) P0 z% n# q
4 I$ _4 W; k! q为了有效,它们通常需要您注释源代码(例如,选择输入路径)。
! C) w8 q1 t" q* e& D7 ?! Z8 g" w4 `# g  a9 f6 t6 \
他们倾向于产生假阳性。  Y9 Q' `) l+ E' T9 U3 V

% S& z( U# [7 {8 i/ N5 J
8 x6 X* \7 _. N5 C
商业扫描仪和源代码扫描仪都具有成为架子器的坏习惯。更糟糕的是,即使它们有效,其成本也可以与咨询公司审核1或2个完整应用程序相提并论;如果您信任您的顾问,则可以保证他们从工具中获得更好的结果。
0 ^% t' e* J) P: v9 R) y渗透测试工具也有缺点:9 h8 {# C1 J* @' H/ V; n& ~% T/ f
8 b+ k8 ^9 ]) p
它们比一劳永逸的商用扫描仪难用得多。
3 n  j' l$ [9 q2 f5 L
% f# X& Y, H, K% i. g他们承担了一些有关Web应用程序漏洞的专业知识—您必须知道要查找的内容。$ C6 n* L4 q3 a( M5 ]" M
( I. B: K0 n2 T& x4 S( [! L
他们很少或没有正式报告。
. _; E$ c8 R* x# o# ?- C& M: r8 A! i2 V4 o$ @" p( G% A

$ W, ]/ B8 E3 X' q2 d8 Y% c2 `另一方面:- ]8 _0 [% O5 L' E( R7 G% \
6 J1 s' m! Z* i- z
它们便宜很多,便宜得多-Burp Suite仅售99EU,并提供免费版本。
; o! [3 B% n" S/ {2 T( g! k; p9 R$ j/ F, c6 M$ N) \! v
它们很容易自定义并添加到测试工作流程中。0 r* A- A9 J8 `, _) M
* c' v( g5 M+ G/ a8 w) s. d! B
它们更好地帮助您从内部“了解”您的应用程序。  C0 O1 U; f+ H* g

6 N2 P; X3 ^% C, s
* k5 s+ [" a' g2 s/ M) c
您可以使用针对基本Web应用程序的笔测试工具进行以下操作:" T1 L& u; f$ F, _
[ol]
5 [/ }7 C: X- \, {& E8 O0 G7 f通过代理登录到应用程序
  [8 y+ C* }5 m# s
) [+ f. O! _% f& ^: P创建应用程序主要功能区域的“命中列表”,并分别执行一次。- _  v/ |( \* W% ]9 G: ^

+ Q) X' H+ G5 @; Q9 i在笔测应用程序中使用“蜘蛛”工具查找应用程序中的所有页面,动作和处理程序。
3 u7 J* M' c8 H2 f  n9 v' V
3 |0 U% {6 B  a4 A$ V对于蜘蛛发现的每个动态页面和每个HTML表单,请使用“模糊器”工具(Burp称其为“入侵者”)来使用无效输入来执行每个参数。大多数模糊测试工具都附带基本的测试字符串,其中包括:
& g: a$ q! e: H4 u
$ f+ |# L$ E9 f5 R: Q( ^2 y5 K# w  @SQL元字符
1 ?! x% a6 D* d: F; p7 P/ _2 y! _+ z
HTML / Java转义符和元字符. L& O2 L; H% C" [3 F  _( U7 }; J
- w* f/ n6 S6 ?8 q/ B$ I6 s
这些的国际化变体规避输入过滤器: ^8 t) g  ^+ {0 k# w( R4 k/ K4 _

& S1 N- @, g% g# O1 e( o众所周知的默认表单字段名称和值
3 F5 f0 M3 B2 D) A
$ o# l! a+ F% b3 n( W" _众所周知的目录名称,文件名和处理程序动词0 l9 s% R: y/ Q& Z4 _
% k; \+ h4 t& k/ p( I

( W8 b- @. g% T0 G. ~  X. ]8 g/ m2 m花几个小时来过滤产生的错误(一种形式的典型模糊测试可能会生成1000个错误),以寻找可疑的响应。- w. H9 V3 L2 Q3 U3 x

& L- b6 q. w7 J0 i4 m; Q: r' w[/ol]& a8 |7 i: c( f' S0 l
这是一种劳动密集型的“裸机”方法。但是,当您的公司拥有实际的应用程序时,裸机方法便会奏效,因为您可以使用它来构建回归测试套件,该套件将在每个应用程序的每个开发周期中像发条一样运行。这是一个胜利,原因有很多:! n( c. ]9 v" X" b% i6 d

" v+ k# G2 F: @6 o$ m每个应用程序的安全测试将花费可预测的时间和资源,这使您可以预算和分类。' {  \- b2 z0 ^0 ?9 ]' J3 n

. F! @4 ~. x5 L: J# l! G( D; ?, L" @因为您的测试将针对您的应用程序进行调整,所以您的团队将获得最大程度的准确和彻底的结果。
( f; b8 k2 \0 S3 C7 j% |; P5 ^# ]
  D- O. X. p+ j' \它的成本将低于商用扫描仪,也将低于顾问。
/ ], E% r0 [% u4 l1 P; ?, Y5 r. T0 r. U  @3 n4 w5 o
7 Q0 J5 }7 n9 K, E) v& c
当然,如果您走这条路,基本上就是在将自己变成公司的安全顾问。我不认为这是一件坏事。如果您不想要这些专业知识,WebInspect或Fortify不会为您提供任何帮助。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则