<?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>Angels of security &#187; application security</title>
	<atom:link href="http://angelsofsecurity.com/blog/category/application-security/feed/" rel="self" type="application/rss+xml" />
	<link>http://angelsofsecurity.com/blog</link>
	<description>Musings of an infosec renegade</description>
	<lastBuildDate>Tue, 02 Aug 2011 19:01:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>web app reviews: where to start</title>
		<link>http://angelsofsecurity.com/blog/2011/01/16/web-app-reviews-where-to-start/</link>
		<comments>http://angelsofsecurity.com/blog/2011/01/16/web-app-reviews-where-to-start/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 02:18:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[OWASP]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[web apps]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/?p=723</guid>
		<description><![CDATA[I&#8217;m frequently asked by people what to check for when doing a web app review. Usually the people asking are other IT people and they understand the basics of security &#8211; they&#8217;re just not sure what to check. This request comes in a lot of forms &#8211; sometimes it&#8217;s a developer wanting to know what [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m frequently asked by people what to check for when doing a web app review. Usually the people asking are other IT people and they understand the basics of security &#8211; they&#8217;re just not sure what to check. This request comes in a lot of forms &#8211; sometimes it&#8217;s a developer wanting to know what I&#8217;m going to do to their application, sometimes it&#8217;s a program manager wanting to know so they can explain to the business, and sometimes it&#8217;s a friend who&#8217;s been asked by management to review a legacy or purchased web app and needs a starting place. There are two main sources I suggest.</p>
<ol>
<li><a href="http://www.owasp.org/index.php/OWASP_Testing_Project">The OWASP testing guide</a>. This is without a doubt the best resource. It&#8217;s designed for the person who is actually doing the testing, and contains all the details, the explanations, and contains all the testing you can think of. The only downside is that the current version is <a href="http://www.owasp.org/images/5/56/OWASP_Testing_Guide_v3.pdf">349 pages long</a>. (V4 is due out very soon, and will likely be longer). This is far more detail than most people want, and far longer than what most people can handle.</li>
<li>I&#8217;ve been looking for a sort of &#8220;cliff notes&#8221; version of the testing guide for a while, and I think I&#8217;ve found one that&#8217;s workable (sort of). The OWASP <a href="http://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project">Application Security Verification Standards</a> are clearly not designed to be a comprehensive list of things to test for a web app, and doesn&#8217;t contain any of the &#8220;how&#8221; aspects of testing, but it provides a quick list of things to check. At only a few pages long it&#8217;s much easier to read, and the <a href="http://code.google.com/p/owasp-asvs/wiki/Verification">verification requirements</a> themselves are even shorter. Because it also provides standard for different levels of assurance, you can decide just how important security is to this particular app and review the appropriate controls.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2011/01/16/web-app-reviews-where-to-start/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>slides from Domino presentation are up</title>
		<link>http://angelsofsecurity.com/blog/2010/11/11/slides-from-domino-presentation-are-up/</link>
		<comments>http://angelsofsecurity.com/blog/2010/11/11/slides-from-domino-presentation-are-up/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 04:06:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[appsecdc]]></category>
		<category><![CDATA[domino]]></category>
		<category><![CDATA[domino security]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/?p=701</guid>
		<description><![CDATA[AppsecDC is all over and it was awesome. A whole lot of great presentations and I met a lot of great people. It was also my first time presenting at a conference. I didn&#8217;t think I&#8217;d be nervous, but I realized halfway through the talk that I was speaking fast and I couldn&#8217;t seem to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://appsecdc.org/">AppsecDC</a> is all over and it was awesome. A whole lot of great presentations and I met a lot of great people. It was also my first time presenting at a conference. I didn&#8217;t think I&#8217;d be nervous, but I realized halfway through the talk that I was speaking fast and I couldn&#8217;t seem to slow down. For anyone who is interested, I&#8217;ve uploaded the slides from the talk is both <a href="/domino_testing_presentation.ppt">ppt </a>and <a href="/domino_testing_presentation.pdf">pdf</a> format. I&#8217;ve also set up a page on <a href="/domino.html">Domino security</a> which has lots of resources. I will actually try to keep it up to date as there don&#8217;t seem to be many other good resources on Domino security.</p>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2010/11/11/slides-from-domino-presentation-are-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>View names in Domino help files</title>
		<link>http://angelsofsecurity.com/blog/2010/11/08/view-names-in-domino-help-files/</link>
		<comments>http://angelsofsecurity.com/blog/2010/11/08/view-names-in-domino-help-files/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 17:24:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[domino]]></category>
		<category><![CDATA[OWASP]]></category>
		<category><![CDATA[security by obscurity]]></category>
		<category><![CDATA[views]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/?p=691</guid>
		<description><![CDATA[This is partially a teaser for the talk I&#8217;m giving at AppSecDC on Domino security. (If you&#8217;re reading this after the talk has been given, I&#8217;ll have the slides and other information up on the Domino security page). In Domino, views are created which display certain data to the user. Many times a developer will [...]]]></description>
			<content:encoded><![CDATA[<p>This is partially a teaser for the talk I&#8217;m giving at <a href="http://www.owasp.org/index.php/White_and_Black_box_testing_of_Lotus_Domino_Applications">AppSecDC on Domino security</a>. (If you&#8217;re reading this after the talk has been given, I&#8217;ll have the slides and other information up on the <a href="http://www.angelsofsecurity.com/domino.html">Domino security</a> page). In Domino, views are created which display certain data to the user. Many times a developer will assume that if they don&#8217;t advertise a view, no one will find it (security through obscurity anyone?) and don&#8217;t bother to apply the correct permissions. As a penetration tester I&#8217;m sure you&#8217;d like to find these views, but what are they called? If you look at the Domino help files, you&#8217;ll get some ideas. There are many pieces of sample code, and often a developer will cut and paste the applicable code. The names Domino favors in the help files are as follows, sorted by times used.</p>
<p>135 &#8211; By Category<br />
36 &#8211; View A<br />
31 &#8211; All<br />
26 &#8211; Main<br />
23 &#8211; Categorized<br />
22 &#8211; Main View<br />
13 &#8211; All Documents<br />
6 &#8211; Topics<br />
4 &#8211; By Author<br />
3 &#8211; By Date\Ascending By Main Topic<br />
3 &#8211; People<br />
3 &#8211; Boots<br />
2 &#8211; Products<br />
2 &#8211; My View<br />
2 &#8211; folderName<br />
2 &#8211; CategoryView<br />
2 &#8211; By Subject<br />
2 &#8211; All Documents by CustomerNumber<br />
2 &#8211; All documents<br />
1 &#8211; XML<br />
1 &#8211; Work Schedule<br />
1 &#8211; viewName<br />
1 &#8211; Transportation<br />
1 &#8211; Stock<br />
1 &#8211; Setup<br />
1 &#8211; Sales Records<br />
1 &#8211; Sales Leads<br />
1 &#8211; Phone book<br />
1 &#8211; My Favorites<br />
1 &#8211; Locations<br />
1 &#8211; Internet Profile<br />
1 &#8211; Folder1<br />
1 &#8211; Employees<br />
1 &#8211; Discussion<br />
1 &#8211; Days by Key<br />
1 &#8211; Christmas<br />
1 &#8211; By Category and Author<br />
1 &#8211; By Category<br />
1 &#8211; By category<br />
1 &#8211; Authors<br />
1 &#8211; All by Status &amp; Project<br />
1 &#8211; Open\By Project &amp; Priority<br />
1 &#8211; Open\By Due Date</p>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2010/11/08/view-names-in-domino-help-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPV6 + MAC addresses + Geolocation = Privacy fail</title>
		<link>http://angelsofsecurity.com/blog/2010/10/29/ipv6-mac-addresses-geolocation-privacy-fail/</link>
		<comments>http://angelsofsecurity.com/blog/2010/10/29/ipv6-mac-addresses-geolocation-privacy-fail/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 20:08:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/?p=683</guid>
		<description><![CDATA[Update: You can probably scratch this whole idea &#8211; see the comments for details. First, a little background on geolocation for those who haven&#8217;t heard of this before: Google has been collecting wifi data while doing streetview. One of the things they collect is MAC addresses of wireless networks. Google, using the above MAC addresses [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update</strong>: You can probably scratch this whole idea &#8211; see the comments for details.</p>
<p>First, a little background on geolocation for those who haven&#8217;t heard of this before:</p>
<ol>
<li>Google has been collecting wifi data while doing streetview. One of the things they collect is MAC addresses of wireless networks.</li>
<li>Google, using the above MAC addresses and GPS data, is now offering a <a href="http://code.google.com/apis/gears/api_geolocation.html">geolocation</a> service. You just send in the MAC addresses of any wireless networks in range, and Google will helpfully tell you where you are.</li>
<li>While a browser is supposed to prompt a user before sending the MAC addresses off to Google, it is certainly possible for anyone to submit any MAC address they know of to Google. Sam Kamkar has a <a href="http://samy.pl/mapxss/">proof of concept</a> for this.</li>
</ol>
<p>The summary of the above is this: If you have a MAC address, google will tell you where it has seen that MAC address.</p>
<p>Now for the kicker. <a href="http://en.wikipedia.org/wiki/IPv6_address">IPV6 autoconfig</a>, by default, loads the mac address into the last 64 bits of the IP address. (Not directly &#8211; technically the bytes FFFE are added to the middle, and 1 bit is flipped, but this is all easily reversed. Suffice it to say obtaining a MAC address from this sort of IP address is trivial). See where this is going yet? If you want to know where an IPv6 address is located in the real world, just traceroute to the device, pull the MAC address from the device immediately prior to your target, and see if Google has a record of it. If your target is behind NAT, you can skip even this simple step. This attack is probably mostly theoretical right now since the vast majority of wireless networks are still IPv4, but if IPv6 ever does take off, this will become a real worry.</p>
<p>Credit where credit is due: I got this idea while watching the video of Samy Kamkar&#8217;s presentation entitled &#8220;<a href="http://vimeo.com/15492594">How I met your girlfriend</a>&#8220;. Samy goes from end to end, showing how to get a person&#8217;s real life location. He only talks about IPv4, so for the last steps he convinces the target to click a link, exploits their home router, and pulls the MAC address from there using the default credentials. I basically take this attack and consider it in the IPv6 world, where none of the technical wizardry is necessary and the attack difficulty is significantly lower.</p>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2010/10/29/ipv6-mac-addresses-geolocation-privacy-fail/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>certificate names</title>
		<link>http://angelsofsecurity.com/blog/2010/07/20/certificate-names/</link>
		<comments>http://angelsofsecurity.com/blog/2010/07/20/certificate-names/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 19:18:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[banks]]></category>
		<category><![CDATA[certificates]]></category>
		<category><![CDATA[disclosing]]></category>
		<category><![CDATA[end users]]></category>
		<category><![CDATA[transparency]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/?p=593</guid>
		<description><![CDATA[When it comes to preventing users from entering their data into fake websites, the main defense people always rely upon is user training. We&#8217;ve tried for years to train users to always look for the little lock icon that indicates the site is using SSL. Now we&#8217;re starting to train them to look for the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://angelsofsecurity.com/blog/wp-content/uploads/2010/07/boa-cert.jpg"><img class="size-medium wp-image-595 alignright" title="boa cert error" src="http://angelsofsecurity.com/blog/wp-content/uploads/2010/07/boa-cert-300x284.jpg" alt="" width="187" height="176" /></a>When it comes to preventing users from entering their data into fake websites, the main defense people always rely upon is user training. We&#8217;ve tried for years to train users to always look for the little lock icon that indicates the site is using SSL. Now we&#8217;re starting to train them to look for the EV cert. Browser makers have gotten much better about making it more difficult for a user to bypass certificate errors. One of the biggest mistakes an entity can make is accidentally training their users for bad behavior, such as accepting certificate errors. Unfortunately, that is exactly what many people are doing. Many times someone will buy a certificate with their main www domain &#8211; for example <a href="http://www.bankofamerica.com">www.bankofamerica.com</a>, and forget about the domain bankofamerica.com. While the difference may seem trivial, any user that enters <a href="https://bankofamerica.com">https://bankofamerica.com</a> into their browser will be met with a certificate error, which they will ultimately have to accept if they want to continue. This is bad practice all around.</p>
<p>To prove my point, I decided to look at the <a href="http://www.onlinebankingreport.com/resources/100.html">10 largest banks in the US</a> and discovered that four of the ten exhibited this flaw. (Bank of NY Mellon does not seem to have a login on their main domain, and therefore don&#8217;t utilize SSL period). One would think that for a large financial institution like one of these, getting a multiple domain certificate would be a simple task, but apparently they never thought to do it. In the mean time, they&#8217;re training their users for poor security practices.</p>
<table>
<tbody>
<tr>
<td><a href="https://chase.com">JP Morgan Chase</a></td>
<td>good</td>
</tr>
<tr>
<td><strong><span style="color: #ff0000;"><a href="https://bankofamerica.com">Bank of America</a></span></strong></td>
<td><strong><span style="color: #ff0000;">Error</span></strong></td>
</tr>
<tr>
<td><a href="https://wellsfargo.com">Wells Fargo</a></td>
<td>good</td>
</tr>
<tr>
<td><strong><a href="https://citigroup.com">Citigroup</a></strong></td>
<td><strong><span style="color: #ff0000;">Error</span></strong></td>
</tr>
<tr>
<td><strong><a href="https://pncbank.com">PNC Bank</a></strong></td>
<td><strong><span style="color: #ff0000;">Error</span></strong></td>
</tr>
<tr>
<td><a href="https://us.hsbc.com">HSBC</a></td>
<td>Good</td>
</tr>
<tr>
<td>Bank of NY Mellon</td>
<td>N/A*</td>
</tr>
<tr>
<td><strong><a href="https://usbank.com">US Bankcorp</a><br />
</strong></td>
<td><strong><span style="color: #ff0000;">Error</span></strong></td>
</tr>
<tr>
<td><a href="https://suntrust.com">Suntrust Bank</a></td>
<td>good</td>
</tr>
<tr>
<td><a href="https://ssga.com">State Street Corp</a></td>
<td>good</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2010/07/20/certificate-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>new web app scanner</title>
		<link>http://angelsofsecurity.com/blog/2010/03/22/new-web-app-scanner/</link>
		<comments>http://angelsofsecurity.com/blog/2010/03/22/new-web-app-scanner/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 16:30:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[skipfish]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/?p=566</guid>
		<description><![CDATA[A friend of mine dropped me a note to point out that Google has released an open source web application security scanner called skipfish. I haven&#8217;t used it yet (installing as I type), and will hopefully have some thought on it soon.]]></description>
			<content:encoded><![CDATA[<p>A friend of mine dropped me a note to point out that Google has released an open source web application security scanner called <a href="http://code.google.com/p/skipfish/">skipfish</a>. I haven&#8217;t used it yet (installing as I type), and will hopefully have some thought on it soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2010/03/22/new-web-app-scanner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alternate data streams and SharePoint</title>
		<link>http://angelsofsecurity.com/blog/2009/06/25/alternate-data-streams-and-sharepoint/</link>
		<comments>http://angelsofsecurity.com/blog/2009/06/25/alternate-data-streams-and-sharepoint/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 19:59:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[alternate data streams]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/2009/06/25/alternate-data-streams-and-sharepoint/</guid>
		<description><![CDATA[In case anyone is keeping score at home, SharePoint strips alternate data streams off of files. SharePoint (usually) stores its documents in a SQL database, so my guess is that&#8217;s what does it.]]></description>
			<content:encoded><![CDATA[<p>In case anyone is keeping score at home, SharePoint strips alternate data streams off of files. SharePoint (usually) stores its documents in a SQL database, so my guess is that&#8217;s what does it.</p>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2009/06/25/alternate-data-streams-and-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>error handling</title>
		<link>http://angelsofsecurity.com/blog/2009/05/19/error-handling/</link>
		<comments>http://angelsofsecurity.com/blog/2009/05/19/error-handling/#comments</comments>
		<pubDate>Tue, 19 May 2009 16:22:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[error handling]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[web applications]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/2009/05/19/error-handling/</guid>
		<description><![CDATA[Error handling is one of the most often overlooked areas of application security. If you have a public-facing application, you don&#8217;t want the public to know too much about how the application works, even if you&#8217;re convinced they should never see errors. Case in point is demonstrated in the image presented here. I was just [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://angelsofsecurity.com/blog/wp-content/uploads/2009/05/sql-error.JPG" title="SQL_info"><img src="http://angelsofsecurity.com/blog/wp-content/uploads/2009/05/sql-error.thumbnail.JPG" alt="SQL_info" align="right" width="197" height="128" /></a>Error handling is one of the most often overlooked areas of application security. If you have a public-facing application, you don&#8217;t want the public to know too much about how the application works, even if you&#8217;re convinced they should never see errors. Case in point is demonstrated in the image presented here. I was just surfing the web, reading about one of my other innocuous hobbies (in this case baseball) when I came across the following page. As a user, I shouldn&#8217;t be able to see any of that. As an attacker, I just found a goldmine if information which I can use to try and exploit the site.</p>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2009/05/19/error-handling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Format string attacks in Windows and sort.exe</title>
		<link>http://angelsofsecurity.com/blog/2009/01/26/format-string-attacks-in-windows-and-sortexe/</link>
		<comments>http://angelsofsecurity.com/blog/2009/01/26/format-string-attacks-in-windows-and-sortexe/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 15:39:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[format string attacks]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[sort.exe]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/2009/01/26/format-string-attacks-in-windows-and-sortexe/</guid>
		<description><![CDATA[Well that was a long and unexpected blogging break. It started because I wanted to write a long and detailed post about the last BGP exploit when I realized how little most security people knew about BGP. Unfortunately I never had time, a bunch of other things demanded my attention, (like real life), and then [...]]]></description>
			<content:encoded><![CDATA[<p>Well that was a long and unexpected blogging break. It started because I wanted to write a long and detailed post about the last BGP exploit when I realized how little most security people knew about BGP. Unfortunately I never had time, a bunch of other things demanded my attention, (like real life), and then once I got out of the habit of blogging, it was too easy to just ignore it. I&#8217;m back though, and I&#8217;ll try to blog regularly, albeit perhaps at a slower rate if real life persists in being as time consuming as its been lately.</p>
<p>Since this blog is coming back from a long hiatus, I think perhaps it&#8217;s appropriate to do so by bringing back an old vulnerability from a long hiatus as well. <a href="http://en.wikipedia.org/wiki/Format_string_vulnerabilities">Format String Vulnerabilities</a> have been around since around 1999. The short explanation is that when a C program doesn&#8217;t use format specifiers (you know, all those %s things you learned about way back when), but rather just prints a buffer directly, an attacker could put in format specifiers (like %x and %n). %x will just print the next hex number on the stack, so an attacker can view the stack. %n is more insidious &#8211; it is used to count the number of characters printed so far and copy that number into an arbitrary memory array. An attacker can use this to overwrite a given memory location (like, say, a return pointer) and execute arbitrary code.</p>
<p>In August of 2004 it was revealed that Windows&#8217; <a href="http://marc.info/?l=vuln-dev&#038;m=109871994406659&#038;w=2">sort.exe had a format string vulnerability</a>. Like most people, I assumed that since the fix for this is trivial (just use a format specifier instead of printing the buffer directly), Microsoft would have fixed it in the next patch release or service pack. Lo and behold, they haven&#8217;t. This is a copy and paste from the command shell of my Windows XP machine.</p>
<blockquote><p> Microsoft Windows XP [Version 5.1.2600]<br />
(C) Copyright 1985-2001 Microsoft Corp.</p>
<p>C:\&gt;ver</p>
<p>Microsoft Windows XP [Version 5.1.2600]</p>
<p>C:\&gt;sort %x<br />
7c812f39The system cannot find the file specified.</p>
<p>C:\&gt;sort %x%x<br />
7c812f390The system cannot find the file specified.</p>
<p>C:\&gt;sort %x%x%x<br />
7c812f3900The system cannot find the file specified.</p>
<p>C:\&gt;sort %x%x%x%x<br />
7c812f390078257825The system cannot find the file specified.</p>
<p>C:\&gt;sort %x%x%x%x%x<br />
7c812f39007825782578257825The system cannot find the file specified.</p>
<p>C:\&gt;sort %x%n</p>
<p>(sort.exe crashes as I&#8217;ve tried to write data to some random place in memory)</p>
<p>Everyone knows that Microsoft has a reputation for not fixing vulnerabilities unless forced to, but this is bad even by their standards. 4+ years and they haven&#8217;t fixed a know format string vulnerability.</p>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2009/01/26/format-string-attacks-in-windows-and-sortexe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNS cache poisoning</title>
		<link>http://angelsofsecurity.com/blog/2008/07/25/dns-cache-poisoning/</link>
		<comments>http://angelsofsecurity.com/blog/2008/07/25/dns-cache-poisoning/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 18:53:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[cache poisoning]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[turn it off]]></category>

		<guid isPermaLink="false">http://angelsofsecurity.com/blog/2008/07/25/dns-cache-poisoning/</guid>
		<description><![CDATA[It was of course inevitable that once Dan Geer found a vulnerability in DNS, someone else would find it too, even if Dan asked people not to publicize it. It was also inevitable that someone would quickly write a metasploit plugin for it. What amazes me is the fact that despite all the fuss over [...]]]></description>
			<content:encoded><![CDATA[<p>It was of course inevitable that once Dan Geer <a href="http://www.securityfocus.com/news/11526">found a vulnerability in DNS</a>, someone else would find it too, even if Dan asked people not to publicize it. It was also inevitable that someone would quickly <a href="http://www.securityfocus.com/brief/781">write a metasploit plugin</a> for it. What amazes me is the fact that despite all the fuss over this, everyone who was security conscious should have had this problem fixed years ago. Yes, I know it was only &#8220;discovered&#8221; recently, but what people are failing to highlight is that to exploit this against a DNS server, you have to allow <a href="http://technet2.microsoft.com/windowsserver/en/library/0bcd97e6-b75d-48ce-83ca-bf470573ebdc1033.mspx?mfr=true">recursive queries</a> from third parties. I&#8217;ve been telling my clients for years to turn that off (the ones that had it on that is). This falls under the old security rule of &#8220;if you don&#8217;t need it, turn it off&#8221;, which is perhaps the single most important, and yet often ignored, security rule there is.</p>
<p>Since cache poisoning became a worry it has been well known that leaving recursive queries on was allowing an attacker an avenue to force your DNS server to make specific and known queries. This is a necessary step in almost any poisoning attack. In 2007, a study found that about <a href="http://www.internetnews.com/security/article.php/3712251/The+Trouble+With+BIND+DNS+Servers.htm">half the DNS servers on the net</a> still allowed recursive queries. Even after repeated warnings and previous DNS vulnerabilities, you would think that most people would have disabled recursive queries, but it doesn&#8217;t look like that&#8217;s the case. (Furthermore, the response has universally been to patch, rather than to turn off recursive queries). The solution to this and almost all other cache poisoning attacks is very simple:</p>
<p align="center">If you don&#8217;t use it, TURN IT OFF!</p>
]]></content:encoded>
			<wfw:commentRss>http://angelsofsecurity.com/blog/2008/07/25/dns-cache-poisoning/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

