<?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>Komentarze do: Wstrzykiwanie \n w preg_match()</title>
	<atom:link href="http://lukasz.pilorz.net/2007/05/03/wstrzykiwanie-n-w-preg_match/feed/" rel="self" type="application/rss+xml" />
	<link>http://lukasz.pilorz.net/2007/05/03/wstrzykiwanie-n-w-preg_match/</link>
	<description>Bezpieczeństwo aplikacji internetowych</description>
	<lastBuildDate>Thu, 04 Jun 2009 21:19:31 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>Autor: Łukasz Pilorz</title>
		<link>http://lukasz.pilorz.net/2007/05/03/wstrzykiwanie-n-w-preg_match/comment-page-1/#comment-356</link>
		<dc:creator>Łukasz Pilorz</dc:creator>
		<pubDate>Fri, 04 May 2007 17:51:28 +0000</pubDate>
		<guid isPermaLink="false">http://lukasz.pilorz.net/index.php/2007/05/03/wstrzykiwanie-n-w-preg_match/#comment-356</guid>
		<description>Dokładnie, ten artykuł świetnie opisuje problem wstrzykiwania nagłówków mailowych, chociaż przyznam, że proponowane rozwiązania nie do końca mi się podobają. eregi() nie jest bezpieczna dla danych binarnych, a rozwiązywanie każdego problemu zewnętrznym (3rd party) patchem może szybko doprowadzić do sytuacji, w której nie jesteśmy w stanie aktualizować PHP do nowszej wersji. Proponowałbym preg_match() (whitelist) lub ewentualnie $header=str_replace(array(&quot;\r&quot;,&quot;\n&quot;),array(&quot;&quot;,&quot;&quot;),$header) (blacklist).

Na marginesie: przykładowy formularz jest podatny na XSS (PHP_SELF).</description>
		<content:encoded><![CDATA[<p>Dokładnie, ten artykuł świetnie opisuje problem wstrzykiwania nagłówków mailowych, chociaż przyznam, że proponowane rozwiązania nie do końca mi się podobają. eregi() nie jest bezpieczna dla danych binarnych, a rozwiązywanie każdego problemu zewnętrznym (3rd party) patchem może szybko doprowadzić do sytuacji, w której nie jesteśmy w stanie aktualizować PHP do nowszej wersji. Proponowałbym preg_match() (whitelist) lub ewentualnie $header=str_replace(array(&#8222;\r&#8221;,&#8221;\n&#8221;),array(&#8222;&#8221;,&#8221;"),$header) (blacklist).</p>
<p>Na marginesie: przykładowy formularz jest podatny na XSS (PHP_SELF).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: fabian</title>
		<link>http://lukasz.pilorz.net/2007/05/03/wstrzykiwanie-n-w-preg_match/comment-page-1/#comment-355</link>
		<dc:creator>fabian</dc:creator>
		<pubDate>Fri, 04 May 2007 17:22:45 +0000</pubDate>
		<guid isPermaLink="false">http://lukasz.pilorz.net/index.php/2007/05/03/wstrzykiwanie-n-w-preg_match/#comment-355</guid>
		<description>http://www.securephpwiki.com/index.php/Email_Injection</description>
		<content:encoded><![CDATA[<p><a href="http://www.securephpwiki.com/index.php/Email_Injection" rel="nofollow">http://www.securephpwiki.com/index.php/Email_Injection</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Łukasz Pilorz</title>
		<link>http://lukasz.pilorz.net/2007/05/03/wstrzykiwanie-n-w-preg_match/comment-page-1/#comment-354</link>
		<dc:creator>Łukasz Pilorz</dc:creator>
		<pubDate>Fri, 04 May 2007 15:59:29 +0000</pubDate>
		<guid isPermaLink="false">http://lukasz.pilorz.net/index.php/2007/05/03/wstrzykiwanie-n-w-preg_match/#comment-354</guid>
		<description>W wydanej wczoraj wersji PHP 5.2.2 zablokowana została możliwość wysyłania dodatkowych nagłówków w pierwszych dwóch parametrach funkcji mail(), ale czwarty parametr jest zawsze podatny na takie ataki, jeśli dane od użytkownika nie są odpowiednio filtrowane.</description>
		<content:encoded><![CDATA[<p>W wydanej wczoraj wersji PHP 5.2.2 zablokowana została możliwość wysyłania dodatkowych nagłówków w pierwszych dwóch parametrach funkcji mail(), ale czwarty parametr jest zawsze podatny na takie ataki, jeśli dane od użytkownika nie są odpowiednio filtrowane.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Łukasz Pilorz</title>
		<link>http://lukasz.pilorz.net/2007/05/03/wstrzykiwanie-n-w-preg_match/comment-page-1/#comment-353</link>
		<dc:creator>Łukasz Pilorz</dc:creator>
		<pubDate>Fri, 04 May 2007 15:54:41 +0000</pubDate>
		<guid isPermaLink="false">http://lukasz.pilorz.net/index.php/2007/05/03/wstrzykiwanie-n-w-preg_match/#comment-353</guid>
		<description>Kolejne linie to kolejne nagłówki emaila, podobnie jak w przypadku dodatkowych nagłówków wstawianych w czwartym parametrze tej funkcji. Wstrzykując znak \n w przypadku funkcji mail() możemy doprowadzić do usunięcia następnych nagłówków lub wstawienia własnych (BCC, Content-Type, From, itp.).

Akurat w funkcji mail() nie stwarza to zwykle niebezpieczeństwa (chociaż może pozwalać np. na wykorzystanie naszej aplikacji do rozprowadzania spamu), ale przy pomocy preg_match weryfikowane są najróżniejsze typy danych.</description>
		<content:encoded><![CDATA[<p>Kolejne linie to kolejne nagłówki emaila, podobnie jak w przypadku dodatkowych nagłówków wstawianych w czwartym parametrze tej funkcji. Wstrzykując znak \n w przypadku funkcji mail() możemy doprowadzić do usunięcia następnych nagłówków lub wstawienia własnych (BCC, Content-Type, From, itp.).</p>
<p>Akurat w funkcji mail() nie stwarza to zwykle niebezpieczeństwa (chociaż może pozwalać np. na wykorzystanie naszej aplikacji do rozprowadzania spamu), ale przy pomocy preg_match weryfikowane są najróżniejsze typy danych.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: fabian</title>
		<link>http://lukasz.pilorz.net/2007/05/03/wstrzykiwanie-n-w-preg_match/comment-page-1/#comment-352</link>
		<dc:creator>fabian</dc:creator>
		<pubDate>Fri, 04 May 2007 12:00:42 +0000</pubDate>
		<guid isPermaLink="false">http://lukasz.pilorz.net/index.php/2007/05/03/wstrzykiwanie-n-w-preg_match/#comment-352</guid>
		<description>.....hmmm, a czy jeżeli w adresie umieścimy dwa adresy e-mail (oddzielone \n) to czy funkcja mail() wyśle dwa maile?</description>
		<content:encoded><![CDATA[<p>&#8230;..hmmm, a czy jeżeli w adresie umieścimy dwa adresy e-mail (oddzielone \n) to czy funkcja mail() wyśle dwa maile?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
