?登录|注册
?
?
沉底的石头
?目录视图
?摘要视图
?订阅
【免费公开课】Android APP开发之真机调试环境实现有奖试读—漫话程序员面试求职、升职加薪、创业与生活
AppScan扫描建议
2014-09-10 14:56 6270人阅读评论(0) 收藏举报
分类:
系统安全(4)
1.1 AppScan扫描建议
若干问题的补救方法在于对用户输入进行清理。
通过验证用户输入未包含危险字符,便可能防止恶意的用户导致应用程序执行计划外的任务,例如:启动任意 SQL 查询、嵌入将在客户端执行的 Javascript 代码、运行各种操作系统命令,等等。
建议过滤出所有以下字符:
[1] |(竖线符号)
[2] & (& 符号)
[3];(分号)
[4] $(美元符号)
[5] %(百分比符号)
[6] @(at 符号)
[7] '(单引号)
[8] "(引号)
[9] \'(反斜杠转义单引号)
[10] \"(反斜杠转义引号)
[11] <>(尖括号)
[12] ()(括号)
[13] +(加号)
[14] CR(回车符,ASCII0x0d)
[15] LF(换行,ASCII0x0a)
[16] ,(逗号)
[17] \(反斜杠)
以下部分描述各种问题、问题的修订建议以及可能触发这些问题的危险字符:SQL 注入和 SQL 盲注:
A. 确保用户输入的值和类型(如 Integer、Date 等)有效,且符合应用程序预期。
B. 利用存储过程,将数据访问抽象化,让用户不直接访问表或视图。当使用存储过程时,请利用 ADO 命令对象来实施它们,以强化变量类型。
C. 清理输入以排除上下文更改符号,例如:
[1] '(单引号)
[2] "(引号)
[3] \'(反斜线转义单引号)
[4] \"(反斜杠转义引号)
[5] )(结束括号)
[6] ;(分号)
跨站点脚本编制:
A. 清理用户输入,并过滤出 JavaScript 代码。我们建议您过滤下列字符:
[1] <>(尖括号)
[2] "(引号)
[3] '(单引号)
[4] %(百分比符号)
[5] ;(分号)
[6] ()(括号)
[7] &(& 符号)
[8] +(加号)
B. 如果要修订 <%00script> 变体,请参阅 MS 文章 821349
C. 对于 UTF-7 攻击: [-] 可能的话,建议您施行特定字符集编码(使用
'Content-Type' 头或 标记)。
HTTP 响应分割:清理用户输入(至少是稍后嵌入在 HTTP 响应中的输入)。请确保输入未包含恶意的字符,例如:
[1] CR(回车符,ASCII0x0d)
[2] LF(换行,ASCII0x0a)远程命令执行:清理输入以排除对执行操作系统命令有意义的符号,例如:
[1] |(竖线符号)
[2] & (& 符号)
[3];(分号)
执行 shell 命令:
A. 绝不将未检查的用户输入传递给 eval()、open()、sysopen()、system() 之类的 Perl 命令。
B. 确保输入未包含恶意的字符,例如:
[1] $(美元符号)
[2] %(百分比符号)
[3] @(at 符号)
XPath 注入:清理输入以排除上下文更改符号,例如:
[1] '(单引号)
[2] "(引号)等
LDAP 注入:
A. 使用正面验证。字母数字过滤(A..Z,a..z,0..9)适合大部分 LDAP 查询。
B. 应该过滤出或进行转义的特殊 LDAP 字符:
[1] 在字符串开头的空格或“#”字符
[2] 在字符串结尾的空格字符
[3] ,(逗号)
[4] +(加号)
[5] "(引号)
[6] \(反斜杠)
[7] <>(尖括号)
[8] ;(分号)
[9] ()(括号)
MX 注入:
应该过滤出特殊 MX 字符:
[1] CR(回车符,ASCII0x0d)
[2] LF(换行,ASCII0x0a)记录伪造:
应该过滤出特殊记录字符:
[1] CR(回车符,ASCII0x0d)
[2] LF(换行,ASCII0x0a)
[3] BS(退格,ASCII0x08)
ORM 注入:
A. 确保用户输入的值和类型(如 Integer、Date 等)有效,且符合应用程序预期。
B. 利用存储过程,将数据访问抽象化,让用户不直接访问表或视图。
C. 使用参数化查询 API
D. 清理输入以排除上下文更改符号,例如: (*):
[1] '(单引号)
[2] "(引号)
[3] \'(反斜线转义单引号)
[4] \"(反斜杠转义引号)
[5] )(结束括号)
[6] ;(分号)
1.2 应用程序解决方案
1、我们为了调试方便,在页面上会抛出数据库异常信息,如果入侵工具获取了这些信息,就可以获取系统的一些配置信息,如web系统框架、采用的数据库等,从而找出系统漏洞。所以不要在页面上抛出异常的详细信息,这些信息对客户并没有用,只是方便技术人员调试罢了,处理方法是在异常处理页面把打印异常代码删除即可;
2、新建一个过滤器,通过过滤器过滤SQL注入特殊字符,配置成功后,重启服务,用Appsan工具扫描,漏洞得到解决,通过过滤器可以解决SQL注入、跨站点脚本编制及通过框架钓鱼等问题,具体实现方式如下:
1、在web.xml文件中配置过滤器
2、过滤器过滤代码
public class InjectFilter extends IsmpServletFilter {
private String failPage ="/loginout.jsp";//发生注入时,跳转页面
publicvoid doFilter(ServletRequest request,ServletResponse response,
FilterChain filterchain)throws IOException, ServletException {
//判断是否有注入攻击字符
HttpServletRequest req = (HttpServletRequest)request;
Stringinj = injectInput(req);
if(!inj.equals("")) {
request.getRequestDispatcher(failPage).forward (request,response);
return;
} else {
// 传递控制到下一个过滤器
filterchain.doFilter(request,response);
}
}
/**
* 判断request中是否含有注入攻击字符
* @param request
* @return
*/
public String injectInput(ServletRequest request) {
Enumeration e =request.getParameterNames();
String attributeName;
String attributeValues[];
String inj = "";
while (e.hasMoreElements()) {
attributeName= (String)e.nextElement();
//不对密码信息进行过滤,一般密码中可以包含特殊字符
if(attributeName.equals("userPassword")||attributeName. equals("confirmPassword")||attributeName.equals("PASSWORD")
||attributeName.equals("password")||attributeNam e.equals("PASSWORD2")||attributeName.equals("valiPassword")){
continue;
}
attributeValues=
request.getParameterValues(attributeName);
for(int i = 0; i < attributeValues.length; i++) {
if(attributeValues[i]==null||attributeValues[i].equals(""))
continue;
inj= injectChar(attributeValues[i]);
if(!inj.equals("")) {
return inj;
}
}
}
return inj;
}
/**
* 判断字符串中是否含有注入攻击字符
* @param str
* @return
*/
public String injectChar(String str) {
String inj_str = "\" ) \' * %";
String inj_stra[] = inj_str.split(" ");
for (int i = 0 ; i < inj_stra.length ; i++ )
{
if (str.indexOf(inj_stra[i])>=0)
{
return inj_stra[i];
}
}
return "";
}
}
2 会话标识未更新
2.1 会话标识未更新概述
“会话固定”是一种攻击技术,会强制用户的会话标识变成显式值。固定会话标识值的技术有许多种,会随着目标Web 站点的功能而不同。从利用“跨站点脚本编制”到向Web 站点密集发出先前生成的 HTTP 请求,都在这些技术范围内。用户的会话标识固定之后,攻击者会等待用户登录,然后利用预定义的会话标识值来假定用户的联机身份。
一般而言,对于标识值的会话管理系统有两种类型。第一种类型是“宽容”系统,可让 Web 浏览器指定任何标识。第二种类型是“严格”系统,只接受服务器端生成的值。当使用宽容系统时,不需要联系 Web 站点,便可以维护任何会话标识。在严格系统中,攻击者需要维护“陷阱会话”并且必须定期联系 Web 站点,才能防止闲置超时。对于会话固定,倘若没有活动保护,使用会话来识别已认证的用户的任何 Web 站点都可能受到攻击。使用会话标识的 Web 站点通常都是基于cookie 的站点,但也会使用 URL 和隐藏的表单字段。不幸的是,基于 cookie 的会话最容易受到攻击。目前已识别的大多数攻击方法都是针对cookie 的固定。相对于在用户登录 Web 站点之后,再窃取用户的会话标识,会话固定提供的机会多得多。
在用户登录之前,攻击的活动部分便已启动。
会话固定攻击过程通常由三个步骤组成:
1) 安装会话
攻击者针对目标 Web 站点设下“陷阱会话”,并获取这个会话的标识,攻击者也可以选择攻击中所用的任意会话标识。在某些情况下,必须反复联系 Web 站点,才能维护确定好的陷阱会话值。
2) 固定会话
攻击者将陷阱会话值引进用户的浏览器中,固定用户的会话标识。
3) 进入会话
用户登录目标 Web 站点之后,当使用固定会话标识值时,攻击者便可加以接管。”
2.2 安全风险及原因分析
高风险漏洞,可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务
原因:Web 应用程序编程或配置不安全
2.3 AppScan扫描建议
始终生成新的会话,供用户成功认证时登录。防止用户操纵会话标识。
请勿接受用户浏览器登录时所提供的会话标识
2.4 应用程序解决方案
会话标识未更新,Appscan给出的描述是建议用户每次登录时需使用新的会话标识。应用程序实现上就是在登录模块,添加以下代码,即用户登录后,重新生成会话。
HttpSession session = request.getSession(false);
if(session!=null){//让cookie过期
session.invalidate();
Cookie cookie = request.getCookies()[0];//获取cookie
cookie.setMaxAge(0);//让cookie过期
}
request.getSession(true);//生成新会话
经过测试,这段代码只在weblogic和tomcat下才有效,在公司中间件webspeed 及jboss6.0下问题都依然存在,但从扫描的结果信息分析看,漏洞已经解决,分析判断应该只是session处理机制不同,AppScan工具仍认为存在漏洞风险。在与电信沟通中我们存在一个经验教训大家一定要吸取,不能过渡迷信流行的自动化测试工具,尤其是对于Appscan这种判断防御行为的复杂软件,仅靠有限的规则设置就当做是web安全的唯一标准这显然不太合理,这种情况一定要与测试方沟通解释。
另一方面,对于公司的产品webspeed,也想提点建议,商务项目采用公司的产品为公司节约了不少成本,但是我们产品后续升级维护也必须重视起来,当确认出是webspeed本身问题后,联系vasg相关人员进行协调解决,根本没有非常了解该产品技术人员支持,只是一个刚入职的同事在配合测试。调试了一周时间仍不能解决,最后只能作为一个遗留问题搁置。公司一直在向产品化转变,但是自身的产品维护、升级、管理仍然需要改进。
3 已解密登录请求
3.1 已解密登录请求概述
在应用程序测试过程中,检测到将未加密的登录请求发送到服务器。由于登录过程所用的部分输入字段(例如:用户名、密码、电子邮件地址、社会保险号码,等等)是个人敏感信息,建议通过加密连接(如 SSL)将其发送到服务器。任何以明文传给服务器的信息都可能被窃,稍后可用来电子欺骗身份或伪装用户。此外,若干隐私权法规指出,用户凭证之类的敏感信息一律以加密方式传给网站。
3.2 安全风险及原因分析
安全风险中,可能会窃取诸如用户名和密码等未经加密即发送了的用户登录信息原因:诸如用户名、密码和信用卡号之类的敏感输入字段未经加密即进行了传递
3.3 AppScan扫描建议
1. 确保所有登录请求都以加密方式发送到服务器。
2. 请确保敏感信息,例如:
- 用户名
- 密码
- 社会保险号码
- 信用卡号码
- 驾照号码
- 电子邮件地址
- 电话号码
- 邮政编码
一律以加密方式传给服务器。
3.4 应用程序解决方案
已解密的登录请求,要求就是数据要加密传输。最简单有效的解决方式采用SSL加密协议传输,但是由于EMA服务管理平台业务的特殊性,采用SSL加密方式对现有的业务影响太大,所以最终没有采用此种方式解决该问题,但个人在进行测试过程中也尝试在tomcat和 jboss下SSL方式配置,写下来供参考。
Jboss内核也是tomcat,所以两者配置基本都是一样,都是在生成证书文件后,在service.xml 进行配置:
1. 进入到cmd 进入到jdk bin目录下执行keytool-genkey -alias tomcat -keyalg RSA -keystore webspeed.keystore 生成证书
2. 在service.xml配置SSL
maxThreads="150"minSpareThreads="25" maxSpareThreads="75" enableLookups="false"disableUploadTimeou t="true" acceptCount="100"scheme="https" secure="true" clientAuth="false"sslProtocol="TLS" keystoreFile="C:\tomcat-5.5.26\conf\websp eed.keystore" keystorePass="1111aaaa"/> 这样配置后虽然可以通过https 访问,但仍然还可以通过8080使用普通的http 访问,所以还必须禁止普通模式登录。所以还得在web.xml 添加配置。 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 应注意,由于项目的一些组件无法通过https ,因此url-pattern 字段只对.jsp 和.action 进行了限制,如果不做特定限制,则系统默认是全部使用https 传输。而且上述设置一旦在某个工程中出现,那么当前tomcat 将全局采用这一配置。 4 跨站点请求伪造 4.1 跨站点请求伪造概述 “跨站点伪造请求(CSRF)”攻击可让黑客以受害者的名义在易受攻击的站点上运行操作。当易受攻击的站点未适当验证请求来源时,便可能出现这个攻 击。这个漏洞的严重性取决于受影响的应用程序的功能,例如,对搜索页面的 CSRF 攻击,严重性低于对转帐页面或概要更新页面的 CSRF 攻击。 这项攻击的执行方式,是强迫受害者的浏览器向易受攻击的站点发出 HTTP 请求。如果用户目前已登录受害者站点,请求会自动使用用户的凭证(如会话 Cookie、用户的 IP 地址,以及其他浏览器认证方法)。攻击者利用这个方法来伪造受害者的身份,再代替他来提交操作。换句话来说,易受攻击的站点未采取适当措施来验证用户实际是否想执行特定操作。 强迫受害者发送非预期的请求,方法有许多种: - 通过电子邮件向受害者发送易受攻击应用程序的恶意链接。 - 在黑客的 Web 页面上,放置一个易受攻击的 Web 站点的热链接(如图像或帧)。 - 在公共论坛中,张贴易受攻击站点的链接。 - 利用站点(或另一个站点)的“跨站点脚本编制”或“链接注入”漏洞,将浏览器自动重定向到易受攻击的站点。 如果攻击者利用易受攻击的站点本身的“链接注入”漏洞,可以增加用户通过站点认证的可能性,进而增加攻击成功的可能性。 例如,攻击者可以利用上述任何选项来诱惑受害者查看含有下列条目的页面: src="http://bank/transfer?destination=John&money=1000"style='visibili ty:hidden'> 这会使受害者的浏览器自动请求 URL 及浏览器的当前凭证。如果这个银行业站点易受到 CSRF 攻击,它会根据应用程序逻辑,从受害者的帐户中,将 1000 美元转账到 John 的银行帐户。“跨站点伪造请求”攻击也称为 CSRF(发音为 C-Serf)、XSRF、“跨站点伪造引用”、“单键攻击”以及“会话骑乘”。 您可以利用下列方式来验证您的应用程序是否易受到 CSRF 攻击: [1] 检查易受攻击的链接/请求是否未包括攻击者难以猜中的参数 [2] 检查易受攻击的链接/请求是否会执行只应自愿执行的操作 含有用户在不知不觉中提交的请求所能直接访问的敏感操作的应用程序,被视为很容易遭受 CSRF 攻击。CSRF 也可能出现在登录页面和注销页面上。由于攻击者可以伪造来自受害者的连续注销请求,因此 CSRF 可能导致服务拒绝。在登录页面上,CSRF 可以允许攻击者使用包含攻击者用户名和密码的伪造请求来将客户机登录到攻击者的账户中。登录 CSRF 攻击会带有严重的后果,这取决于其他站点行为。例如,如果站点保留了用户操作的历史记录(例如搜索历史记录),那么攻击者将能够在易受攻击的站点上查看受害者之前执行的操作。 4.2 安全风险及原因分析 安全风险中,可能会窃取或操纵客户会话和cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务 原因:应用程序使用的认证方法不充分 4.3 AppScan扫描建议 如果要避免 CSRF 攻击,每个请求都应该包含唯一标识,它是攻击者所无法猜测的参数。建议的选项之一是添加取自会话 cookie 的会话标识,使它成为一个参数。服务器必须检查这个参数是否符合会话cookie,若不符合,便废弃请求。攻击者无法猜测这个参数的原因是应用于 cookie 的“同源策略”,因此,攻击者无法伪造一个虚假的请求,让服务器误以为真。攻击者难以猜测且无法访问的任何秘密(也就是无法从其他域访问),都可用来替换会话标识。这可以防止攻击者设计看似有效的请求。 4.4 应用程序解决方案 已解密的登录请求,要求就是数据要加密传输。最简单有效的解决方式采用SSL加密协议传输,但是由于EMA服务管理平台业务的特殊性,采用SSL加密 方式对现有的业务影响太大,所以最终没有采用此种方式解决该问题,但个人在进行测试过程中也尝试在tomcat和 jboss下SSL方式配置,写下来供参考。 5 不充分账户封 锁 5.1 不充分账户封锁概述 蛮力攻击是指恶意用户发送大量可能的密码和/或用户名以访问应用程序的尝试。由于该技术包含大量登录尝试,未限制允许的错误登录请求次数的应用程序很容易遭到这类攻击。因此,强烈建议您对帐户限制允许的错误登录尝试次数,超过该次数,便锁定该帐户。样本利用: 下列请求说明密码猜测请求: http://site/login.asp?username=EXISTING_USERNAME& password=GUESSED_PASSWORD如果站点在若干次错误尝试之后并不锁定测试的 帐户,攻击者最终可能会发现帐户密码,并使用它来假冒帐户的合法用户。5.2 安全风险及原因分析 安全风险高,可能会升级用户特权并通过Web 应用程序获取管理许可权 原因:Web 应用程序编程或配置不安全 5.3 AppScan扫描建议 请确定允许的登录尝试次数(通常是 3-5 次),确保超出允许的尝试次数之后,便锁定帐户。为了避免真正的用户因帐户被锁定而致电支持人员的麻烦,可以仅临时性暂挂帐户活动,并在特定时间段之后启用帐户。帐户锁定大约 10 分钟,通常便足以阻止蛮力攻击。 5.4 应用程序解决方案 根据扫描建议,web应用程序设定允许登录尝试次数,登录连续失败超过设定次数,就锁定用户,失败次数灵活配置。 在用户登录时进行验证: if(!encrypter.encrypt(userPassword).equalsIgnoreCase( user.getLOGIN_PASSWD()== null ? "" : user.getLOGIN_PASSWD())) { //更新此用户登录失败次数 this.updateLoginFailTimes(userCode); //如果用户连续登录失败次数超过配置值则将其锁定 int loginLockTimes=this.getLoginLockTimes(); if(this.getLoginFailTimes(userCode)>=loginLockTi mes){ this.lockUser(userCode); } thrownew MySecurityException("密码不正确! 用户:" + userCode); } 6 启用不安全HTTP方法 6.1 启用不安全HTTP方法概述 似乎 Web 服务器配置成允许下列其中一个(或多个)HTTP 方法(动词): - DELETE - SEARCH - COPY - MOVE - PROPFIND - PROPPATCH - MKCOL - LOCK - UNLOCK 这些方法可能表示在服务器上启用了 WebDAV,可能允许未授权的用户对其进行利用。 6.2 安全风险及原因分析 安全风险中,可能会在 Web 服务器上上载、修改或删除 Web 页面、脚本和文件原因:Web 服务器或应用程序服务器是以不安全的方式配置的 6.3 AppScan扫描建议 如果服务器不需要支持 WebDAV,请务必禁用它,或禁止不必要的 HTTP 方法(动词)。 6.4 应用程序解决方案 修改web工程中web.xml,增加安全配置信息,禁用不必要HTTP方法 -->。 7 HTTP注释敏感信息 7.1 HTTP注释敏感信息概述 很多Web 应用程序程序员使用 HTML 注释,以在需要时帮助调试应用程序。尽管添加常规注释有助于调试应用程序,但一些程序员往往会遗留重要数据(例如:与 Web 应用程序相关的文件名、旧的链接或原非供用户浏览的链接、旧的代码片段等)。 7.2 安全风险及原因分析 安全风险低,能会收集有关 Web 应用程序的敏感信息,如用户名、密码、机器名和/或敏感文件位置 原因:程序员在 Web 页面上留下调试信息 7.3 AppScan扫描建议 [1] 请勿在 HTML 注释中遗留任何重要信息(如文件名或文件路径)。 [2] 从生产站点注释中除去以前(或未来)站点链接的跟踪信息。 [3] 避免在 HTML 注释中放置敏感信息。 [4] 确保 HTML 注释不包括源代码片段。 [5] 确保程序员没有遗留重要信息。 。 7.4 应用程序解决方案 1.appscan是一个web应用安全测试工具。 2.web攻击的类型比如: ●跨站脚本攻击:为了搜集用户信息,攻击者通常会在有漏洞的程序中插 入 JavaScript、VBScript、 ActiveX或Flash以欺骗用户,达到盗取用 户帐户,修改用户设置,盗取/污染cookie,做虚假广告等目的。如注入 一个JavaScript弹出式的警告框:alert(1) ●消息泄露:web应用程序在处理用户错误请求时,程序在抛出异常的时候 给出了比较详细的内部错误信息,而暴露了不应该显示的执行细节,如 文件路径、数据库信息、中间件信息、ip地址等 ●SQL注入:将SQL命令人为地输入到URL、表格域、或者其他动态生成的 SQL查询语句的输入中,完成SQL攻击。以达到绕过认证、添加、删除、修改数据等目的。如sql查询代码为: strSQL = "SELECT * FROM users WHERE (name = '"+ us erName + "') and (pw = '"+ passWord+"');" 改为: strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');" 达到无账号密码,亦可登录网站。 3.appscan使用步骤:总的来说,就是指定要扫描的URL-选择测试策略-执行 扫描探索-执行测试-结果分析。 1)选择测试策略,文件-新建-选择一个模板“常规扫描” 2)出现扫描配置向导页面,这里是选择“AppScan(自动或手动)“,如图: 3)输入扫描项目目标URL,如果只想扫描指定URL目录下链接的话把“仅扫 描此目录中或目录下的链接”勾选上。 4)点击”下一步“,选择认证模式,出现登录管理的页面,这是因为对于 大部分网站,需要用户名和密码登录进去才可以查看许多内容,未登录的情况下就只可以访问部分页面。这里我选择的第一个,需要点击右边的记录进入浏览器手动登录,让它记录下这个登录信息。 IBM Appscan常见问题及解决方案 最近为了网站的安全测试,接触了IBM提供的一款工具--Appscan,可是好不容安装好后,在运行过程中问题也不断冒出,查询了一些资料,将遇到的问题及解决的方案记录如下: 1、"AppScan虚拟内存不足"错误从而停止工作 问题: 一旦达到内存限制,IBM Rational AppScan将会停止工作并显示错误消息:"AppScan内存需求已超过预定义的限制"。 症状: IBM Rational AppScan因为内存使用量增加从而停止扫描。如果强制选择继续扫描的话,Rational AppScan可能会发生崩溃并丢失所有的工作数据。 原因: 产品使用超出限度的内存量。 解决方案: 为了防止Rational AppScan因为超过内存限度而停止工作,可以进行相应的设定使Rational AppScan当内存使用量相对过大时自动重新启动。这样当扫描因为剩余的虚拟内存量过低从而被迫停止时,Rational AppScan会监测系统注册表的设定来决定是否重新启动。 Rational AppScan 7.7,7.8和7.9 自Rational AppScan 7.7版本以上,在主画面中选择菜单[工具]->[选项]->[高级]页面。 ·检索PerformanceMonitor.RestartOnOutOfMemory属性并将其设定为布尔值True。 还可以使用下面的属性 ·检索PerformanceMonitor\minScanTimeDurationForRestart属性并设定适当的DWORD双字节数值,该数值是指定Rational AppScan在遇到内存问题之前应当运行的分钟数。 2、IBM Appscan使用时C盘空间不足的解决办法 症状: IBM Appscan使用时C盘空间不足 原因: Appscan默认会将其temp 文件夹设置为:c:\documents and Settings\All Users\Application Data\IBM\Rational AppScan\temp 当扫描的站点信息很多时,该文件夹大小会剧增,由于C盘空间不足而导致出现“磁盘空间不足”错误而退出。 解决方案: 建立如下环境变量:APPSCAN_TEMP,将其值设置为足够空间的temp文件夹 注意: ①.支持本地磁盘 ②.路径中不能包含中文/空格/特殊字符 ③、IBM Appscan使用时每隔一小时保存一次 这个其实并不能算问题,不过在目标非常大,扫描时间非常长的时候,这个问题会极大影响扫描速度。 解决方案: 在“工具”->“选项”中设置下自动保存时间,默认时间是“60分钟”,可以根据自己需要调节。 如何使用AppScan扫描大型网站 经常有客户抱怨,说AppScan无法扫描大型的网站,或者是扫描接近完成时候无法保存,甚至保存后的结果文件下次无法打开?;同时大家又都很奇怪,作为一款业界出名的工具,如此的脆弱?是配置使用不当还是自己不太了解呢?我们今天就一起来讨论下AppScan扫描大型网站会遇到的问题以及应对。 AppScan工作原理和网站规模讨论 1)网站规模 2)AppScan的工作原理 3)扫描规模:AppScan的扫描能力收到哪些因素的影响? 好的,对AppScan工具和网站的特点有了了解以后,我们来讨论如何更有效地使用AppScan来进行安全扫描,特别是扫描大型网站? 使用AppScan来进行扫描 我们按照PDCA的方法论来进行规划和讨论;建议的AppScan使用步骤:PDCA: Plan,Do,check, Action and Analysis. 计划阶段:明确目的,进行策略性的选择和任务分解。 1)明确目的:选择合适的扫描策略 2)了解对象:首先进行探索,了解网站结构和规模 3)确定策略:进行对应的配置 a)按照目录进行扫描任务的分解 b)按照扫描策略进行扫描任务的分解 执行阶段:一边扫描一遍观察 4)进行扫描 5)先爬后扫(继续仅测试) 检查阶段(Check) 6)检查和调整配置 结果分析(Analysis) 7)对比结果 8)汇总结果(整合和过滤) 其他常见的AppScan配置: 1)扫描保存的间隔时间 2)内存使用量 3)临时文件的保存路径 4)AppScan的工作原理 AppScan其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的AppScan source edition,到针对WEB应用进行快速扫描的AppScan standard edition.以及进行安全管理和汇总整合的AppScan enterprise Edition等,我们经常说的AppScan就是指的桌面版本的AppScan,即AppScan standard edition.其安装在Windows操作系统上,可以对网站等WEB 应用进行自动化的应用安全扫描和测试。 来张AppScan的截图,用图表说话,更明确。 图表 1 AppScan标准版界面 请注意右上角,单击“扫描”下面的小三角,可以出现如下的三个选型“继续完全扫描”,“继续仅探索”,“继续仅测试“,有木有?什么意思?理解了这个地方,就理解了AppScan的工作原理,我们慢慢展开: 还没有正式开始,所以先不管“继续“,直接来讨论’完全扫描”,“仅探索”,“仅测试”三个名词: AppScan是对网站等WEB应用进行安全攻击,通过真刀真枪的攻击,来检查网站是否存在安全漏洞;既然是攻击,肯定要有明确的攻击对象吧,比如北约现在的对象就是卡扎菲上校还有他的军队。对网站来说,一个网站存在的页面,可能成千上万。每个页面也都可能存在多个字段(参数),比如一个登陆界面,至少要输入用户名和密码吧,这就是一个页面存在两个字段,你提交了用户名密码等登陆信息,网站总要有地方接受并且检查是否正确吧,这就可能存在一个新的检查页面。这里的每个页面的每个参数都可能存在安全漏洞,所有都是被攻击对象,都需要来检查。 APPSCAN扫描说明 安装Appscan之前,关闭所有打开的应用程序。点击安装文件,会出现安装向导,如果你还没有安装.Net framwork,Appscan安装过程会自动安装,并需要重新启动。按照向导的指示,可以很容易的完成安装.如果你使用的是默认许可,你将只允许扫描appscan中的测试网站。要扫描自己的网站,需要付费购买许可版本. 探索和测试阶段: 在我们开始扫描之前,让我们对Appscan的工作做一个了解.任何自动化扫描器都有两个目标:找出所有可用的链接和攻击寻找应用程序漏洞。 探索(Explore): 在探索阶段,Appscan试图遍历网站中所有可用的链接,并建立一个层次结构。它发出请求,并根据响应来判断哪里是一个漏洞的影响范围。例如,看到一个登陆页面,它会确定通过绕过注入来通过验证.在探索阶段不执行任何的攻击,只是确定测试方向.这个阶段通过发送的多个请求确定网站的结构和即将测试的漏洞范围。 测试(Test): 在测试阶段,Appscan通过攻击来测试应用中的漏洞.通过释放出的实际攻击的有效载荷,来确定在探索阶段建立的安全漏洞的情况.并根据风险的严重程度排名。 在测试阶段可能回发现网站的新链接,因此Appscan在探索和测试阶段完成之后会开始另一轮的扫描,并继续重复以上的过程,直到没有新的链接可以测试。扫描的次数也可以在用户的设置中配置. 1. 新建扫描 2. 点击完全扫描配置,弹出以下窗口。 选择环境定义,并对网站使用的web服务器,应用程序服务器,数据库服务器进行按网站的配置填写。完成后点确定,并再点扫描目标笛导下一步。弹出以下窗口。 针对大型网站的扫描,我们按照戴明环 PDCA 的方法论来进行规划和讨论,建议 AppScan 使用步骤:计划(Plan)、执行(Do)、检查(check)、分析(Analysis and Action)。 1.在计划阶段:明确目的,进行策略性的选择和任务分解。 明确目的:选择合适的扫描策略 了解对象:首先进行探索,了解网站结构和规模 确定策略:进行对应的配置 按照目录进行扫描任务的分解 按照扫描策略进行扫描任务的分解 2.执行阶段:一边扫描一遍观察 进行扫描 先爬后扫(继续仅测试) 3.检查阶段(Check) 检查和调整配置 4.结果分析(Analysis) 对比结果 汇总结果(整合和过滤) 下面我们针对每个阶段,进行具体的阐述。 准备阶段 AppScan 安装环境要求和检查 为了保证更好的扫描效果,安装 AppScan 的硬件建议配置如下: Rational AppScan 安装配置要求 硬件最低需求 处理器Pentium P4,2.4 GHz 内存2 GB RAM 磁盘空间30 GB 网络1 NIC 100 Mbps(具有已配置的 TCP/IP 的网络通信) 其中,处理器和内存建议越大越好,而磁盘空间,建议系统盘(一般是 C 盘)磁盘空间至少保留 10G,如果系统盘磁盘空间比较少,可以考虑把用户文件等保存在其他盘;如默认的用户文件是:C:\Documents and Settings\Administrator\My Documents\AppScan;可以修改为其他路径。该路径可以在菜单栏中依次选择工具 - 选项 - 一般 - 文件位置部分修改。 图 1. 设置文件保存路径 1.1跟我学IBM AppScan Web安全检测工具——如何应用AppScan软件工具进行安全检测(第1部分) 1.1.1新建和定义扫描配置 1、新建一个新的扫描 启动AppScan后可以在欢迎界面中点击“创建新的扫描”链接,或者选择“文件”菜单中的“新建”子菜单项目。 都将出现下面的“新建扫描”时所需要选择的模板对话框窗口,主要提供有如下类型的模板——常规扫描、快速且简单的扫描、综合扫描、基于参数的导航、WebSphere Commerce、WebSphere Portal、https://www.doczj.com/doc/8411045239.html,、Hacme Bank、WebGoat v5等。 当然,也可以在欢迎对话框界面中选中已经存在的扫描配置文件,从而重用原有的扫描配置结果。 将出现如下的加载信息 可以在此配置文件的基础上继续检测或者显示出以前的检测结果信息。 2、应用某个扫描模板 选择一个适合满足检测要求的扫描模板——在模板中包括已经定义好的扫描配置,选择一个模板后会出现配置向导——本示例选择“常规扫描”模板(使用默认模板)。然后将出现下面的“扫描配置向导”对话框。 扫描配置向导是AppScan工具的核心部分,使用设置向导可以简化检测的配置过程。目前,在本示例程序中没有下载安装“GSC Web Service记录器”组件,因此目前还不能对“Web Service”相关的程序进行扫描。如果在Web应用系统中涉及Web Service,则需要下 载安装“GSC Web Service记录器”组件。 在“扫描配置向导”对话框中选择扫描的类型,目前选择“Web应用程序扫描”类型选择项目。然后再点击“下一步”按钮,将出现下面的“URL和服务器”界面。 3、定义URL和服务器 在“URL和服务器”界面中,根据检测的需要进行相关的配置定义。 (1)Starting URL(扫描的起始网址) 此功能指定要扫描的起始网址,在大多数情况下,这将是该网站的登陆页面或者Web 应用系统的首页面。Rational AppScan 提供有测试站点(https://www.doczj.com/doc/8411045239.html,,而登录https://www.doczj.com/doc/8411045239.html, 站点的用户名和密码为:jsmith / Demo1234),但本示例选择“http://XXX.XX.XX.XXX:3030/”(XX考勤系统)作为检测的起始网址,并选择“仅扫描此目录中或目录下的链接”的选择框,从而可以限制只扫描目标Web应用系统所在的工作目录下的各个链接。 (2)Case Sensitive Path(区分大小写的路径) 如果待检测的服务器URL有大小写的区别,则需要选择此项。对大小写的区别取决于服务器的操作系统类型,在Linux/Unix系统中对URL的大小写是敏感的,而Windows是没有此特性的。本示例的检测目标Web应用系统是部署在Windows系统中的,因此不需要选中“区分大小写的路径”的选择项目。 (3)Additional Servers and Domains(其他服务器和域) 在扫描过程中,AppScan尝试抓取本Web应用系统上的所有链接。当它发现了一个链接指向不同的域(比如子站点等),它是不会进行扫描攻击的,除非在“Additional Servers and Domains”(其他服务器和域)中有指定。因此,通过指定该标签下的链接来告诉AppScan 继续扫描,即使它和URL是在不同的域下。 ?登录|注册 ? ? 沉底的石头 ?目录视图 ?摘要视图 ?订阅 【免费公开课】Android APP开发之真机调试环境实现有奖试读—漫话程序员面试求职、升职加薪、创业与生活 AppScan扫描建议 2014-09-10 14:56 6270人阅读评论(0) 收藏举报 分类: 系统安全(4) 1.1 AppScan扫描建议 若干问题的补救方法在于对用户输入进行清理。 通过验证用户输入未包含危险字符,便可能防止恶意的用户导致应用程序执行计划外的任务,例如:启动任意 SQL 查询、嵌入将在客户端执行的 Javascript 代码、运行各种操作系统命令,等等。 建议过滤出所有以下字符: [1] |(竖线符号) [2] & (& 符号) [3];(分号) [4] $(美元符号) [5] %(百分比符号) [6] @(at 符号) [7] '(单引号) [8] "(引号) [9] \'(反斜杠转义单引号) [10] \"(反斜杠转义引号) [11] <>(尖括号) [12] ()(括号) [13] +(加号) [14] CR(回车符,ASCII0x0d) [15] LF(换行,ASCII0x0a) [16] ,(逗号) [17] \(反斜杠) 以下部分描述各种问题、问题的修订建议以及可能触发这些问题的危险字符:SQL 注入和 SQL 盲注: A. 确保用户输入的值和类型(如 Integer、Date 等)有效,且符合应用程序预期。 B. 利用存储过程,将数据访问抽象化,让用户不直接访问表或视图。当使用存储过程时,请利用 ADO 命令对象来实施它们,以强化变量类型。 C. 清理输入以排除上下文更改符号,例如: [1] '(单引号) [2] "(引号) [3] \'(反斜线转义单引号) [4] \"(反斜杠转义引号) [5] )(结束括号) [6] ;(分号) 跨站点脚本编制: A. 清理用户输入,并过滤出 JavaScript 代码。我们建议您过滤下列字符: [1] <>(尖括号) [2] "(引号) [3] '(单引号) 目录 1.工具安装 (2) 1.1工具包 (2) 1.2安装步骤 (2) 2.安全扫描 (2) 2.1前提条件 (2) 2.2扫描设置 (2) 1.工具安装 1.1工具包 在服务器上拷贝最近的压缩包,到本地进行解压,压缩包中包含内容如下: 1.2安装步骤 1、先安装AppScan8.0_Setup.exe,再次安装8.0.0.3-AppScan_Setup.exe 2、拷贝patch.exe、Keygen.exe到Appscan 安装目录如:C:\Program Files\IBM\Rational AppScan 3、双击运行patch.exe 4、双击运行Keygen.exe,生成license.lic 5、拷贝生成的license.lic到Appscan目录下的license文件夹中,如:C:\Program Files\IBM\Rational AppScan\License 6、在开始-运行点击IBM Rational Appscan 8.0 启动安全扫描工具 2.安全扫描 2.1前提条件 扫描的软件是B/S结构,验证码去掉或者已经写死。扫描一般分为前后台扫描,开发提供安全扫描的地址URL,用户名和密码。 2.2扫描设置 1、打开工具,点击【创建新的扫描】-【常规扫描】-【下一步】 2、输入要扫描的URL地址,如图: 3、点击【下一步】,在弹出框中点击【记录】 4、在弹出的扫描界面输入用户名、密码、验证码,点击登录,登录成功点击退出 5、点击【完全扫描配置】弹出“扫描配置”界面,在【登录管理】中点击“详细信息”如图: 6、在“登录序列”中选中“会话中”点击右键,修改为:忽略 7、点击【环境定义】选择:web服务器、应用程序服务器、数据库类型、第三方组件(由当前系统环境结构进行选择),其他参数项参照如下如: 本文将介绍针对扫描结果的分析,也是一次完整的渗透测试必须经历的环节。 扫描开始的时候,AppScan会询问是否保存扫描结果,同时下方有进度条显示扫描的进度。 在扫描过程中,如果遇到任何连接问题或者其他任何问题,可以暂停扫描并在稍后继续进行。如之前讲的扫描包括两个阶段-探索、测试。AppScan中的Scan Expert和HP WebInspect中的建议选项卡类似。Scan Expert分析扫描的配置,然后针对变化给出配置建议,目的是为了更好的执行一次扫描,可以选择忽略或者执行这些建议。AppScan的窗口大概分三个模块。Application Links(应用链接),Security Issues(安全问题),and Analysis(分析)如下图所示: Application Links Pane(应用程序结构) 这一块主要显示网站的层次结构,基于URL和基于内容形式的文件夹和文件等都会在这里显示,在旁边的括号里显示的数字代表存在的漏洞或者安全问题。通过右键单击文件夹或者URL可以选择是否忽略扫描此节点。Dashboard窗格会根据漏洞严重程序,高中低列出网站存在的问题情况,一次Dashboard将反映一个应用程序的整体实力。Security Issues Pane(安全问题) 这个窗格主要显示应用程序中存在的漏洞的详细信息。针对每一个漏洞,列出了具体的参数。通过展开树形结构可以看到一个特定漏洞的具体情况,如下所示: 根据扫描的配置,AppScan会针对各种诸如SQL注入的关键问题,以及像邮件地址模式发现等低危害的漏洞进行扫描并标识出来,因为扫 描策略选择了默认,AppScan会展示出各种问题的扫描情况。右键单击某个特定的漏洞可以改变漏洞的严重等级为非脆弱,甚至可以删除。Analysis Pane(分析) 选择Security Issues窗格中的一个特定漏洞或者安全问题,会在Analysis窗格中看到针对此漏洞或者安全问题的四个方面:Issue information(问题信息),Advisory(咨询)、Fix Recommendation(修复建议), Request/Response(请求/相应). Issue information(安全问题信息) Issue information 标签下给出了选定的漏洞的详细信息,显示具体的URL和与之相关的安全风险。通过这个可以让安全分析师需要做什么,以及确认它是一个有效的发现。 Advisory(咨询) 在此选项卡,你可以找到问题的技术说明,受影响的产品,以及参考链接。 Fix Recommendation(修复建议) 本节中会提到解决一个特定问题所需要的步骤. Request/Response(请求/响应) 此标签显示发送给应用程序测试相关反应的具体请求的细节.在一个单一的测试过程中,根 据安全问题的严重性会不止发送一个请求.例如,检查SQL盲注漏洞,首先AppScan中发 送一个正常的请求,并记录响应。然后发送一个SQL注入参数,然后再记录响应.同时发送 另外一个请求,来判断条件,根据回显的不同,判断是否存在脆弱性漏洞。在此选项卡,有 以下一些标签.如图: Show in Browser(在浏览器显示),让你在浏览器看到相关请求的反应,比如在浏览器查看跨 十大web安全扫描工具 扫描程序可以在帮助造我们造就安全的Web站点上助一臂之力,也就是说在黑客“黑”你之前,先测试一下自己系统中的漏洞。 我们在此推荐10大Web漏洞扫描程序,供您参考。 1.Nikto 这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI,以及超过900个服务器版本,还有250多个服务器上的版本特定问题)进行全面的测试。其扫描项目和插件经常更新并且可以自动更新(如果需要的话)。 Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显。不过,如果你想试验一下(或者测试你的IDS系统),它也可以支持LibWhisker的反IDS方法。 不过,并非每一次检查都可以找出一个安全问题,虽然多数情况下是这样的。有一些项目是仅提供信息(“info only”)类型的检查,这种检查可以查找一些并不存在安全漏洞的项目,不过Web管理员或安全工程师们并不知道。这些项目通常都可以恰当地标记出来。为我们省去不少麻烦。 2. Paros proxy 这是一个对Web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,可以评估Web应用程序的漏洞。它支持动态地编辑/查看HTTP/HTTPS,从而改变cookies 和表单字段等项目。它包括一个Web通信记录程序,Web圈套程序(spider),hash 计算器,还有一个可以测试常见的Web应用程序攻击(如SQL注入式攻击和跨站脚本攻击)的扫描器。 3.WebScarab 它可以分析使用HTTP 和HTTPS协议进行通信的应用程序,WebScarab可以用最简单地形式记录它观察的会话,并允许操作人员以各种方式观查会话。如果你需要观察一个基于HTTP(S)应用程序的运行状态,那么WebScarabi就可以满足你这种需要。不管是帮助开发人员调试其它方面的难题,还是允许安全专业人员识别漏洞,它都是一款不错的工具。 4.WebInspect 这是一款强大的Web应用程序扫描程序。SPI Dynamics的这款应用程序安全评估工具有助于确认Web应用中已知的和未知的漏洞。它还可以检查一个Web服务器是否正确配置,并会尝试一些常见的Web攻击,如参数注入、跨站脚本、目录遍历攻击(directory traversal)等等。 5.Whisker/libwhisker Libwhisker是一个Perla模块,适合于HTTP测试。它可以针对许多已知的安全漏洞,测试HTTP服务器,特别是检测危险CGI的存在。Whisker是一个使用libwhisker的扫描程序。 6.Burpsuite 这是一个可以用于攻击Web应用程序的集成平台。Burp套件允许一个攻击者将人工的和自动的技术结合起来,以列举、分析、攻击Web应用程序,或利用这些程序的漏洞。各种各样的burp工具协同工作,共享信息,并允许将一种工具发现的漏洞形成另外一种工具的基础。 扫描程序可以在帮助造我们造就安全的Web站点上助一臂之力,也就是说在黑客“黑”你之前,先测试一下自己系统中的漏洞。我们在此推荐10大Web漏洞扫描程序,供您参考。 1. Nikto 这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI,以及超过900个服务器版本,还有250多个服务器上的版本特定问题)进行全面的测试。其扫描项目和插件经常更新并且可以自动更新(如果需要的话)。 Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显。不过,如果你想试验一下(或者测试你的IDS系统),它也可以支持LibWhisker的反IDS方法。 不过,并非每一次检查都可以找出一个安全问题,虽然多数情况下是这样的。有一些项目是仅提供信息(“info only” )类型的检查,这种检查可以查找一些并不存在安全漏洞的项目,不过Web管理员或安全工程师们并不知道。这些项目通常都可以恰当地标记出来。为我们省去不少麻烦。 2. Paros proxy 这是一个对Web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,可以评估Web应用程序的漏洞。它支持动态地编辑/查看HTTP/HTTPS,从而改变cookies 和表单字段等项目。它包括一个Web通信记录程序,Web圈套程序(spider),hash 计算器,还有一个可以测试常见的Web应用程序攻击(如SQL注入式攻击和跨站脚本攻击)的扫描器。 3. WebScarab 它可以分析使用HTTP 和HTTPS协议进行通信的应用程序,WebScarab可以用最简单地形式记录它观察的会话,并允许操作人员以各种方式观查会话。如果你需要观察一个基于HTTP(S)应用程序的运行状态,那么WebScarabi就可以满足你这种需要。不管是帮助开发人员调试其它方面的难题,还是允许安全专业人员识别漏洞,它都是一款不错的工具。 4. WebInspect 这是一款强大的Web应用程序扫描程序。SPI Dynamics的这款应用程序安全评估工具有助于确认Web应用中已知的和未知的漏洞。它还可以检查一个Web服务器是否正确配置,并会尝试一些常见的Web攻击,如参数注入、跨站脚本、目录遍历攻击(directory traversal)等等。 5. Whisker/libwhisker Libwhisker是一个Perla模块,适合于HTTP测试。它可以针对许多已知的安全漏洞,测试HTTP服务器,特别是检测危险CGI的存在。Whisker是一个使用libwhisker的扫描程序。 6. Burpsuite 这是一个可以用于攻击Web应用程序的集成平台。Burp套件允许一个攻击者将人工的和自 使用Appscan保障Web应用安全性 编写:梁建增 https://www.doczj.com/doc/8411045239.html, Appscan简介 IBM Rational AppScan Standard Edition 是一种自动化Web 应用程序安全性测试引擎,能够连续、自动地审查Web 应用程序、测试安全性问题,并生成包含修订建议的行动报告,简化补救过程。 IBM Rational AppScan Standard Edition 提供: 核心漏洞支持:包含W ASC 隐患分类中已识别的漏洞——如SQL 注入、跨站点脚本攻击和缓冲区溢出。 广泛的应用程序覆盖:包含集成Web 服务扫描和JavaScript 执行(包括Ajax)与解析。 自定义和可扩展功能:AppScan eXtension Framework 运行用户社区共享和构建开源插件。 高级补救建议:展示全面的任务清单,用于修订扫描过程中揭示的问题。 面向渗透测试人员的自动化功能:高级测试实用工具和Pyscan 框架作为手动测试的补充,提供更强大的力量和更高的效率。 法规遵从性报告:40 种开箱即用的遵从性报告,包括PCI Data Security Standard、ISO 17799 和ISO 27001 以及Basel II。 1.信息系统安全性概述 在进行软件安全性检测之前,首先我们应该具备一定的信息系统安全性的知识,在我们对整体范围的信息系统安全性保障有一定认识的前提下,才能决定我们能更好的保障该环境下的软件应用安全性。 计算机信息系统是由计算机及其相关的和配套的设备、设施(含网络)构成的,按照一定的应用目标和规则对信息进行采集、加工、存储、传输、检索等处理的人机系统。从而我们可以得知计算机信息系统的安全性是一个相当复杂且广的课题,通常情况下,计算机信息系统都是以应用性为主题,以实现不同用户群的相应需求实现。而应用性的实现通常是采用应用软件而达成。典型的计算机信息系统,包括了机房环境,主机设备,网络交换设备,传输通信媒介,软件系统以及其他相关硬软件,而由于当前信息系统网络的连通性,给安全性问题带来了更大的挑战。 在当今的时代,Internet(因特网)已经成为一个非常重要的基础平台,很多企业都将应用架设在该平台上,为客户提供更为方便、快捷的服务支持。这些应用在功能和性能上,都在不断的完善和提高,然而在非常重要的安全性上,却没有得到足够的重视。由于网络技术日趋成熟,黑客们也将注意力从以往对网络服务器的攻击逐步转移到了对Web 应用的攻击上。根据Gartner 的最新调查,信息安全攻击有75% 都是发生在Web 应用而非网络层面上。同时,数据也显示,三分之二的Web 站点都相当脆弱,易受攻击。然而现实确是,绝大多数企业将大量的投资花费在网络和服务器的安全上,没有从真正意义上保证Web 应用本身的安全,给黑客以可乘之机。appscan工具简述
AppScan常见故障及解决方法
如何使用AppScan扫描大型网1
APPSCAN扫描说明
使用 AppScan 进行扫描
跟我学IBM AppScan Web安全检测工具——应用AppScan软件工具进行安全检测(第1部分)
AppScan扫描建议
appscan安全扫描工具使用步骤
Appscan使用之扫描结果分析 -
十个权威web安全扫描工具
十大Web安全扫描工具
使用APPSCAN进行安全性检测总结