<?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>printf(&#34; SaltwaterC &#34;); &#187; Securitate</title>
	<atom:link href="http://www.saltwaterc.net/category/securitate/feed" rel="self" type="application/rss+xml" />
	<link>http://www.saltwaterc.net</link>
	<description>Developer blog</description>
	<lastBuildDate>Thu, 18 Feb 2010 12:43:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Importanța unui PHP framework bine scris</title>
		<link>http://www.saltwaterc.net/programare/importanta-unui-framework-php-bine-scris.html</link>
		<comments>http://www.saltwaterc.net/programare/importanta-unui-framework-php-bine-scris.html#comments</comments>
		<pubDate>Mon, 11 Jan 2010 21:32:08 +0000</pubDate>
		<dc:creator>SaltwaterC</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programare]]></category>
		<category><![CDATA[Securitate]]></category>

		<guid isPermaLink="false">http://saltwaterc.net/programare/importanta-unui-framework-php-bine-scris.html</guid>
		<description><![CDATA[Spuneam la GeekMeet-ul din octombrie (damn it, iarăși fac referință la el) în timpul prezentării mele, pentru cei absenți, o abordare de la OS până la coder în privința Web Security, despre importanța folosirii unui framework ce să facă în mod implicit filtrare XSS și SQL Injection (SQLi) a input-ului, în biblioteca ce se ocupă [...]]]></description>
			<content:encoded><![CDATA[<p>Spuneam la GeekMeet-ul din octombrie (damn it, iarăși fac referință la el) în timpul prezentării mele, pentru cei absenți, o abordare de la OS până la coder în privința Web Security, despre importanța folosirii unui framework ce să facă în mod implicit filtrare <a href="http://en.wikipedia.org/wiki/Cross-site_scripting" title="Cross-site scripting" target="_blank">XSS</a> și <a href="http://en.wikipedia.org/wiki/SQL_injection" title="SQL injection" target="_blank">SQL Injection</a> (SQLi) a input-ului, în biblioteca ce se ocupă de baza de date. Iar pentru chestii riscante, chiar o filtrare XSS cu <a href="http://htmlpurifier.org/" title="HTML Purifier - Standards-Compliant HTML Filtering" target="_blank">HTML Purifier</a>, o bibliotecă a cărui filtru XSS a fost creat să treacă de <a href="http://ha.ckers.org/xss.html" title="XSS (Cross Site Scripting) Cheat Sheet Esp: for filter evasion" target="_blank">XSS (Cross Site Scripting) Cheat Sheet</a>.</p>
<p>Știu, nu vreau să fac &#8220;carieră&#8221; din astfel de post-uri pe blog și nu prea cred că o să mă vedeți vreodată să trimit chestii către <a href="http://hackersblog.org/" title="hackersblog" target="_blank">http://hackersblog.org/</a>. Sunt preocupat de a proteja, de a-i învăța pe alții cum să se protejeze, și mai puțin de a demonstra vulernabilități. Sunt orientat către ce nu ar trebui să facă aplicația și mai puțin înspre a demonstra cum ajungi acolo. De altel aș prefera ca lumea să nu se ia de &#8216;junk&#8217;-ul de WordPress ce rulează pe blog, sunt prea ocupat pentru a scrie un engine sigur cu un număr echivalent de facilități. Mă rog, va urma un contra-exemplu pentru a susține cele din paragraful anterior.</p>
<p>Povestea începe de la faptul că am avut o mică discuție cu <a href="http://boem.me/" title="necenzurat" target="_blank">necenzurat</a> despre importanța folosirii unui framework, dar el o susținea pe a lui cu alea 10 kile de cod. Doar pentru ce îți trebuie un framework de 1.25 megi (dimensiunea minimă, maxim 1.49) pentru o aplicație banală? Pai în primul rând bune sunt cele de PHP5 folosind OOP și clase cu auto-load. Poți face multiple instalări folosind aceleași surse ale framework-ului exceptând aplicația în sine. Folosești ce încarci. A da, și ai filtrare implicită. De ce? Pentru că nimeni nu este perfect. Greșeli apar și în codul programatorilor ce au trecut de fazele tatonării. Vorbesc din experiența lucrului și mai mult din experiența lucrului în echipă. Dacă tu ca programator nu o dai de gard, se prea poate să dea altul.</p>
<p>Acu recunosc, am trișat puțin. M-am uitat puțin prin cele 10 kile de cod astfel încât buba a fost oarecum imediată. Dar nu imposibil de descoperit cu puțină răbdare și stil având în vedere regulile simple de URL rewrite, destul de evidente, și faptul că era vorba de un singur parametru vulnerabil. De fapt am reușit 3 in 1: XSS, blind SQLi și disclosure în același input.</p>
<p>A da, a folosi mysql_error() în producție este una dintre cele mai proaste idei. XSS-ul și disclosure-ul au fost posibile prin intermediul acestei funcții magice ce ar trebui folosite doar pentru dezvoltare, nu și pentru producție.</p>
<p>Momentan nu dăm poze, așteptăm să aplice patch-ul trimis <img src='http://www.saltwaterc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saltwaterc.net/programare/importanta-unui-framework-php-bine-scris.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BuyBox.ro &#8211; si live deployment-ul</title>
		<link>http://www.saltwaterc.net/rant/buyboxro-si-live-deployment-ul.html</link>
		<comments>http://www.saltwaterc.net/rant/buyboxro-si-live-deployment-ul.html#comments</comments>
		<pubDate>Tue, 30 Jun 2009 20:44:18 +0000</pubDate>
		<dc:creator>SaltwaterC</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[Securitate]]></category>

		<guid isPermaLink="false">http://saltwaterc.net/rant/buyboxro-si-live-deployment-ul.html</guid>
		<description><![CDATA[Deshid o nouă categorie cu acest post și anume o să îmi dau cu părerea și despre securitate. Știu că oricine poate să-și dea cu părerea, dar pe barba mea că nu e cazul de fața. Nu îmi stă în fire să îmi dau cu părerea dacă nu e nimic de zis.
Nu știu cum se [...]]]></description>
			<content:encoded><![CDATA[<p>Deshid o nouă categorie cu acest post și anume o să îmi dau cu părerea și despre securitate. Știu că oricine poate să-și dea cu părerea, dar pe barba mea că nu e cazul de fața. Nu îmi stă în fire să îmi dau cu părerea dacă nu e nimic de zis.</p>
<p>Nu știu cum se face, dar în țărișoara noastră eCommerce + securitate sunt două concepte ce par a fi mutual exclusive, altfel spus sunt disjuncte. Cel puțin cam așa se întâmplă în ultima vreme. Dacă tot faceți update la site sau a dat tanti Tanța cu mătura pe tastatură, măcar puneți în puii mei o pagină de offline, sau băgați erorile în log, în loc să le băgați in browser.</p>
<p><strong>Fatal error</strong>:  require() [<a href="http://www.buybox.ro/function.require">function.require</a>]: Failed opening required &#8216;admin/encriptare.php&#8217; (include_path=&#8217;.') in <strong>/[...]/index.php</strong> on line <strong>13</strong></p>
<p>Știu că este doar un simplu path disclosure, dar e un semn bun faptul că serverul acela nu prea e configurat pentru &#8220;producție&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saltwaterc.net/rant/buyboxro-si-live-deployment-ul.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
