http://resources.infosecinstitute.com/appscan-part-2/

By Rohit T|August 16th, 2012

----------------------------------------------------------------------------------------------------------------------------

The first part of this article focused on configuring a scan in Rational Appscan, and as mentioned earlier, it’s important to configure the scan based on your requirements and limitations. Once the scan starts, depending on the size and architecture of the web application, Appscan takes time to explore all the available links. At the end of the scan the security auditor will be presented with scan results which need to be checked to eliminate the false positives. In the first part, we have started our scan on http://demo.testfire.net/ and once the scan gets complete, Appscan shows you a screen as seen in the graphic below. Let’s proceed to analyse.

As soon as the scan starts, Appscan asks you if you would like to save the scan. Make sure you save it. When the scan begins, the progress bar appears at the bottom of the screen, which shows you the time taken and also the percentage of the scan that is completed.

During the scan, if you encounter any connectivity issues or any other problems, you can pause the scan and resume it later. As explained earlier, a scan consists of 2 phases – Explore & Test. Scan Expert in Appscan is similar to the ‘Recommendations’ tab in WebInspect. Scan Expert analyses the configuration of the scan and recommends certain changes to the configuration in order to scan more effectively. You can choose to implement them or ignore them.

The screen can be divided roughly into 3 panes: Application Links, Security Issues, and Analysis.

Application Links Pane

Under this, the hierarchical structure of the website is shown. The folders and files of the application are shown in both URL based and content based form. The number of security issues or vulnerabilities present on each link is shown adjacent to it in brackets. By right clicking on a URL or folder you can choose to exclude it from the scan if you are rescanning the application.

The ‘Dashboard’ section will list the total number of issues present based on their severity: High, Medium, Low and informational. So the dashboard will reflect the overall strength of an application.

Security Issues Pane

This tab presents details about the vulnerabilities present in the application. For each vulnerability, the vulnerable pages are listed and the parameters are identified. This can be seen by expanding a particular vulnerability issue as shown below.

Based on the scan configuration, Appscan identifies various kinds of vulnerabilities ranging from critical issues like ‘SQL Injection’ to low severity vulnerabilities like ‘Email Address Pattern Found’. Because the scan policy selected by us is ‘Default’, Appscan shows us all kinds of vulnerabilities. By right clicking on a particular vulnerability you can change the severity, mark it as non-vulnerable and even delete it.

Analysis Pane

By selecting a particular issue in the security issues tab, the corresponding details can be seen in the analysis pane. These are listed in the following tabs: Issue information, Advisory, Fix Recommendation, Request/Response.

Issue information This tab provides details about the selected vulnerability. It shows the URL and the security risk associated with it. It also suggests what the security analyst needs to do to confirm that it’s a valid finding.

Advisory

Under this tab you can find a technical description of the issue, affected products, and reference links. 

Fix Recommendation

This section mentions the steps that need to be taken to address a specific vulnerability. The recommendations are mentioned in general and for both .NET and Java.

Request/Response

This is most significant tab, with specific details about the requests which were sent to the application as part of the tests and the responses associated with them. So within a single test, Appscan might send more than a single request, depending on the issue. For instance, to check a blind SQL injection vulnerability, first the Appscan sends a normal request and records the response. Then it sends an injected parameter as a part of the request, which is a true condition, and records the response. Similarly it sends another request to check the false condition. The malicious payloads will be highlighted in order to differentiate from the others. So for most of the time you will be working in this tab mainly to understand whether the reported vulnerability is a false positive or a valid finding. Under this tab there are a few more options available as shown in the figure below.

Show in Browser – Allows you to see the response in the browser. For instance, if you are viewing a cross site scripting vulnerability in the browser, it actually reflects the alert message which was sent by the Appscan.

Report False Positive – If you find an issue which is to be reported as a false positive to Appscan Support team you can click on this option. Note that this option is not for marking it as a false positive, but for reporting an issue to the Appscan team.

Manual Test – Upon clicking this option, a new window opens and allows you to modify the request and send it to observe the response. This is somewhat similar to the ‘repeater’ option in Burp Suite.

Delete Variant – This will delete it permanently from the results.

Set as Non-vulnerable – The selected variant will be considered as non-vulnerable.

Set as Error Page – Sometimes the application returns a customized error page. By selecting this option here, Appscan will consider all the responses of that type as error pages. Otherwise there is a chance that they might be treated as valid pages because of the 200 OK responses.

The ‘Variant Details’ tab highlights the changes that were applied to the original request.

Understanding the Toolbar

The Scan button helps you to continue a full scan/Explore. 

Manual Explore can be used wherein you want to scan only specific URLs or a part of a website. You can record the links and later click on ‘Continue with Full Scan’. Appscan would scan only those links which were covered by you under Manual scan. 

