<?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>Hacking-Gurus &#187; Servers</title>
	<atom:link href="http://www.hacking-gurus.net/category/server-security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hacking-gurus.net</link>
	<description>Security Blog</description>
	<lastBuildDate>Thu, 19 Jan 2012 21:06:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>MenuUninstaller Uninstalls Programs Right From Windows’ Context Menu</title>
		<link>http://www.hacking-gurus.net/2011/05/31/menuuninstaller-uninstalls-programs-right-from-windows%e2%80%99-context-menu/</link>
		<comments>http://www.hacking-gurus.net/2011/05/31/menuuninstaller-uninstalls-programs-right-from-windows%e2%80%99-context-menu/#comments</comments>
		<pubDate>Tue, 31 May 2011 17:16:02 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[Add Remove]]></category>
		<category><![CDATA[Context Menu]]></category>
		<category><![CDATA[control panel]]></category>
		<category><![CDATA[Discover]]></category>
		<category><![CDATA[Download Windows]]></category>
		<category><![CDATA[Free Download]]></category>
		<category><![CDATA[Free Windows]]></category>
		<category><![CDATA[Removing Programs]]></category>
		<category><![CDATA[Shortcuts]]></category>
		<category><![CDATA[Start Menu]]></category>
		<category><![CDATA[Sweeps]]></category>
		<category><![CDATA[Uninstall Option]]></category>
		<category><![CDATA[Uninstall Program]]></category>
		<category><![CDATA[Uninstaller]]></category>
		<category><![CDATA[Unwanted Programs]]></category>
		<category><![CDATA[Unwanted Windows]]></category>
		<category><![CDATA[Windows Programs]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=286</guid>
		<description><![CDATA[Whitson Gordon — Windows only: If you stumble upon unwanted Windows programs, you usually have to head all the way to the Control Panel to remove it. MenuUninstaller adds an &#8220;Uninstall&#8221; option to the Windows context menu so you can remove programs right from their shortcuts. While you probably make occasional sweeps through the Add/Remove [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2011/05/31/menuuninstaller-uninstalls-programs-right-from-windows%e2%80%99-context-menu/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "MenuUninstaller+Uninstalls+Programs+Right+From+Windows%E2%80%99+Context+Menu";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "Whitson Gordon —  Windows only: If you stumble upon unwanted Windows programs, you usually  have to head all the way to the Control Panel to remove it.  MenuUninstaller adds an &#8220;Uninstall&#8221; option to the Windows context menu  so you can remove programs right from their shortcuts.While you  probably make occasional sweeps through the Add/Remove...";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p><span><a title="Click here to read posts written by Whitson Gordon" href="http://lifehacker.com/people/Gyroscope352/">Whitson Gordon</a> — </span> Windows only: If you stumble upon unwanted Windows programs, you usually  have to head all the way to the Control Panel to remove it.  MenuUninstaller adds an &#8220;Uninstall&#8221; option to the Windows context menu  so you can remove programs right from their shortcuts.</p>
<p><span id="more-286"></span></p>
<p>While you  probably make occasional sweeps through the Add/Remove Programs dialog,  it&#8217;s more likely that you discover unwanted programs when you&#8217;re  scrolling through the Start Menu, and rarely do you want to go all the  way to the Control Panel just to remove a program. MenuUninstaller adds a  simple &#8220;Uninstall&#8221; option to the context menu for any shortcut on your  computer, letting you uninstall a program from nearly anywhere. Just  install MenuUninstaller and start removing programs—it&#8217;s as simple as  that.</p>
<p>I&#8217;ve found there were one or two programs it didn&#8217;t work on, but most  of the time if it doesn&#8217;t work it&#8217;ll just open up the Add/Remove  Programs window for you, thus still cutting down on the number of clicks  you&#8217;d need to remove a program. Usually, though, once you hit Uninstall  in the context menu it&#8217;ll take you straight to that program&#8217;s dedicated  uninstaller.</p>
<p>MenuUninstaller is a free download for Windows only.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2011/05/31/menuuninstaller-uninstalls-programs-right-from-windows%e2%80%99-context-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Cookies For Selective DoS and State Detection</title>
		<link>http://www.hacking-gurus.net/2010/08/22/using-cookies-for-selective-dos-and-state-detection/</link>
		<comments>http://www.hacking-gurus.net/2010/08/22/using-cookies-for-selective-dos-and-state-detection/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 18:30:47 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[Website Security]]></category>
		<category><![CDATA[Attacker]]></category>
		<category><![CDATA[Continuation]]></category>
		<category><![CDATA[Cookies]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[Logs]]></category>
		<category><![CDATA[Onerror Event]]></category>
		<category><![CDATA[Security Lab]]></category>
		<category><![CDATA[Variable Width]]></category>
		<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=237</guid>
		<description><![CDATA[Using Cookies For Selective DoS and State Detection: &#8220; 28 posts left…. This is a continuation of he first post where we described how you can use cookies to DoS certain portions of the website. After our speech one of the Mozilla guys came up to us and described another attack that arises from this. [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2010/08/22/using-cookies-for-selective-dos-and-state-detection/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "Using+Cookies+For+Selective+DoS+and+State+Detection";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "Using Cookies For Selective DoS and State Detection: &#8220;28 posts left….This is a continuation of he first post where we described how you can use cookies to DoS certain portions of the website.  After our speech one of the Mozilla guys came up to us and described another attack that arises from this.  Let’s say when a user logs in it sets a...";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>Using Cookies For Selective DoS and State Detection: &#8220;
<p>28 posts left….</p>
<p>This is a continuation of he first post where we described how you can use cookies to DoS certain portions of the website.  After our speech one of the Mozilla guys came up to us and described another attack that arises from this.  Let’s say when a user logs in it sets a cookie that is 200 bytes long, and when they log out it re-sets the same cookie to 50 bytes.  Well if the attacker can set a cookie with a particular path to a single image on the site, for instance, they can use JavaScript to check with an onerror event handler to see if the image has loaded.</p>
<p><span id="more-237"></span></p>
<p>By combining the over-long cookie (minus 50 bytes) a logged in state will cause the image to fail to load, where as a logged out state will allow the image to load just fine.  In this way an attacker can tell cookie states as long as the cookies are variable width and there aren’t other cookies muddying the waters.  Interesting attack, I thought!</p>
<p>&#8220;</p>
<p>(Via <a href="http://ha.ckers.org/blog">ha.ckers.org web application security lab</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2010/08/22/using-cookies-for-selective-dos-and-state-detection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Cookies For Selective DoS</title>
		<link>http://www.hacking-gurus.net/2010/08/22/using-cookies-for-selective-dos/</link>
		<comments>http://www.hacking-gurus.net/2010/08/22/using-cookies-for-selective-dos/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 18:28:09 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[Website Security]]></category>
		<category><![CDATA[Aspx]]></category>
		<category><![CDATA[Attacker]]></category>
		<category><![CDATA[Exploit]]></category>
		<category><![CDATA[Logout]]></category>
		<category><![CDATA[Maximum Size]]></category>
		<category><![CDATA[Org Web]]></category>
		<category><![CDATA[Parent Domain]]></category>
		<category><![CDATA[Perspective]]></category>
		<category><![CDATA[Prevention]]></category>
		<category><![CDATA[Real Solution]]></category>
		<category><![CDATA[Reportabuse]]></category>
		<category><![CDATA[Scoped]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Security Lab]]></category>
		<category><![CDATA[Sokol]]></category>
		<category><![CDATA[Target]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[Web Servers]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=235</guid>
		<description><![CDATA[Using Cookies For Selective DoS: &#8220; 29 posts left… One of the things Josh Sokol and I talked about in our presentation at Blackhat was a way to use over-sized cookies to cause a DoS on the site. The web server sees the overlong cookie and stops the request from completing. This is not new [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2010/08/22/using-cookies-for-selective-dos/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "Using+Cookies+For+Selective+DoS";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "Using Cookies For Selective DoS: &#8220;29 posts left…One of the things Josh Sokol and I talked about in our presentation at Blackhat was a way to use over-sized cookies to cause a DoS on the site.  The web server sees the overlong cookie and stops the request from completing.  This is not new and has certainly been discussed before.  However, one...";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p><a href="http://ha.ckers.org/blog/20100822/using-cookies-for-selective-dos/">Using Cookies For Selective DoS</a>: &#8220;<span id="more-235"></span></p>
<p>29 posts left…</p>
<p>One of the things Josh Sokol and I talked about in our presentation at Blackhat was a way to use over-sized cookies to cause a DoS on the site.  The web server sees the overlong cookie and stops the request from completing.  This is not new and has certainly been discussed before.  However, one thing that wasn’t discussed is that using the path an attacker can selectively cause the website to stop displaying portions of the site.  For instance, if the attacker wants to shut down /javascript/ or /logout.aspx or /reportabuse.aspx or whatever, they can by setting an overly-long cookie for that particular path.</p>
<p>Setting cookies on the target sub domain would require something like header injection/Response splitting, XSS, or a MitM attack.  It should be noted though that it doesn’t have to be on the target sub domain &#8211; it can be an exploit in another sub domain because cookies don’t follow the same origin policy if the cookie is scoped to the parent domain.  In this way an attacker could turn off Clickjacking prevention code (deframing scripts), or turn off other client side protections or parts of the site that are bad from an attacker’s perspective.  The only real solution to this is for all browsers to start making the absolute maximum size of cookies smaller than the smallest that web servers will allow (Apache was smaller than IIS by default for instance).</p>
<p>&#8220;</p>
<p>(Via <a href="http://ha.ckers.org/blog">ha.ckers.org web application security lab</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2010/08/22/using-cookies-for-selective-dos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>blind sql injections</title>
		<link>http://www.hacking-gurus.net/2010/04/19/blind-sql-injections/</link>
		<comments>http://www.hacking-gurus.net/2010/04/19/blind-sql-injections/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 20:47:20 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[Database Security]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Tutorialz]]></category>
		<category><![CDATA[Amp]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[dork]]></category>
		<category><![CDATA[Download Rar]]></category>
		<category><![CDATA[Download Sql]]></category>
		<category><![CDATA[Download Tool]]></category>
		<category><![CDATA[Download Video]]></category>
		<category><![CDATA[Exec]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Pg]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[Video Tool]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=187</guid>
		<description><![CDATA[Google Dork: inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: mysql_fetch_assoc() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: mysql_fetch_array() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: mysql_num_rows() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: session_start() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: getimagesize() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: is_writable() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: getimagesize() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: Unknown() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: session_start() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: mysql_result() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: pg_exec() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: mysql_result() inurl:&#8221;id=&#8221; &#38; intext:&#8221;Warning: mysql_num_rows() inurl:&#8221;id=&#8221; [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2010/04/19/blind-sql-injections/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "blind+sql+injections";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "Google Dork:inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  mysql_fetch_assoc()inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  mysql_fetch_array()inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  mysql_num_rows()inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning: session_start()inurl:&#8221;id=&#8221;  &amp; intext:&#8221;Warning: getimagesize()inurl:&#8221;id=&#8221;...";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p><strong>Google Dork:</strong><br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  mysql_fetch_assoc()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  mysql_fetch_array()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  mysql_num_rows()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning: session_start()<br />
inurl:&#8221;id=&#8221;  &amp; intext:&#8221;Warning: getimagesize()<br />
inurl:&#8221;id=&#8221; &amp;  intext:&#8221;Warning: is_writable()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  getimagesize()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning: Unknown()<br />
inurl:&#8221;id=&#8221;  &amp; intext:&#8221;Warning: session_start()<br />
inurl:&#8221;id=&#8221; &amp;  intext:&#8221;Warning: mysql_result()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  pg_exec()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning: mysql_result()<br />
inurl:&#8221;id=&#8221;  &amp; intext:&#8221;Warning: mysql_num_rows()<br />
inurl:&#8221;id=&#8221; &amp;  intext:&#8221;Warning: mysql_query()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  array_merge()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning: preg_match()<br />
inurl:&#8221;id=&#8221;  &amp; intext:&#8221;Warning: ilesize()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning:  filesize()<br />
inurl:&#8221;id=&#8221; &amp; intext:&#8221;Warning: require()</p>
<p><span id="more-187"></span></p>
<p>Thanks:Prens<br />
Download:  Video + tool<br />
blind_sql.rar</p>
<p>http://rapidshare.com/files/312860013/blind_sql.rar</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2010/04/19/blind-sql-injections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turn your keyboard LEDs into network activity indicators with a free app</title>
		<link>http://www.hacking-gurus.net/2009/12/07/turn-your-keyboard-leds-into-network-activity-indicators-with-a-free-app/</link>
		<comments>http://www.hacking-gurus.net/2009/12/07/turn-your-keyboard-leds-into-network-activity-indicators-with-a-free-app/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 18:39:17 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[Hacking-Gurus]]></category>
		<category><![CDATA[Tutorialz]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[Activity Indicators]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[Keyboard Leds]]></category>
		<category><![CDATA[Keyboards]]></category>
		<category><![CDATA[networking]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=174</guid>
		<description><![CDATA[Since we talk about hacking, how about a little desktop/networking hack &#8211; how cool is to have your LEDs on keyboards to blink as you transfer data on network Try Network Lights and let us know. Windows Only.]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2009/12/07/turn-your-keyboard-leds-into-network-activity-indicators-with-a-free-app/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "Turn+your+keyboard+LEDs+into+network+activity+indicators+with+a+free+app";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "Since we talk about hacking, how about a little desktop/networking hack &#8211; how cool is to have your LEDs on keyboards to blink as you transfer data on network   Try Network Lights and let us know. Windows Only.";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>Since we talk about hacking, how about a little desktop/networking hack &#8211; how cool is to have your LEDs on keyboards to blink as you transfer data on network <img src='http://www.hacking-gurus.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Try <a href="http://www.itsamples.com/network-lights.html" target="_blank">Network Lights</a> and let us know. Windows Only.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2009/12/07/turn-your-keyboard-leds-into-network-activity-indicators-with-a-free-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your Password Will Never Get Stolen With the Safelock Keyboard [Microsoft]</title>
		<link>http://www.hacking-gurus.net/2009/10/09/your-password-will-never-get-stolen-with-the-safelock-keyboard-microsoft/</link>
		<comments>http://www.hacking-gurus.net/2009/10/09/your-password-will-never-get-stolen-with-the-safelock-keyboard-microsoft/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 08:02:49 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[Servers]]></category>
		<category><![CDATA[Tutorialz]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Pressure Sensitive]]></category>
		<category><![CDATA[Probes]]></category>
		<category><![CDATA[Sensitive Keyboard]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=172</guid>
		<description><![CDATA[What can you do with a pressure-sensitive keyboard? That&#8217;s what Microsoft asked 40 teams. SafeLock&#8217;s one answer: It doesn&#8217;t just know your password, but how you type it, biometrically authenticating you without creepier probes.]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2009/10/09/your-password-will-never-get-stolen-with-the-safelock-keyboard-microsoft/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "Your+Password+Will+Never+Get+Stolen+With+the+Safelock+Keyboard+%5BMicrosoft%5D";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "What can you do with a pressure-sensitive keyboard? That&#8217;s what Microsoft asked 40 teams. SafeLock&#8217;s one answer: It doesn&#8217;t just know your password, but how you type it, biometrically authenticating you without creepier probes.";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/_vMb9JUhC1g&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/_vMb9JUhC1g&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><span id="more-172"></span></p>
<p>What can you do with a <a class="autolink" title="Click here to read more posts tagged PRESSURE-SENSITIVE KEYBOARD" href="http://gizmodo.com/tag/pressure_sensitive-keyboard/">pressure-sensitive keyboard</a>? That&#8217;s what Microsoft asked 40 teams. SafeLock&#8217;s one answer: It doesn&#8217;t just know your password, but <em>how you type it</em>, biometrically authenticating you without creepier probes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2009/10/09/your-password-will-never-get-stolen-with-the-safelock-keyboard-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>15 Steps to Make a Windows 7 Bootable Disk</title>
		<link>http://www.hacking-gurus.net/2009/10/09/15-steps-to-make-a-windows-7-bootable-disk/</link>
		<comments>http://www.hacking-gurus.net/2009/10/09/15-steps-to-make-a-windows-7-bootable-disk/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 07:51:04 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[Tutorialz]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[Bootable Disk]]></category>
		<category><![CDATA[Bootable Thumb Drive]]></category>
		<category><![CDATA[Bootable Usb Drive]]></category>
		<category><![CDATA[Bottom Side]]></category>
		<category><![CDATA[Command Prompt]]></category>
		<category><![CDATA[Confirmation]]></category>
		<category><![CDATA[Disk Management]]></category>
		<category><![CDATA[Disk Space]]></category>
		<category><![CDATA[Disk Usb]]></category>
		<category><![CDATA[Diskpart]]></category>
		<category><![CDATA[Key Number]]></category>
		<category><![CDATA[Management Utility]]></category>
		<category><![CDATA[Netbook]]></category>
		<category><![CDATA[Netbooks]]></category>
		<category><![CDATA[Optical Drive]]></category>
		<category><![CDATA[Orb]]></category>
		<category><![CDATA[Partition Disk]]></category>
		<category><![CDATA[Primary Partition]]></category>
		<category><![CDATA[Type Exit]]></category>
		<category><![CDATA[Usb Key]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=169</guid>
		<description><![CDATA[Having a bootable USB key is handy to have in your gear. A number of times in the past I have needed a bootable thumb drive but didn’t have time to get myself one. I needed this when I bought my first netbook, Lenovo S10. Netbooks normally do not have an optical drive and in [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2009/10/09/15-steps-to-make-a-windows-7-bootable-disk/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "15+Steps+to+Make+a+Windows+7+Bootable+Disk";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "Having a bootable USB key is handy to have in your gear. A number of times in the past I have needed a bootable thumb drive but didn’t have time to get myself one. I needed this when I bought my first netbook, Lenovo S10. Netbooks normally do not have an optical drive and in most cases, the best cheaper option you have is by using a bootable USB drive.You...";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p><a href="http://www.everyjoe.com/windowsvistaweblog/files/2009/06/image2.png"><img src="http://www.everyjoe.com/windowsvistaweblog/files/2009/06/image-thumb2.png" border="0" alt="image" width="251" height="85" /></a></p>
<p><span id="more-169"></span></p>
<p>Having a bootable USB key is handy to have in your gear. A number of times in the past I have needed a bootable thumb drive but didn’t have time to get myself one. I needed this when I bought my first netbook, Lenovo S10. Netbooks normally do not have an optical drive and in most cases, the best cheaper option you have is by using a bootable USB drive.</p>
<p>You can create one with Windows 7 and below are the steps:</p>
<p>1. Go to your Windows 7 orb button of the left bottom side of the screen.</p>
<p>2. Click on the orb button</p>
<p>3. On the find text box, type “cmd”</p>
<p>4. The command prompt should appear in the search results</p>
<p>5. Right-click and run as administrator</p>
<p>6. On the command prompt type “diskpart”</p>
<p>7. Type in “list disk” after to start the Microsoft disk management utility</p>
<p>8. On the list show, make sure you write down the USBs key number you want to make bootable. Pick this out by looking at the disk space and make sure you have the thumb drive inserted.</p>
<p>9. Type “select disk [USB key number]”. Replace “[USB key number]”</p>
<p>10. Type “clean” to clean the disk, DiskPart needs your confirmation for this.</p>
<p>11. Enter “create partition primary”<strong> </strong>for a new partition disk</p>
<p>12. Type “select partition 1”, and make it active by typing <strong>“active”</strong>.</p>
<p>13. Format the key by typing “format fs=fat32”. Wait until this is completed.</p>
<p>14. Finally, type “assign”<strong> </strong>to assign this USB key a drive letter.</p>
<p>15. Type “exit”</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2009/10/09/15-steps-to-make-a-windows-7-bootable-disk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Computer Network Denial Of Service Denial</title>
		<link>http://www.hacking-gurus.net/2009/10/01/computer-network-denial-of-service-denial/</link>
		<comments>http://www.hacking-gurus.net/2009/10/01/computer-network-denial-of-service-denial/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 05:58:58 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[Database Security]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Tutorialz]]></category>
		<category><![CDATA[Website Security]]></category>
		<category><![CDATA[Wireless Security]]></category>
		<category><![CDATA[Attack Software]]></category>
		<category><![CDATA[Authentication Servers]]></category>
		<category><![CDATA[Computer Engineers]]></category>
		<category><![CDATA[David Irwin]]></category>
		<category><![CDATA[Ddos Attack]]></category>
		<category><![CDATA[Ddos Attacks]]></category>
		<category><![CDATA[Denial Of Service]]></category>
		<category><![CDATA[Denial Of Service Dos]]></category>
		<category><![CDATA[Internet Requests]]></category>
		<category><![CDATA[John Wu]]></category>
		<category><![CDATA[Legitimate Traffic]]></category>
		<category><![CDATA[Legitimate Users]]></category>
		<category><![CDATA[Malicious Purposes]]></category>
		<category><![CDATA[Network Denial]]></category>
		<category><![CDATA[Private Resources]]></category>
		<category><![CDATA[Service Denial]]></category>
		<category><![CDATA[Target Machine]]></category>
		<category><![CDATA[Tong Liu]]></category>
		<category><![CDATA[Valid Passwords]]></category>
		<category><![CDATA[Virtual Private Networks]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=166</guid>
		<description><![CDATA[Denial of Service (DoS) and distributed Denial of Service (DDoS) attacks involve an attempt to make a computer resource unavailable to its intended users. This may simply be for malicious purposes as is often the case when big commercial or famous web sites undergo a DDoS attack. However, it is also possible to exploit the [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2009/10/01/computer-network-denial-of-service-denial/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "Computer+Network+Denial+Of+Service+Denial";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "Denial of Service (DoS) and distributed Denial of Service (DDoS) attacks involve an attempt to make a computer resource unavailable to its intended users. This may simply be for malicious purposes as is often the case when big commercial or famous web sites undergo a DDoS attack. However, it is also possible to exploit the system&#8217;s response to...";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p>Denial of Service (DoS) and distributed Denial of Service (DDoS) attacks involve an attempt to make a computer resource unavailable to its intended users. This may simply be for malicious purposes as is often the case when big commercial or famous web sites undergo a DDoS attack. However, it is also possible to exploit the system&#8217;s response to such an attack to break system firewalls, access virtual private networks, and to access other private resources. A DoS attack can also be used to affect a complete network or even a whole section of the Internet.</p>
<p><span id="more-166"></span></p>
<p>Commonly, attack involves simply saturating the target machine with external internet requests. In the case of a DDoS attack the perpetrator recruits other unwitting computers into a network and uses a multitude of machines to mount the attack. The result is that the resource, whether it is a website, an email server, or a database, cannot respond to legitimate traffic in a timely manner and so essentially becomes unavailable to users.</p>
<p>Methods for configuring a network to filter out known DoS attack software and to recognize some of the traffic patterns associated with a mounting DoS attack are available. However, current filters usually rely on the computer being attacked to check whether or not incoming information requests are legitimate or not. This consumes its resources and in the case of a massive DDoS can compound the problem.</p>
<p>Now, computer engineers John Wu, Tong Liu, Andy Huang, and David Irwin of Auburn University have devised a filter to protect systems against DoS attacks that circumvents this problem by developing a new passive protocol that must be in place at each end of the connection: user and resource.</p>
<p>Their protocol &#8211; Identity-Based Privacy-Protected Access Control Filter (IPACF) &#8211; blocks threats to the gatekeeping computers, the Authentication Servers (AS), and so allows legitimate users with valid passwords to access private resources.</p>
<p>The user&#8217;s computer has to present a filter value for the server to do a quick check. The filter value is a one-time secret that needs to be presented with the pseudo ID. The pseudo ID is also one-time use. Attackers cannot forge either of these values correctly and so attack packets are filtered out.</p>
<p>One potential drawback of the added layer of information transfer required for checking user requests is that it could add to the resources needed by the server. However, the researchers have tested how well IPACF copes in the face of a massive DDoS attacks simulated on a network consisting of 1000 nodes with 10 gigabits per second bandwidth. They found that the server suffers little degradation, negligible added information transfer delay (latency) and minimal extra processor usage even when the 10 Gbps pipe to the authentication server is filled with DoS packets. Indeed, the IPACF takes just 6 nanoseconds to reject a non-legitimate information packet associated with the DoS attack.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2009/10/01/computer-network-denial-of-service-denial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Top 10 Web Application security vulnerabilities</title>
		<link>http://www.hacking-gurus.net/2009/09/30/the-top-10-web-application-security-vulnerabilities/</link>
		<comments>http://www.hacking-gurus.net/2009/09/30/the-top-10-web-application-security-vulnerabilities/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 05:24:02 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[Servers]]></category>
		<category><![CDATA[Tutorialz]]></category>
		<category><![CDATA[Website Security]]></category>
		<category><![CDATA[Common Security]]></category>
		<category><![CDATA[Critical Web]]></category>
		<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Example Web]]></category>
		<category><![CDATA[Html Page]]></category>
		<category><![CDATA[Input Data]]></category>
		<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Owasp]]></category>
		<category><![CDATA[Proper Html]]></category>
		<category><![CDATA[Query Parameters]]></category>
		<category><![CDATA[Security Problems]]></category>
		<category><![CDATA[Security Project]]></category>
		<category><![CDATA[Security Vulnerabilities]]></category>
		<category><![CDATA[Swingset]]></category>
		<category><![CDATA[Top Ten Security]]></category>
		<category><![CDATA[Web Application Security]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Webgoat]]></category>
		<category><![CDATA[Writeln]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=164</guid>
		<description><![CDATA[The Top 10 Web Application security vulnerabilities This and the next series of blog entries will highlight the Top 10 most critical web application security vulnerabilities identified by the Open Web Application Security Project (OWASP). You can use OWASP&#8217;s WebGoat to learn more about the OWASP Top Ten security vulnerabilties. WebGoat is an example web application, which has [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2009/09/30/the-top-10-web-application-security-vulnerabilities/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "The+Top+10+Web+Application+security+vulnerabilities";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "The Top 10 Web Application security vulnerabilitiesThis and the next series of blog entries will highlight the Top 10 most critical web application security vulnerabilities identified by the Open Web Application Security Project (OWASP).You can use OWASP&#8217;s WebGoat to learn more about the OWASP Top Ten security vulnerabilties. WebGoat is an...";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p><span style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse;">The Top 10 Web Application security vulnerabilities<br />
<span id="more-164"></span></p>
<h1></h1>
<p>This and the next series of blog entries will highlight the <a style="color: #2244bb;" href="http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project" target="_blank">Top 10 most critical web application security vulnerabilities</a> identified by the <a style="color: #2244bb;" href="http://www.owasp.org/index.php/Main_Page" target="_blank">Open Web Application Security Project (OWASP)</a>.</p>
<p>You can use OWASP&#8217;s <a style="color: #2244bb;" href="http://www.owasp.org/index.php/Category:OWASP_WebGoat_Project" target="_blank">WebGoat</a> to learn more about the OWASP Top Ten security vulnerabilties. WebGoat is an example web application, which has lessons showing &#8220;what not to do code&#8221;, how to exploit the code, and corrected code for each vulnerability.</p>
<p><img style="width: 300px; height: 252px;" src="http://blogs.sun.com/carolmcdonald/resource/300px-WebGoat-Phishing-XSS-Lesson.JPG" alt="" /></p>
<p>You can use the <a style="color: #2244bb;" href="http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API" target="_blank">OWASP Enterprise Security API </a>Toolkit to protect against the OWASP Top Ten security vulnerabilties.</p>
<p><img style="width: 550px; height: 314px;" src="http://blogs.sun.com/carolmcdonald/resource/550px-Esapi-before-after.JPG" alt="" /></p>
<p><a style="color: #2244bb;" href="http://www.owasp.org/index.php/ESAPI_Swingset" target="_blank">The ESAPI Swingset </a>is a web application which demonstrates the many uses of the Enterprise Security API.</p>
<p><img style="width: 352px; height: 325px;" src="http://blogs.sun.com/carolmcdonald/resource/swingset.jpg" alt="" /></p>
<h2>OWASP Top 10 number 1: XSS = Cross Site Scripting</h2>
<p>Cross Site Scripting (XSS) is one of the most common security problems in today&#8217;s web applications. According to the <a style="color: #2244bb;" href="http://www.sans.org/top-cyber-security-risks/" target="_blank">SANS Top Cyber Security Risks</a>, 60% of the total attack attempts observed on the Internet are against Web applications and SQL injection and Cross-Site Scripting account for more than 80% of the vulnerabilities being discovered. You are at risk of an XSS attack any time you put content that could contain scripts from someone un-trusted into your web pages.<br />
There are 3 types of cross site scripting:</p>
<ul>
<li><span style="font-weight: bold;">Reflected XSS: </span>is when an html page reflects user input data, e.g. from HTTP query parameters or a HTML form, back to the browser, without properly sanitizing the response. Below is an example of this in a servlet:</li>
</ul>
<p></span></p>
<table border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td>
<pre style="font-size: 11px;"> out.writeln(“You searched for: “+request.getParameter(“query”);</pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse;"></p>
<ul>
<li></li>
<li><span style="font-weight: bold;">Stored XSS:</span> is when an Attacker’s input script is stored on the server (eg a database) and later displayed in the web server html pages, without proper HTML filtering. Examples of this are in blogs, or forums where users can input data that will be displayed to others. Below is an example of this in a servlet data is retrieved from the database and returned in the HTML page without any validation:</li>
</ul>
<p></span></p>
<table border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td>
<pre style="font-size: 11px;">out.writeln("&lt;tr&gt;&lt;td&gt;" + guest.name + "&lt;td&gt;" + guest.comment);</pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse;"></p>
<ul>
<li></li>
<li><span style="font-weight: bold;">DOM XSS</span>: is when JavaScript uses input data or data from the server to write dynamic HTML (DOM) elements, again without HTML sanitizing/escaping/filtering.</li>
</ul>
<p>XSS can be used to:</p>
<ul>
<li>deface web pages</li>
<li>hijack user sessions</li>
<li>conduct phishing attacks</li>
<li>execute malicious code in the context of the user&#8217;s session</li>
<li>spread malware</li>
</ul>
<h3>Protecting against XSS</h3>
<p>To protect against XSS all the parameters in the application should be validated and/or encoded before being output in HTML pages.</p>
<ul>
<li>Always validate on the server side for data integrity and security:
<ul>
<li>Validate all input data to the application:</li>
<li>Validate for type, format, length, range, and context before storing or displaying</li>
<li>Use white-listing (what is allowed), reject if invalid, instead of filtering out black-list (what is not allowed)</li>
</ul>
</li>
<li>Output encoding:
<ul>
<li>Explicitly set character encoding for all web pages (ISO-8859-1 or UTF 8):<br />
<span style="font-family: monospace;">&lt;%@ page contentType=&#8221;text/html;charset=ISO-8859-1&#8243; language=&#8221;java&#8221; %&gt;</span></li>
<li>all user supplied data should be HTML or XML entity encoded before rendering</li>
</ul>
</li>
</ul>
<h3>Java specific Protecting against XSS</h3>
<h4>Validating Input with Java</h4>
<ul>
<li>You can use Java regular expressions to validate input, this example from WebGoat allows whitespace, a-zA-Z_0-9, and the characters &#8211; and ,</li>
</ul>
<p></span></p>
<table border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td>
<pre style="font-size: 11px;">
String regex = "[\s\w-,]*";
Pattern pattern = Pattern.compile(regex);
validate(stringToValidate, pattern);</pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse;"></p>
<ul>
<li></li>
<li>Use Framework (Struts, JSF, Spring&#8230;) validators. With Java EE 6 you can use the Bean Validation Framework to centrally define validation constraints on model objects and with JSF 2.0 to extend model validation to the UI. For example here is a JSF 2.0 input field:</li>
</ul>
<p></span></p>
<table border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td>
<pre style="font-size: 11px;">&lt;h:inputText id="creditCard" value="#{booking.creditCardNumber}"/&gt;</pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse;"></p>
<ul>
<li><span style="font-weight: bold;"> </span>Here is the JSF 2.0 booking Managed Bean using the Bean Validation Framework :</li>
</ul>
<p></span></p>
<table border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td>
<pre style="font-size: 11px;">@ManagedBean
public class Booking {
 ...
 @NotNull(message = "Credit card number is required")
 @Size(min = 16, max = 16,
 message = "Credit card number must 16 digits long")
 @Pattern(regexp = "^\d*$",
 message = "Credit card number must be numeric")
 public String getCreditCardNumber() {
 return creditCardNumber;
 }
}</pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse;"></p>
<ul>
<li>In addition there are new JSF 2.0 Validators:
<ul>
<li><a style="color: #2244bb;" href="https://javaserverfaces.dev.java.net/nonav/docs/2.0/pdldocs/facelets/f/validateBean.html" target="_blank">&lt;f:validateBean&gt;</a> is a validator that delegates the validation of the local value to the Bean Validation API.</li>
<li>&lt;f:validateRequired&gt; provides required field validation.</li>
<li><a style="color: #2244bb;" href="https://javaserverfaces.dev.java.net/nonav/docs/2.0/pdldocs/facelets/f/validateRegex.html" target="_blank">&lt;f:validateRegexp&gt;</a> provides regular expression-based validation</li>
</ul>
</li>
<li>Use the <a style="color: #2244bb;" href="http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API" target="_blank">OWASP Enterprise Security API</a> Java Toolkit&#8217;s Validator interface:</li>
</ul>
<p></span></p>
<table border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td>
<pre style="font-size: 11px;">ESAPI.validator().getValidInput(String context,String input,String type,int maxLength,
   boolean allowNull,ValidationErrorList errorList)</pre>
</td>
</tr>
</tbody>
</table>
<p><span style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse;"></p>
<ul>
<li><span style="font-family: monospace;">ESAPI.validator().getValidInput() </span>returns canonicalized and validated input as a String. Invalid input will generate a descriptive ValidationErrorList, and input that is clearly an attack will generate a descriptive IntrusionException.</li>
</ul>
<h4>Output Encoding with Java</h4>
<ul>
<li>You can use Struts output mechanisms such as <span style="font-family: monospace;">&lt;bean:write… &gt;, </span>or use the default JSTL<span style="font-family: monospace;">escapeXML=&#8221;true&#8221;</span> attribute in <span style="font-family: monospace;">&lt;c:out … &gt; </span></li>
<li>You can use the <a style="color: #2244bb;" href="http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API" target="_blank">OWASP Enterprise Security API</a> Java Toolkit&#8217;s <span style="font-family: monospace;">ESAPI Encoder.encodeForHTML()</span>method to encode data for use in HTML content. The encodeForHTML() method uses a &#8220;whitelist&#8221; HTML entity encoding algorithm to ensure that encoded data can not be interpreted as script. This call should be used to wrap any user input being rendered in HTML element content. For example:</li>
</ul>
<p></span></p>
<table border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><span style="font-family: monospace;">&lt;p&gt;Hello, &lt;%=ESAPI.encoder().encodeForHTML(name)%&gt;&lt;/p&gt;</span></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2009/09/30/the-top-10-web-application-security-vulnerabilities/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Quick comparison of MyISAM, Infobright, and MonetDB (mysql)</title>
		<link>http://www.hacking-gurus.net/2009/09/30/quick-comparison-of-myisam-infobright-and-monetdb-mysql/</link>
		<comments>http://www.hacking-gurus.net/2009/09/30/quick-comparison-of-myisam-infobright-and-monetdb-mysql/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 04:39:44 +0000</pubDate>
		<dc:creator>r00t</dc:creator>
				<category><![CDATA[Database Security]]></category>
		<category><![CDATA[Tutorialz]]></category>
		<category><![CDATA[1 Million]]></category>
		<category><![CDATA[Amazon Server]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[Columns]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Deb]]></category>
		<category><![CDATA[Enough Memory]]></category>
		<category><![CDATA[Graph]]></category>
		<category><![CDATA[Loaded]]></category>
		<category><![CDATA[Monet]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Mysqldump]]></category>
		<category><![CDATA[Open Source Community]]></category>
		<category><![CDATA[Oriented Database]]></category>
		<category><![CDATA[Random Numbers]]></category>
		<category><![CDATA[Sql Statements]]></category>
		<category><![CDATA[Sums]]></category>
		<category><![CDATA[Tuning Box]]></category>
		<category><![CDATA[Types Of Queries]]></category>

		<guid isPermaLink="false">http://www.hacking-gurus.net/?p=162</guid>
		<description><![CDATA[Recently I was doing a little work for a client who has MyISAM tables with many columns (the same one Peter wrote about recently). The client&#8217;s performance is suffering in part because of the number of columns, which is over 200. The queries are generally pretty simple (sums of columns), but they&#8217;re ad-hoc (can access any [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.hacking-gurus.net/2009/09/30/quick-comparison-of-myisam-infobright-and-monetdb-mysql/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "new";
		digg_title = "Quick+comparison+of+MyISAM%2C+Infobright%2C+and+MonetDB+%28mysql%29";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "Recently I was doing a little work for a client who has MyISAM tables with many columns (the same one Peter wrote about recently). The client&#8217;s performance is suffering in part because of the number of columns, which is over 200. The queries are generally pretty simple (sums of columns), but they&#8217;re ad-hoc (can access any columns) and it...";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><p><span style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse;">Recently I was doing a little work for a client who has MyISAM tables with many columns (the same one <a style="color: #2244bb;" href="http://www.mysqlperformanceblog.com/2009/09/28/how-number-of-columns-affects-performance/" target="_blank">Peter wrote about recently</a>). The client&#8217;s performance is suffering in part because of the number of columns, which is over 200. The queries are generally pretty simple (sums of columns), but they&#8217;re ad-hoc (can access any columns) and it seems tailor-made for a column-oriented database.</p>
<p><span id="more-162"></span></p>
<p>I decided it was time to actually give <a style="color: #2244bb;" href="http://www.infobright.org/" target="_blank">Infobright</a> a try. They have an open-source community edition, which is crippled but not enough to matter for this test. The &#8220;Knowledge Grid&#8221; architecture seems ideal for the types of queries the client runs. But hey, why not also try <a style="color: #2244bb;" href="http://monetdb.cwi.nl/" target="_blank">MonetDB</a>, another open-source column-oriented database I&#8217;ve been meaning to take a look at?</p>
<p>What follows is not a realistic benchmark, it&#8217;s not scientific, it&#8217;s just some quick and dirty tinkering. I threw up an Ubuntu 9.04 small server on Amazon. (I used this version because there&#8217;s a .deb of MonetDB for it). I created a table with 200 integer columns and loaded it with random numbers between 0 and 10000. Initially I wanted to try with 4 million rows, but I had trouble with MonetDB &#8212; there was not enough memory for this. I didn&#8217;t do anything fancy with the Amazon server &#8212; I didn&#8217;t fill up the /mnt disk to claim the bits, for example. I used default tuning, out of the box, for all three databases.</p>
<p>The first thing I tried doing was loading the data with SQL statements. I wanted to see how fast MyISAM vs. MonetDB would interpret really large INSERT statements, the kind produced by mysqldump. But MonetDB choked and told me the number of columns mismatched. I found reference to this on the mailing list, and skipped that. I used LOAD DATA INFILE instead (MonetDB&#8217;s version of that is COPY INTO). This is the only way to get data into Infobright, anyway.</p>
<h3>The tests</h3>
<p>I loaded 1 million rows into the table. Here&#8217;s a graph of the times (smaller is better):</p>
<p><img title="Load Time" src="http://www.mysqlperformanceblog.com/wp-content/uploads/2009/09/load_time.png" alt="Load Time" width="450" height="320" /></p>
<p>MyISAM took 88 seconds, MonetDB took 200, and Infobright took 486. Here&#8217;s the size of the resulting table on disk (smaller is better):</p>
<p><img title="Table Size in Bytes" src="http://www.mysqlperformanceblog.com/wp-content/uploads/2009/09/table_size_bytes.png" alt="Table Size in Bytes" width="450" height="320" /></p>
<p>MyISAM is 787MB, MonetDB is 791MB, and Infobright is 317MB. Next I ran three queries:</p>
<div style="margin: 0px;"><span><a style="color: #2244bb;" href="http://www.mysqlperformanceblog.com/2009/09/29/quick-comparison-of-myisam-infobright-and-monetdb/" target="_blank">PLAIN TEXT</a></span></div>
<div style="margin: 0px;"><span>SQL:</span></p>
<div style="margin: 0px;">
<div style="margin: 0px;">
<ol>
<li>
<div style="margin: 0px;"><span>SELECT</span> sum<span>(</span>c19<span>)</span>, sum<span>(</span>c89<span>)</span>, sum<span>(</span>c129<span>)</span> <span>FROM</span> t;</div>
</li>
<li>
<div style="margin: 0px;"><span>SELECT</span> sum<span>(</span>c19<span>)</span>, sum<span>(</span>c89<span>)</span>, sum<span>(</span>c129<span>)</span> <span>FROM</span> t <span>WHERE</span> c11&gt; <span>5</span>;</div>
</li>
<li>
<div style="margin: 0px;"><span>SELECT</span> sum<span>(</span>c19<span>)</span>, sum<span>(</span>c89<span>)</span>, sum<span>(</span>c129<span>)</span> <span>FROM</span> t <span>WHERE</span> c11 &lt;<span>5</span>;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Graphs of query performance time for all three databases are really not very helpful, because MyISAM is so much slower that you can&#8217;t see the graphs for the others. So I&#8217;ll give the numbers and then omit MyISAM from the graphs. Here are the numbers for everything I measured:</p>
<p></span></p>
<table border="0">
<thead>
<tr>
<td></td>
<th>myisam</th>
<th>monetdb</th>
<th>infobright</th>
</tr>
</thead>
<tbody>
<tr>
<th>size (bytes)</th>
<td>826000000</td>
<td>829946723</td>
<td>332497242</td>
</tr>
<tr>
<th>load time (seconds)</th>
<td>88</td>
<td>200</td>
<td>486</td>
</tr>
<tr>
<th>query1 time</th>
<td>3.4</td>
<td>0.012</td>
<td>0.0007</td>
</tr>
<tr>
<th>query2 time</th>
<td>3.4</td>
<td>0.15</td>
<td>1.2</td>
</tr>
<tr>
<th>query3 time</th>
<td>2.5</td>
<td>0.076</td>
<td>0.15</td>
</tr>
</tbody>
</table>
<p><span style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse;">And here is a graph of Infobright duking it out with MonetDB on the three queries I tested (shorter bar is better):</p>
<p><img title="MonetDB vs Infobright Query Time" src="http://www.mysqlperformanceblog.com/wp-content/uploads/2009/09/monetdb_infobright_query_time1.png" alt="MonetDB vs Infobright Query Time" width="492" height="320" /></p>
<p>I ran each query a few times, discarded the first run, and averaged the next three together.</p>
<h3>Notes on Infobright</h3>
<p>A few miscellaneous notes: don&#8217;t forget that Infobright is <em>not</em> just a storage engine plugged into MySQL. It&#8217;s a complete server with a different optimizer, etc. This point was hammered home during the LOAD DATA INFILE, when I looked to see what was taking so long (I was tempted to use oprofile and see if there are sleep() statements). What did I see in &#8216;top&#8217; but a program called bhloader. This bhloader program was the only thing doing anything; mysqld wasn&#8217;t doing a thing. LOAD DATA INFILE in Infobright isn&#8217;t what it seems to be. Otherwise, Infobright behaved about as I expected it to; it seemed pretty normal to a MySQL guy.</p>
<h3>Notes on MonetDB</h3>
<p>MonetDB was a bit different. I had to be a bit resourceful to get everything going. The documentation was for an old version, and was pretty sparse. I had to go to the mailing lists to find the correct COPY syntax &#8212; it wasn&#8217;t that listed in the online manual. And there were funny things like a &#8220;merovingian&#8221; process (think &#8220;angel&#8221;) that had to be started before the server would start, and I had to destroy the demo database and recreate it before I could start it as shown in the tutorials.</p>
<p>MonetDB has some unexpected properties; it is not a regular RDBMS. Still, I&#8217;m quite impressed by it in some ways. For example, it seems quite nicely put together, and it&#8217;s not at all hard to learn.</p>
<p>It doesn&#8217;t really &#8220;speak SQL&#8221; &#8212; it speaks relational algebra, and the SQL is just a front-end to it. You can talk XQuery to it, too. I&#8217;m not sure if you can talk dirty to it, but you can sure talk nerdy to it: you can, should you choose to, give it instructions in MonetDB Assembly Language (MAL), the underlying language. An abstracted front-end is a great idea; MySQL abstracts the storage backend, but why not do both? Last I checked, Drizzle is going this direction, hurrah!</p>
<p>EXPLAIN is enlightening and frightening! You get to see the intermediate code from the compiler. <a style="color: #2244bb;" href="http://monetdb.cwi.nl/projects/monetdb/SQL/Documentation/EXPLAIN-Statement.html" target="_blank">The goggles, they do nothing!</a></p>
<p>From what I was able to learn about MonetDB in an hour, I believe it uses memory-mapped files to hold the data in-memory. If this is true, it explains why I couldn&#8217;t load 4 million rows into it (this was a 32-bit Amazon machine).</p>
<p>The SQL implementation is impressive. It&#8217;s a really solid subset of SQL:2003, much more than I expected. It even has CTEs, although not recursive ones. (No, there is no REPLACE, and there is no INSERT/ON DUPLICATE KEY UPDATE.) I didn&#8217;t try the XQuery interface.</p>
<p>Although I didn&#8217;t try it out, there are what looks like pretty useful instrumentation interfaces for profiling, debugging and the like. The query timer is in milliseconds (why doesn&#8217;t mysql show query times in microseconds? I had to resort to Perl + Time::HiRes for timing the Infobright queries).</p>
<p>I think it can be quite useful. However, I&#8217;m not quite sure it&#8217;s useful for &#8220;general-purpose&#8221; database use &#8212; there are a number of limitations (concurrency, for one) and it looks like it&#8217;s still fairly experimental.</p>
<hr style="height: 1px; margin: 0px;" />
</span></p>
<p>via <a href="http://www.mysqlperformanceblog.com/2009/09/29/quick-comparison-of-myisam-infobright-and-monetdb/">Quick comparison of MyISAM, Infobright, and MonetDB</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hacking-gurus.net/2009/09/30/quick-comparison-of-myisam-infobright-and-monetdb-mysql/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

