<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Jakie pytania na konkursach?</title>
	<atom:link href="http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html</link>
	<description>Moje przeżycia związane z: FLEX, JEE, EJB, JSF, FreeBSD, PostgreSQL i PHP i Windows ;)</description>
	<lastBuildDate>Wed, 08 Feb 2012 16:47:26 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Antoni Jakubiak</title>
		<link>http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4316</link>
		<dc:creator>Antoni Jakubiak</dc:creator>
		<pubDate>Tue, 11 Aug 2009 08:20:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4316</guid>
		<description>&lt;a href=&quot;#comment-4175&quot; rel=&quot;nofollow&quot;&gt;@matipl&lt;/a&gt; filtrowanie tego jest skomplikowane. Pierwsze co przychodzi mi do głowy to wybranie domeny z adresu URL. Następnie należało by sprawdzić, czy nie jest to domena lokalna lub w sieci wewnętrznej.: 127.*, 10.*, 192.*. Natomiast, to nie wyklucza zagrożeń związanych z proxy... Aby zabezpieczyć nasz serwer, by nie mógł służyć do atakowania proxy, należało by wprowadzić limit żądań z jednego adresu IP w określonym czasie...

Tak na prawdę, ten skrypt ma dwa różne problemy. 
Pierwszy pobieranie URL.
Druki wyświetlanie URL. W prawdziwym życiu zanim coś wyświetlimy zwykle następuje przetwarzanie... 

Dobra, my tu sobie bla, bla, bla o teorii. A jaka jest praktyka?
http://www.google.pl/search?q=flex+cross+domain+proxy+php