Scan Configuration opens the configuration wizard, much of which is covered in the first part.

By clicking on the Report button you can generate a report of the valid findings at the end of the analysis. 

Scan Log records every action performed by Appscan (refer to the figure below). So using this feature, you can track all the activities. For instance, while the scan is running you can view precisely what the Appscan is looking for.

The Power Tools section is explained at the end of this article.

Analyze JavaScript performs JavaScript analysis to discover a wide range of client side issues like DOM based cross site scripting.

You can view various other results under View Application Data. This shows the visited URLs, broken links, JavaScript, cookies, etc.

With this basic understanding of the Appscan tool, you can proceed to analyse the scan results. You may want to address the High severity issues first. We begin the analysis by selecting a vulnerable URL or parameter. For instance if 3 URLs are listed under cross site scripting attack, click on one of them and select the parameter under that URL.

The corresponding details automatically get highlighted in the analysis tab. Now start analysing if it’s a false positive or a valid finding. Determining whether a reported finding is a false positive or a valid finding entirely depends on your technical skills. If it’s a false positive remove the vulnerability from the list by right clicking and then delete. If it’s a valid finding, proceed to the next issue. In this way at the end of the scan, you have a list of vulnerabilities which are only valid findings and you can generate a report including all the issues.

Below are some of the tips which would help you while analysing.

Tips for Analysing

  • While analysing the scan results, if you find an issue which is not relevant to your application, you can right click on the vulnerability –> State –> Noise. This will remove the vulnerability completely from the list. In order to show it in the results click on View –> Show issues marked as Noise. This will display the issue in grey text with a strikethrough.
  • If the development team comes back with a fix for a particular vulnerability, you don’t have to scan the whole application again (provided the architecture and functionalities remain the same)to retest the issue. Just right click on the URL and select ‘Retest the Issues Found’. If any new issues are found they will be automatically added to the main results.
  • CVSS settings help you to adjust the severity ratings that were assigned to a particular vulnerability. To change them, right click on an issue, Severity –> CVSS settings. You can adjust the metrics there (base, temporal and environmental) and change the overall severity rating.
  • The ‘Manual Test’ option under the Tools menu helps you to send your own attacks to the application and allows you to save the action under the current scan. After editing the request and sending it, click on save to add the test to the current scan.
  • Appscan sends many tests during a scan. Only those tests which uncover the vulnerabilities are shown to you as scan results. But if you want to view the results of all the tests (including non-vulnerable results) you need to select ‘Save Non-vulnerable Test Variant Information’ under Scan Configuration –> Test Options. To view them after completion of a scan, go to View –>Non-vulnerable Variants.
  • If you want to scan only particular URLs or a particular section of an application, you can first explore the whole application without testing it (by selecting ‘Start with Automatic Explore Only’ option), and then you can include the URLs which you want to scan by right clicking and selecting ‘Include in Scan’ and exclude others by right clicking and selecting ‘Exclude from Scan’ and then click on ‘Full Scan’.
  • When you are scanning a live/production site, Appscan might flood the database with its own data and can even bring the server down. So you need to make sure that the development team is aware of these consequences.
  • Test Malware: This will analyse the links in the website for malicious content. You can select this option under Scan –> Test For Malware. The results are added to scan results if any are found.

Generating Reports

At the end of the analysis, you can generate a report of all the valid findings, including the remediation steps that need to be followed in order to fix the issues. These reports can be customized to suit your needs. For instance, you set a template for the development team which is different from a template set for your application manager. Appscan allows you to include various customized fields such as company logo, cover page, report title, etc.

As shown in the above figure, you can include all the parameters that you would like to see by selecting them. The other details under this section are easily understandable.

Tools

This section describes basic details about the Power Tools (Tools –> Power Tools) that Appscan provides you with in order to perform your analysis better.

Authentication Tester

Helps you perform a brute force attack on the username/password combinations to gain access to the web application. But the outcome of this depends on how strong your password policy is. 

Connection Test

This can be used to ping a website, and nothing more. Ping protocol might be blocked by many protocols and this is where you can use it.

Encode/Decode

While analysing the scan results you might come across many locations where you need to encode and decode the values. This tool can be used for the same purpose.

HTTP Request Editor

This is very useful to play with the HTTP requests. You can modify the values and test how the application reacts to different requests.

This concludes the analysing part of the Rational Appscan. But it’s important to keep in mind that a tool only provides you with the results (or in some cases it may not even provide you with all the results). What’s important from a security analyst’s point of view is the enhancement of technical skills that help us to decide whether a finding is valid or not and to probe further to unearth more vulnerabilities. Happy Scanning!!

