<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>It's a shampoo world anyway</title>
    <link>https://shampoo.antville.org/</link>
    <description>...la lausige Leben, revisited</description>
    <language>de</language>
    <pubDate>Tue, 12 May 2026 06:47:32 GMT</pubDate>
    <dc:date>2026-05-12T06:47:32Z</dc:date>
    <dc:language>de</dc:language>
    <item>
      <title>OWASP Germany Conference</title>
      <link>https://shampoo.antville.org/stories/1847366/</link>
      <description>&lt;p&gt;Just in case you haven't noticed yet: On November the 25th the &lt;a href="http://www.owasp.org/index.php?title=OWASP_Germany_2008_Conference"&gt;first OWASP Germany Conference&lt;/a&gt; will take place in Frankfurt. It will be a one-day (mostly) two-track event organized by the German chapter. The program looks pretty great. I am especially curious to see &lt;a href="http://fukami.io"&gt;fukami&lt;/a&gt;'s new talk. Furthermore, [shameless plug] Jeremias and I will give a presentation on our XSS detection work (featuring &lt;a href="http://www.noxss.org/"&gt;noXSS&lt;/a&gt; and &lt;a href="http://databasement.net/docs/2008_ACSAC_johns_Engelmann_Posegga_XSSDS.pdf"&gt;XSSDS&lt;/a&gt;). So if you are free on that day, come and join the fun.&lt;/p&gt;</description>
      <pubDate>Tue, 21 Oct 2008 15:41:46 GMT</pubDate>
      <guid>https://shampoo.antville.org/stories/1847366/</guid>
      <dc:creator>Maddin</dc:creator>
      <dc:date>2008-10-21T15:41:46Z</dc:date>
    </item>
    <item>
      <title>Travel ahead</title>
      <link>https://shampoo.antville.org/stories/1797294/</link>
      <description>&lt;p&gt;I am traveling this week. First I will attend the &lt;a href="http://www.owasp.org/index.php/OWASP_AppSec_Europe_2008_-_Belgium"&gt;OWASP Europe&lt;/a&gt; conference in Ghent to give a &lt;a href="http://www.owasp.org/index.php/AppSecEU08_Scanstud_-_Evaluating_static_analysis_tools"&gt;talk&lt;/a&gt; with &lt;a href="http://www.jodeit.org/"&gt;Moritz&lt;/a&gt; on our static-analysis-evaluation-project. Then on Friday I will fly from Bruessels to Berlin for &lt;a href="http://ph-neutral.darklab.org/"&gt;ph-neutral&lt;/a&gt;. If one of the three readers of this blog is at one of these events, let me know so that we can hang out and talk web sec.&lt;/p&gt;</description>
      <pubDate>Mon, 19 May 2008 14:35:26 GMT</pubDate>
      <guid>https://shampoo.antville.org/stories/1797294/</guid>
      <dc:creator>Maddin</dc:creator>
      <dc:date>2008-05-19T14:35:26Z</dc:date>
    </item>
    <item>
      <title>New LocalRodeo Version</title>
      <link>https://shampoo.antville.org/stories/1615662/</link>
      <description>&lt;p&gt;We just released a new version of &lt;a href="http://databasement.net/labs/localrodeo/"&gt;LocalRodeo&lt;/a&gt;, our little anti-JavaScript-malware Firefox extension.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Release notes:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt; &lt;li&gt;Fixes for some issues found by &lt;a href="http://blog.php-security.org/"&gt;Stefan Esser&lt;/a&gt; and &lt;a href="http://ha.ckers.org"&gt;RSnake&lt;/a&gt; (thank you).&lt;/li&gt;&lt;li&gt;Better UI to (de)activate the extension.&lt;/li&gt;&lt;li&gt;Notifications through the JavaScript console.&lt;/li&gt;&lt;li&gt;Debug-mode. If the debug checkbox is activated, Firefox will print verbose debug messages to the commandline-console that was used to start the browser. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So, if you are interested please take &lt;a href="http://databasement.net/labs/localrodeo/"&gt;LocalRodeo&lt;/a&gt; for a testdrive and let &lt;a href="mailto:localrodeo%20AT%20databasement%20DOT%20net"&gt;us&lt;/a&gt; know if anything breaks.&lt;/p&gt;</description>
      <pubDate>Wed, 18 Apr 2007 15:21:20 GMT</pubDate>
      <guid>https://shampoo.antville.org/stories/1615662/</guid>
      <dc:creator>Maddin</dc:creator>
      <dc:date>2007-04-18T15:21:20Z</dc:date>
    </item>
    <item>
      <title>LocalRodeo - Client-side protection against JavaScript Malware</title>
      <link>https://shampoo.antville.org/stories/1576678/</link>
      <description>&lt;p&gt;After contributing to show how to &lt;a href="http://shampoo.antville.org/stories/1451301/"&gt;break&lt;/a&gt; &lt;a href="http://shampoo.antville.org/stories/1566124/"&gt;things&lt;/a&gt;, it is about time to start fixing things: &lt;a href="http://sunny-winter.de/"&gt;Justus Winter&lt;/a&gt; and I are happy to present the first (beta) version of &lt;b&gt;&lt;a href="http://databasement.net/labs/localrodeo/"&gt;LocalRodeo&lt;/a&gt;&lt;/b&gt;, a Firefox extension that aims to protect against attacks which lately have been summarized under the term &lt;a href="http://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Grossman.pdf"&gt;JavaScript Malware&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;LocalRodeo specifically counters two attack vectors:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Intranet Exploration&lt;/b&gt; (i.e. JavaScript portscanning and fingerprinting): The extension classifies all network locations to be either &lt;i&gt;local&lt;/i&gt; or &lt;i&gt;external&lt;/i&gt;, with local locations being part of the intranet. All http requests that have an external origin (i.e. were generated within the execution context of an external webpage) and a local target (i.e. an intranet resource) are canceled by LocalRodeo.&lt;/li&gt; &lt;li&gt;&lt;b&gt;Anti DNS-Pinning:&lt;/b&gt; LocalRodeo detects this attack method by monitoring DNS answers. The switch of a given domain from &lt;i&gt;external&lt;/i&gt; to &lt;i&gt;local&lt;/i&gt; (or vice versa) is a clear indication of an anti-pinning attack. If such a switch is detected, all further requests from or to the malicious domain are prohibbited.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If you feel like it, please take the extension for a testdrive and let &lt;a href="mailto:localrodeo AT databasement DOT net"&gt;us&lt;/a&gt; know if anything went wrong. Enjoy.&lt;/p&gt;&lt;p&gt;&lt;del&gt;&lt;b&gt;Due to problems at my provider, the LocalRodeo webpage can't be reached temporarily. I hope that problem will we solved in the next hours. &lt;a href="http://polyboy.net/databasement.net/labs/lr/index.html"&gt;Here is an replacement site.&lt;/a&gt;&lt;/b&gt;&lt;/del&gt; (problem solved)&lt;/p&gt;</description>
      <pubDate>Mon, 19 Feb 2007 11:28:01 GMT</pubDate>
      <guid>https://shampoo.antville.org/stories/1576678/</guid>
      <dc:creator>Maddin</dc:creator>
      <dc:date>2007-02-19T11:28:01Z</dc:date>
    </item>
    <item>
      <title>Using Java in anti DNS-pinning attacks (Firefox and Opera)</title>
      <link>https://shampoo.antville.org/stories/1566124/</link>
      <description>&lt;p&gt;As the JavaVM employs its own DNS-pinning, Java applets are in general unaffected by &lt;a href="http://shampoo.antville.org/stories/1451301/"&gt; anti DNS-pinning attacks&lt;/a&gt;.  However, &lt;a href="http://www.jumperz.net/index.php"&gt;Kanatoko&lt;/a&gt; and I recently came up with a method that enables the usage Java code in anti DNS-pinning attacks anyway (at least in Firefox and Opera).&lt;/p&gt;&lt;p&gt;The JavaScript-engines of the Firefox and Opera browsers offer a nice interface to Java classes: The &lt;a href="http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide: LiveConnect_Overview"&gt;LiveConnect&lt;/a&gt; feature of JavaScript 1.5, which allows to instantiate and access objects from the JDK. For example a Java socket can be opened this way:&lt;/p&gt;&lt;blockquote&gt;&lt;tt&gt;var Socket = new java.net.Socket(host,port);&lt;/tt&gt;&lt;/blockquote&gt;&lt;p&gt;It turns out that if such a JavaScript-to-Java call is executed &lt;b&gt;after&lt;/b&gt; the DNS-pinning has been broken, the JVM uses the newly assigned DNS entry (now pointing to an intranet host). While it is probably not as powerful as using arbitrary Java applets, this method still expands the means of an anti-pinning attack significantly (especially if the attacked browser does not allow Flash). Check out &lt;a href="http://www.jumperz.net/index.php?i=2&amp;a=1&amp;b=9"&gt;Kanatoko's demo&lt;/a&gt; that uses the Java socket class to do a low level portscan.&lt;/p&gt;&lt;p&gt;It is about time for the browser vendors to start getting active in respect to anti-pinning issues.&lt;/p&gt;</description>
      <pubDate>Sun, 04 Feb 2007 20:38:54 GMT</pubDate>
      <guid>https://shampoo.antville.org/stories/1566124/</guid>
      <dc:creator>Maddin</dc:creator>
      <dc:date>2007-02-04T20:38:54Z</dc:date>
    </item>
    <item>
      <title>Anti DNS-pinning revisited</title>
      <link>https://shampoo.antville.org/stories/1548035/</link>
      <description>&lt;p&gt;After &lt;a href="http://www.jumperz.net/index.php?i=2&amp;a=1&amp;b=7"&gt;discovering that accessing a closed port is sufficient&lt;/a&gt; to cause most web browsers to drop their DNS-pinning, Kanatoko Anvil worked further to refine my &lt;a href="http://shampoo.antville.org/stories/1451301/"&gt;anti DNS-pinning&lt;/a&gt; technique: If a browser drops the pinned DNS mapping for a certain domain, it does not only affect JavaScript but also Flash objects. This way same-origin restriction for the &lt;a href="http://livedocs.macromedia.com/labs/as3preview/langref/flash/net/Socket.html"&gt;low level socket functions&lt;/a&gt; of Action Script 3.0 can be circumvented, effectively allowing binary network connections with arbitrary hosts. Check out his &lt;a href="http://www.jumperz.net/index.php?i=2&amp;a=3&amp;b=3"&gt;demo&lt;/a&gt;. Now it seems only a matter of time until somebody ports  &lt;a href="http://insecure.org/nmap/"&gt;Nmap&lt;/a&gt; to run in a Flash applet. Quite scary.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; Flash does &lt;a href="http://sla.ckers.org/forum/read.php?6,4511#msg-6253"&gt;not even pin DNS&lt;/a&gt; (!). All it takes is a short-lived DNS entry. It is still &lt;a href="http://www.cs.princeton.edu/sip/news/dns-scenario.html"&gt;1996&lt;/a&gt; for Adobe.&lt;/p&gt;</description>
      <pubDate>Fri, 12 Jan 2007 14:24:47 GMT</pubDate>
      <guid>https://shampoo.antville.org/stories/1548035/</guid>
      <dc:creator>Maddin</dc:creator>
      <dc:date>2007-01-12T14:24:47Z</dc:date>
    </item>
    <item>
      <title>Browser add-on security (Part II): XSSed by Acrobat Reader</title>
      <link>https://shampoo.antville.org/stories/1542044/</link>
      <description>&lt;p&gt;At the &lt;a href="http://events.ccc.de/congress/2006/Home"&gt;23C3&lt;/a&gt; Stefano Di Paola and Giorgio Fedon from OWASP Italy gave a talk on various methods to undermine the &lt;a href="http://events.ccc.de/congress/2006/Fahrplan/events/1602.en.html"&gt;security of AJAX&lt;/a&gt; applications. Part of their presentation was the disclosure of an universal XSS (UXSS) problem with Adobe Acrobat reader in connection with Firefox: Acrobat reader supports &lt;a href="http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf"&gt;&amp;quot;open parameter&amp;quot;&lt;/a&gt;, a method to pass additional display information to a pdf that is served from a web server (e.g. to autofill some forms). Some of these parameters accept general URLs as input. In such a case the reader plug-in request the given URL and uses the received data to determine how the pdf should be displayed:&lt;/p&gt;&lt;blockquote&gt;&lt;tt&gt;http://site.com/info.pdf#XML=http://othersite.com/formfill&lt;/tt&gt;&lt;/blockquote&gt;&lt;p&gt;But if a &lt;tt&gt;javascript:&lt;/tt&gt;-URL is used as part of the pdf's URL, Firefox executes this javascript in the context of the domain the pdf was received from:&lt;/p&gt;&lt;blockquote&gt;&lt;tt&gt;http://site.com/info.pdf#XML=javascript:alert("document.cookie");&lt;/tt&gt;&lt;/blockquote&gt;&lt;p&gt;This results in creating a XSS problem in every single web application that host at least one pdf-file and that is accessed by a Firefox/Acrobat Reader combination (so approx. 10% of all browsers). Autsch.&lt;/p&gt;&lt;p&gt;Here ar some links for further information:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The &lt;a href="http://www.wisec.it/vulns.php?page=9"&gt;original advisory&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The issue is also explained in Stefano's and Giorgio's &lt;a href="http://events.ccc.de/congress/2006/Fahrplan/attachments/1158-Subverting_Ajax.pdf"&gt;23C3 paper&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.disenchant.ch/blog/hacking-with-browser-plugins/34"&gt;Sven Vetsch&lt;/a&gt; and &lt;a href="http://www.gnucitizen.org/blog/danger-danger-danger/"&gt;pdp&lt;/a&gt; have some PoC code.&lt;/li&gt;&lt;li&gt;Adobe's open parameter &lt;a href="http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf"&gt;documentation&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Adobe patched the problem with Acrobat Reader &lt;a href="http://www.adobe.com/products/reader/"&gt;version 8.0&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Lessons learned:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;This issue is an excellent example how third party add-ons can undermine the security of otherwise well audited web applications (like my finding on &lt;a href="http://shampoo.antville.org/stories/1537256/"&gt;Greasemonkey scripts&lt;/a&gt; with the difference that the install-base of Acrobat Reader is a lot (!) bigger that the number of people using Greasemonkey).&lt;/p&gt;&lt;p&gt;Therefore, one advice to all developer and owner of web applications: All content that you serve from your application that is interpreted by a third party browser add-on may be subject to client-side XSS problems. As the cause for these problems lies within the browser add-on, there is few that can be done on the server side. For this reason all static non-html content (like pdfs, swfs, ...) should be served from a separate subdomain (e.g. pdf.site.com). If a client-side UXSS exists, only this subdomain is affected and the main application (hosted on www.site.com) is still safe.&lt;/p&gt;&lt;p&gt;An interesting side note: When i talked to Stefano and Giorgio at the 23C3 congress, it seemed as if they were under the impression that this was only a minor discovery compared to the memory corruption vulnerability they found in Acrobat reader. While this is somewhat true, their other discovery could lead to complete owning of the victim's computer, a UXSS in that magnitude simply was not discovered in the wild before. Cudos guys.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; &lt;a href="http://ha.ckers.org/blog/20070103/pdf-xss-can-compromise-your-machine/"&gt;It turned out&lt;/a&gt; that by accessing a pdf file from the local harddisc via the &lt;tt&gt;file://&lt;/tt&gt; protocol specifier, the attacker can also execute JavaScript inn the security context of the local computer, thus allowing the JavaScript access to private resources like e.g., local files.&lt;/p&gt;</description>
      <pubDate>Thu, 04 Jan 2007 10:19:23 GMT</pubDate>
      <guid>https://shampoo.antville.org/stories/1542044/</guid>
      <dc:creator>Maddin</dc:creator>
      <dc:date>2007-01-04T10:19:23Z</dc:date>
    </item>
  </channel>
</rss>