Jak myślicie, na ilu tysiącach serwerów zainstalowany będzie taki skrypt?</description>
		<content:encoded><![CDATA[<p><a href="#comment-4175" rel="nofollow">@matipl</a> filtrowanie tego jest skomplikowane. Pierwsze co przychodzi mi do głowy to wybranie domeny z adresu URL. Następnie należało by sprawdzić, czy nie jest to domena lokalna lub w sieci wewnętrznej.: 127.*, 10.*, 192.*. Natomiast, to nie wyklucza zagrożeń związanych z proxy&#8230; Aby zabezpieczyć nasz serwer, by nie mógł służyć do atakowania proxy, należało by wprowadzić limit żądań z jednego adresu IP w określonym czasie&#8230;</p>
<p>Tak na prawdę, ten skrypt ma dwa różne problemy.<br />
Pierwszy pobieranie URL.<br />
Druki wyświetlanie URL. W prawdziwym życiu zanim coś wyświetlimy zwykle następuje przetwarzanie&#8230; </p>
<p>Dobra, my tu sobie bla, bla, bla o teorii. A jaka jest praktyka?<br />
<a href="http://www.google.pl/search?q=flex+cross+domain+proxy+php" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/www.google.pl/search?q=flex+cross+domain+proxy+php&amp;referer=');">http://www.google.pl/search?q=flex+cross+domain+proxy+php</a></p>
<p>Jak myślicie, na ilu tysiącach serwerów zainstalowany będzie taki skrypt?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Antoni Jakubiak</title>
		<link>http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4315</link>
		<dc:creator>Antoni Jakubiak</dc:creator>
		<pubDate>Tue, 11 Aug 2009 07:57:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4315</guid>
		<description>Mój krótki przykład miał ilustrować mechanizm często wykorzystywany w serwisach www. Użytkownik podaje jakiś adres. Nasz serwer wczytuje ten adres URL, przetwarza go (czego nie było w tym przykładzie) i kiedyś później prezentuje wyniki... Zadanie jest niby proste. Ale jak wykonać je bezpiecznie?

&lt;a href=&quot;#comment-4184&quot; rel=&quot;nofollow&quot;&gt;@blackfire&lt;/a&gt; ad3. zapętlić da się przez XSS. Ale to już jest takie brzydkie...</description>
		<content:encoded><![CDATA[<p>Mój krótki przykład miał ilustrować mechanizm często wykorzystywany w serwisach www. Użytkownik podaje jakiś adres. Nasz serwer wczytuje ten adres URL, przetwarza go (czego nie było w tym przykładzie) i kiedyś później prezentuje wyniki&#8230; Zadanie jest niby proste. Ale jak wykonać je bezpiecznie?</p>
<p><a href="#comment-4184" rel="nofollow">@blackfire</a> ad3. zapętlić da się przez XSS. Ale to już jest takie brzydkie&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Antoni Jakubiak</title>
		<link>http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4314</link>
		<dc:creator>Antoni Jakubiak</dc:creator>
		<pubDate>Tue, 11 Aug 2009 07:40:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4314</guid>
		<description>&lt;a href=&quot;#comment-4184&quot; rel=&quot;nofollow&quot;&gt;@blackfire&lt;/a&gt; ad 3. racja. Zapętlić tak się nie da...</description>
		<content:encoded><![CDATA[<p><a href="#comment-4184" rel="nofollow">@blackfire</a> ad 3. racja. Zapętlić tak się nie da&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: blackfire</title>
		<link>http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4184</link>
		<dc:creator>blackfire</dc:creator>
		<pubDate>Mon, 03 Aug 2009 20:21:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4184</guid>
		<description>4. Można zDoSować serwer każąc mu zassać dowolny duży plik -- w $contents się obraz typowego DVD raczej nie zmieści.

5. Ponieważ serwujemy dowolny content wskazany przez napastnika, to XSS chyba podpada pod kopanie leżącego, nie? :)

ad. 3. Jakim requestem? Bo na chłopski rozum powinno się dać, ale nie widzę wartości parametru URL, dla którego całość się zapętli. Przy wywołaniu http://foo/?url=http://foo/ strona zostanie pobrana dwa razy, raz z parametrem, a raz bez, więc to takie średnie zapętlenie.</description>
		<content:encoded><![CDATA[<p>4. Można zDoSować serwer każąc mu zassać dowolny duży plik &#8212; w $contents się obraz typowego DVD raczej nie zmieści.</p>
<p>5. Ponieważ serwujemy dowolny content wskazany przez napastnika, to XSS chyba podpada pod kopanie leżącego, nie? :)</p>
<p>ad. 3. Jakim requestem? Bo na chłopski rozum powinno się dać, ale nie widzę wartości parametru URL, dla którego całość się zapętli. Przy wywołaniu <a href="http://foo/?url=http://foo/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/foo/?url=http_//foo/&amp;referer=');">http://foo/?url=http://foo/</a> strona zostanie pobrana dwa razy, raz z parametrem, a raz bez, więc to takie średnie zapętlenie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: matipl</title>
		<link>http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4175</link>
		<dc:creator>matipl</dc:creator>
		<pubDate>Mon, 03 Aug 2009 07:18:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4175</guid>
		<description>Ja ogólnie bym te $_GET[&#039;url&#039;] ładnie przefiltrował, jeśli już musi być w postaci domeny ze wskazaniem na plik, a nie tylko wskazanie na maszynie...</description>
		<content:encoded><![CDATA[<p>Ja ogólnie bym te $_GET['url'] ładnie przefiltrował, jeśli już musi być w postaci domeny ze wskazaniem na plik, a nie tylko wskazanie na maszynie&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Antoni Jakubiak</title>
		<link>http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4147</link>
		<dc:creator>Antoni Jakubiak</dc:creator>
		<pubDate>Sat, 01 Aug 2009 08:14:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4147</guid>
		<description>&lt;a href=&quot;#comment-4146&quot; rel=&quot;nofollow&quot;&gt;@Tomek Nurkiewicz&lt;/a&gt; nie próbowałem - tak na oko to raczej nie przejdzie. Jeżeli podasz jako parametr URL &quot;%73&quot; to w PHP będziesz miał &quot;s&quot; i dalsze polecenia się wykonają, jednak - nic to nie da atakującemu.
Znane mi zagrożenia:
1. Kod działa jako anonimowe proxy, haker może ukryć się za naszym serwerem i napaś na inne serwery w Internecie.
2. Mogą to być wrota to ataku na nasz system, na przykład można pobrać zasoby lokalne, do których dostęp normalnie byłby zabroniony, np.: http://localhost/ lub http://localhost:8080/manager/ i w ten sposób odkryć niedoróbki w konfiguracji. 
3. Można zapętlić serwer.
Kto da więcej?</description>
		<content:encoded><![CDATA[<p><a href="#comment-4146" rel="nofollow">@Tomek Nurkiewicz</a> nie próbowałem &#8211; tak na oko to raczej nie przejdzie. Jeżeli podasz jako parametr URL &#8220;%73&#8243; to w PHP będziesz miał &#8220;s&#8221; i dalsze polecenia się wykonają, jednak &#8211; nic to nie da atakującemu.<br />
Znane mi zagrożenia:<br />
1. Kod działa jako anonimowe proxy, haker może ukryć się za naszym serwerem i napaś na inne serwery w Internecie.<br />
2. Mogą to być wrota to ataku na nasz system, na przykład można pobrać zasoby lokalne, do których dostęp normalnie byłby zabroniony, np.: <a href="http://localhost/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/localhost/?referer=');">http://localhost/</a> lub <a href="http://localhost:8080/manager/" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/localhost_8080/manager/?referer=');">http://localhost:8080/manager/</a> i w ten sposób odkryć niedoróbki w konfiguracji.<br />
3. Można zapętlić serwer.<br />
Kto da więcej?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomek Nurkiewicz</title>
		<link>http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4146</link>
		<dc:creator>Tomek Nurkiewicz</dc:creator>
		<pubDate>Sat, 01 Aug 2009 07:26:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakubiak.eu/2009/07/jakie-pytania-na-konkursach.html#comment-4146</guid>
		<description>A czy taki trick przejdzie? http%73://example.com - %73 to &#039;s&#039; w hex-ascii. Rozwiązaniem byłoby utworzenie instancji klasy URL (w Javie), a tam jest chyba odpowiednia metoda do zwrócenia schematu http/https (?)</description>
		<content:encoded><![CDATA[<p>A czy taki trick przejdzie? http%73://example.com &#8211; %73 to &#8216;s&#8217; w hex-ascii. Rozwiązaniem byłoby utworzenie instancji klasy URL (w Javie), a tam jest chyba odpowiednia metoda do zwrócenia schematu http/https (?)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