IBM Rational Appscan: Part 2 ---reference的更多相关文章

  1. IBM Rational AppScan:跨站点脚本攻击深入解析

    IBM Rational AppScan:跨站点脚本攻击深入解析    了解黑客如何启动跨站点脚本攻击(cross-site scripting,XSS),该攻击危害(及不危害)什么,如何检测它们,以 ...

  2. IBM Rational Appscan Part 1

    By Rohit T|July 23rd, 2012 http://resources.infosecinstitute.com/ibm-rational-appscan/ IBM Rational ...

  3. IBM Rational Appscan使用之扫描结果分析

    转自:http://www.nxadmin.com/penetration/825.html 之前有IBM Rational Appscan使用详细说明的一篇文章,主要是针对扫描过程中配置设置等.本文 ...

  4. IBM Rational AppScan使用详细说明

    转自:http://www.nxadmin.com/tools/675.html 本文将详细介绍Appscan功能选项设置的细节,适合E文一般,初次接触Appscan的童鞋参考阅读. Appscan是 ...

  5. IBM Rational AppScan 无法记录登录序列 分类: 数据安全 2015-03-18 16:46 158人阅读 评论(0) 收藏

    为了测试漏洞,我在本地部署了一个站点,为http://localhost/app,并且有登录页面. 但是尝试多次,都无法记录登录页面.此时尝试了在hosts文件中,自定义了一个域名 127.0.0.1 ...

  6. 转:Web安全与Rational AppScan入门

    Web 应用的基础概念 在讨论 Web 应用安全之前,先简单介绍一下 Web 应用基础概念,这样便于理解为什么 Web 应用是脆弱的,容易受到攻击. 1. 什么是 Web 应用 Web 应用是由动态脚 ...

  7. 使用 Rational AppScan 保证 Web 应用的安全性,第 1 部分: Web 安全与 Rational AppScan 入门

    前言 当今世界,Internet(因特网)已经成为一个非常重要的基础平台,很多企业都将应用架设在该平台上,为客户提供更为方便.快捷的服务支持.这些应用 在功能和性能上,都在不断的完善和提高,然而在非常 ...

  8. Rational AppScan 标准版可扩展性和二次开发能力简介

    下载:IBM® Rational® AppScan 标准版  |   Web 应用安全与 IBM Rational AppScan 工具包 获取免费的 Rational 软件工具包系列,下载更多的 R ...

  9. 使用 Rational AppScan 保证 Web 应用的安全性,第 2 部分: 使用 Rational AppScan 应对 Web 应用攻击

    1 当前 Web 安全现状 互联网的发展历史也可以说是攻击与防护不断交织发展的过程.目前,全球因特网用户已达 13.5 亿,用户利用网络进行购物.银行转账支付和各种软件下载,企业用户更是依赖于互联网构 ...

随机推荐

  1. [.net 多线程]ThreadPool

    CancellationTokenSource tocken = new CancellationTokenSource(); ThreadPool.QueueUserWorkItem(param = ...

  2. 【题解】 UVa11292 The Dragon of Loowater

    题目大意: 你的王国里有一条n个头的恶龙,你希望雇佣一些骑士把它杀死(即砍掉所有头).村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币.如何雇佣骑士才能 ...

  3. day6学python 生成器迭代器+压缩文件

    生成器迭代器+压缩文件 readme的规范 1软件定位,软件的基本功能2运行代码的方法:安装环境,启动命令3简要的使用说明4代码目录结构说明,更详细点可以说明软件的基本原理5常见问题说明 ====== ...

  4. 基于 Token 的身份验证:JSON Web Token(JWT)

    1.传统身份验证和JWT的身份验证 传统身份验证:       HTTP 是一种没有状态的协议,也就是它并不知道是谁是访问应用.这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过 ...

  5. 洛谷P2774 方格取数问题(最小割)

    传送门 考虑一下,答案就是全局和减去舍弃和 不难发现,如果我们按行数+列数的奇偶性分为两类,那么每一类中的数必然互不相邻 那么我们把原图的点分为黑点和白点两类,原地向白点连边,黑点向汇点连边,容量为点 ...

  6. how to use windows azure market

    here is the sample. namespace USCrime2006and2007 { class Program { static void Main(string[] args) { ...

  7. 3.mouseenter和mouseover事件的区别

    <html> <head> <meta charset="UTF-8"> <script src="jquery-3.3.1.j ...

  8. 【问题记录】element is not attached to the page document

    遇到ui脚本报错:element is not attached to the page document 解决办法,再次定位即可

  9. 没有上司的舞会 树形dp

    题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...

  10. ABP中文网入门篇教程中的一个bug

    入门--从空项目开始--使用ASP.NET Core Web Application https://cn.abp.io/documents/abp/latest/Autofac-Integratio ...