<?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>My Little Black Book &#187; day1</title>
	<atom:link href="http://blog.williegoosen.com/tag/day1/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.williegoosen.com</link>
	<description></description>
	<lastBuildDate>Tue, 24 Aug 2010 11:42:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Evolution of Web Security</title>
		<link>http://blog.williegoosen.com/2010/02/evolution-of-web-security/</link>
		<comments>http://blog.williegoosen.com/2010/02/evolution-of-web-security/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 09:27:12 +0000</pubDate>
		<dc:creator>Willie Goosen</dc:creator>
				<category><![CDATA[Webstock2010]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[day1]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://blog.williegoosen.com/?p=87</guid>
		<description><![CDATA[Presenter : Chris Shiflett Twitter: @shiflett Site: shiflet.org / analog.coop photo credit: Chris Shiflett Security is always a hot topic, and in today&#8217;s world it&#8217;s always good to have a fresh look at web security on the first day of the Webstock 2010 workshops. Chris Shiflett is currently part of a web development co-op Analog and [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><a title="Chris Shiflett" href="http://www.flickr.com/photos/shiflett/3639618407/" target="_blank"><img class="alignright" style="border: 0pt none;" src="http://farm4.static.flickr.com/3406/3639618407_c6e7cfbf66_m.jpg" border="0" alt="Chris Shiflett" width="240" height="160" /></a><br />
Presenter : Chris Shiflett<br />
Twitter: @shiflett<br />
Site: <a href="http://shiflet.org/" target="_blank">shiflet.org</a> / <a href="http://analog.coop" target="_blank">analog.coop</a></p>
<p><small><a title="Attribution-NonCommercial-NoDerivs License" href="http://creativecommons.org/licenses/by-nc-nd/2.0/" target="_blank"><img src="../wp-content/plugins/photo-dropper/images/cc.png" border="0" alt="Creative Commons License" width="16" height="16" align="absmiddle" /></a> photo credit: <a title="Link to Chris Shiflett's photostream" rel="dc:creator cc:attributionURL" href="http://www.flickr.com/photos/shiflett/" target="_blank"><strong>Chris Shiflett</strong></a></small></p>
<p>Security is always a hot topic, and in today&#8217;s world it&#8217;s always good to have a fresh look at web security on the first day of the Webstock 2010 workshops. Chris Shiflett is currently part of a web development co-op Analog and has a keen interest in PHP and web security.  He is also a webstock veteran and author of <a href="http://shiflett.org/books" target="_blank">Essential PHP Security</a>.</p>
<p>At risk of missing any of the important points, please check out the full presentation at the end of my notes.</p>
<p>Fundamentals</p>
<ul>
<li>Defense in depth, use all safeguards available, use <a href="http://www.owasp.org" target="_blank">owasp.org</a>.</li>
<li>Least privilege, lock the system down as much as possible.</li>
<li>Least complicated, complexity allows mistakes to happen.</li>
</ul>
<p>Golden Rule, ok more like a golden acronym &#8211; FI EO</p>
<ul>
<li>Filter input &#8211; ensure any inputs are what you expect and no more.</li>
<li>Escape output &#8211; ensure data going out is not misinterpreted.</li>
</ul>
<p>List of common exploits</p>
<ul>
<li><strong>Cross-Site Scripting</strong> &#8211; an XSS flaw occurs whenever an application takes user supplied data and sends it to a web browser without first validating or encoding that content. XSS allows attackers to execute script in the victim&#8217;s browser which can hijack user sessions, deface web sites and possibly introduce worms.</li>
<li><strong>Cross-Site Request Forgeries</strong> &#8211; a CSRF attack forces a logged-on victim&#8217;s browser to send a pre-authenticated request to a vulnerable web application, which then forces the victim&#8217;s browser to perform a hostile action to the benefit of the attacker. CSRF can be as powerful as the web application that it attacks.</li>
<li><strong>SQL Injection</strong> &#8211; injection occurs when user-supplied data is sent to an interpreter as part of a command or query. The attacker&#8217;s hostile data tricks the interpreter into executing unintended commands or changing data.</li>
<li><strong>Session Fixation</strong> &#8211; attempt to exploit the vulnerability of a system which allows one person to fixate (set) another person&#8217;s session identifier.</li>
<li><strong>Session Hijacking &#8211; </strong>session tokens are often not properly protected. Attackers compromise passwords, keys, or authentication tokens to assume other users&#8217; identities.</li>
<li><strong>Email Injection</strong> &#8211; similar to SQL injection.</li>
<li><strong>Remote Code Injection</strong> &#8211; similar to SQL injection.</li>
</ul>
<p>In a lot of  these attacks it is rather trivial to get the basics right by following the golden acronym FIEO, but all posible defences should be used for defence in depth.  The full presentaion goes into the ways to &#8220;Stop It&#8221;. Also do your own research to pick up on latest trends.  A rather concise resource was mentioned by @nzrob see www.owasp.org <a href="http://www.owasp.org/index.php/Top_10_2007" target="_self">Top 10 vulnerabilities</a> which gives large amount option to protect your application.</p>
<p>The full presentation can be found here,  <a href="http://shiflett.org/evolution-of-web-security.pdf" target="_blank">http://shiflett.org/evolution-of-web-security.pdf</a>.</p>
<p>Tips</p>
<ul>
<li>Specify character encoding and make sure it is consistant from front to back end.</li>
<li>Get users to reconfirm password for important actions like changing password.</li>
<li>Good understanding of http and session management helps with prevention.</li>
<li>Keep source code short and concise.  Complexity breeds flaws.</li>
<li>Human peception can also lead to perceved security breaches &#8211; see <a href="http://blogoscoped.com/archive/2008-01-28-n59.html" target="_self">SmugMug example</a>.</li>
<li>Host static files on separate subdomain to limit session token exposure.</li>
</ul>
<p>Final thoughs were around trending of user behaviour to identifying abnormalities and maybe using something like <a href="https://panopticlick.eff.or/" target="_blank">https://</a><a href="https://panopticlick.eff.or/" target="_blank">panopticlick</a><a href="https://panopticlick.eff.org/" target="_blank">.eff.org/</a> for uniquely identifying users from bots.</p>
<p>Chris did an excellent job in presenting the information in an easily ledgible format and good concrete examples. I am gutted I prioritised another talk over his &#8220;Security-Centered Design&#8221; talk at the Webstock conference but I&#8217;ll be sure to catch up on it when the video is available and post the link here if I remember.</p>
<p>Be Safe :)</p>
<div class="shr-publisher-87"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://blog.williegoosen.com/2010/02/evolution-of-web-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day One Mastering CSS &amp; HTML</title>
		<link>http://blog.williegoosen.com/2009/02/day-one-mastering-css-html/</link>
		<comments>http://blog.williegoosen.com/2009/02/day-one-mastering-css-html/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 10:05:41 +0000</pubDate>
		<dc:creator>Willie Goosen</dc:creator>
				<category><![CDATA[Webstock2009]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[day1]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://blog.williegoosen.com/?p=25</guid>
		<description><![CDATA[After a mad dash from the airport we made it just in time for the first session on the day. We did luck out on the good seats. But not even the neck wrenching all day long could take away from the sessions content.]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><a class="flickr-image alignright" title="Webstock" href="http://www.flickr.com/photos/tashmahal/3030305441/"><small><a title="Attribution License" rel="license" href="http://creativecommons.org/licenses/by/2.0/"></a></small></a></p>
<p><a class="flickr-image alignright" title="Russ Weakley" href="http://www.flickr.com/photos/greendott/3302571751/"><img src="http://farm4.static.flickr.com/3444/3302571751_a2cc9ea6a2_m.jpg" alt="Russ Weakley" /></a>After a mad dash from the airport we made it just in time for the first session on the day. We did luck out on the good seats. But not even the neck wrenching all day long could take away from the sessions content.</p>
<p>I was amazed at the amount of ground that was covered by Russ Weakley. Fast paced and action packed till the last bell rang at 5pm.</p>
<p>Areas of particular interest to me, no i might hear you say du!, but my css and html skills have been hacked togeter like a IE 5 stylesheet.</p>
<ul>
<li>I&#8217;m slowly getting my head around Inline, Block and Terminal Block elements. I&#8217;ll have to go check out that last one again.</li>
<li>Selectors are your friend, esp descendant selectors save you from needing to assign classes unnecessarily</li>
<li>Try and use your site without a mouse, for basic accessibility testing</li>
<li>Check out <a href="http://maxdesign.com.au">http://maxdesign.com.au</a> for some css goodness and examples</li>
<li>display:inline = inflow, display:block = out of flow</li>
<li>CSS Sprites, have all your icons in one gif file to save round trips to the server. Use ample white space(100px) to avoid strange effects when font size gets increased.</li>
<li>User more of &#8220;em&#8221; unit to make site more fluid when font size in the browser gets changed.</li>
<li>Russ finally got me to make sense of &#8220;li&#8221; elements for navigation and how easy they are to work with.</li>
<li>Also see &#8220;Sliding Door&#8221; for nice and neat little tabs with rounded corners. a and span elements are your friends here.</li>
<li>Tables in forms are _bad_ for accessablility</li>
<li>Build for standard compliant browser ALWAYS!!!, you can add IE specific hacks in at IE only style sheet.</li>
<li>When doing a printable stylesheet see &#8220;media&#8221; attribute of the link element.</li>
</ul>
<p>So at the end of a long day im calling it a wrap. The sooner i go to bed the sooner i can go and have a coffee at <a href="http://coffee.gen.nz/cafe/309-deluxe">Delux</a></p>
<blockquote><p><em>Double Margin Float bug is quite bizarre</em> &#8211; Russ(Sounding like the Steve Irwin of CSS)</p></blockquote>
<div class="shr-publisher-25"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://blog.williegoosen.com/2009/02/day-one-mastering-css-html/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

