Een weblog heeft de broncode van de in de VS populaire sociale netwerksite Facebook op internet gepubliceerd. De vraag is hoe de sourcecode heeft kunnen uitlekken.
Afgelopen zaterdag publiceerde weblog Facebook Secrets de broncode van de hoofdpagina van Facebook zonder verdere mededelingen. De netwerksite heeft bevestigd dat de publicatie inderdaad de bewuste broncode betreft.
Slechts enkele gebruikers zouden dankzij een verkeerd ingestelde server een fractie te zien hebben gekregen van de code die voor de weergave van Facebook-pagina's zorgt. Het was geen beveiligingslek en de gebruikersdata zou niet gecompromitteerd zijn, verzekert Brandee Barker van Facebook. De code zou ook geen inzicht geven in het functioneren van de site onder de motorkap.
Ondanks dat is de publicatie geen goed nieuws voor de netwerksite; als dit kan gebeuren kun je je afvragen hoe goed de gegevens van gebruikers beschermd zijn, aldus TechCrunch. De code zou volgens hem een potentiële aanvaller een goed startpunt geven. Facebook benadrukt dat webloggers met het publiceren van de code meerdere wetten overtreden en vraagt ze de tekst te verwijderen, desondanks heeft Facebook Secrets de posting laten staan.
Misschien beter geweest om gewoon de include path goed te zetten. Of op z'n minst een constant te gebruiken.include_once $_SERVER['PHP_ROOT'].'/lib/statusupdates.php';
Dat zou een constante moeten zijn en geen variabele. Nu is $PARAM_INT =& $PARAM_STRING mogelijk en opent de boel voor simpele SQL injection en what not over de gehele site. Verder is er ook geen enkel nut om dat variabel te houden.param_get_slashed(array(
'feeduser' => $PARAM_INT, //debug: gets feed for user here
'err' => $PARAM_STRING, // returning from a failed entry on an[...]
[Reactie gewijzigd door elmuerte op maandag 13 augustus 2007 15:01]
[Reactie gewijzigd door intoxicated op maandag 13 augustus 2007 14:12]
Dit lijkt gewoon op een webserver waar PHP (alweer insecure-by-default) nog niet geinstalleerd is.Ondanks dat is de publicatie geen goed nieuws voor de netwerksite; als dit kan gebeuren kun je je afvragen hoe goed de gegevens van gebruikers beschermd zijn, aldus TechCrunch.
[Reactie gewijzigd door Olaf van der Spek op maandag 13 augustus 2007 14:13]
Ja.je zegt nu dat PHP insecure is by default? of snap ik je verkeerd?
Het gaat toch om PHP code?Aangezien PHP niet (goed) geinstalleerd was treft PHP hier imo compleet geen blaam.
cgi-bin is normaal geen sub-directory van htdocs en als cgi dus niet is geconfigueerd is cgi-bin ook niet bereikbaar.Als je je webserver niet goed configureerd zal hij ook je perl/python/whetever scripts uit je /cgi-bin opsturen. Het heeft geen ruk te maken met PHP.
Nee, maar het is wel de standaardmanier en PHP zelf doet er weinig aan dat te voorkomen.En er staat nergens dat je volledige PHP code in document root (of iig binnen een webtree) moet zetten (is volgens mij bij facebook ook niet zo geweest).
Ik ben geneigd om te zeggen van wel. Apps zouden geen lege wachtwoorden moeten ondersteunen.Bull om te zeggen dat het aan PHP ligt. Als jij van een applicatie het wachtwoord leeg laat en iemand kan daardoor naar binnen is het nog geen fout van de applicatie.
Nee hoor, kijk maar naar cgi-bin of fastcgi.Je zet een file publiekelijk beschikbaar. Als jij dan nalaat in te stellen dat die file door een parser moet, is dat jouw domme fout. En er moet altijd iets in de docroot staan om dit dan te benaderen.
Klopt, behalve dat PHP includes erg brak zijn en dat eigenlijk geen enkel script dit standaard ondersteund en PHP het zelf ook niet aanraadt.Als je er dan geen echte code in wilt, kun je altijd nog een "require LIB_DIR . '/index.php';" doen oid. Of is het dan nog steeds 'onveilig'?
Irrelevant, het is een alias naar een bepaalde directory. Als jij vergeet de directory opties goed te zetten voor executie van de scripts gaat het gewoon mis.cgi-bin is normaal geen sub-directory van htdocs en als cgi dus niet is geconfigueerd is cgi-bin ook niet bereikbaar.
[Reactie gewijzigd door elmuerte op maandag 13 augustus 2007 15:37]
Natuurlijk is dat wel relevant. Die alias en de directory opties worden vaak geenabled met één commando. Bovendien zijn na een standaardalias of beide enabled of beide disabled, wat niet geldt voor PHP.Irrelevant, het is een alias naar een bepaalde directory.
Heb ik iets gezegd over Perl?Voor de rest kan je Perl ook op dezelfde manier gebruiken als PHP meestal gebruikt worden, en ook vice-versa.
Waarom niet?maar je kunt van app niet verwachten dat ze een user tegen zichzelf gaan beschermern,
[Reactie gewijzigd door Olaf van der Spek op maandag 13 augustus 2007 19:45]
Oh nee? Hoe ziet de default Apache/PHP setup eruit dan?m.a.w. dit ligt niet aan PHP of Apache by default, maar aan een "incapabele" systeembeheerder
Ja, helaas. Nog steeds is FCGI niet de aanbevolen oplossing.Een default Apache/PHP setup? Ik neem aan dat je bedoeld dat je Apache met mod_php bedoeld?
Inderdaad, maar met het single point of failure dat zodra PHP niet geinstalleerd is de files als plain text worden verstuurd.Die is gewoon secure, .php files worden niet als plain text verstuurd
Ik hoop eigenlijk dat anderen ook inzien dat secure by default beter is, maar veel mensen lijken het liever allemaal op het bordje van de administrator te schuiven.Maar ik denk dat jij alleen maar reageert om fijn te kunnen ranten op PHP.
mod_php is geen extern product van Apache. En Apache/PHP is nou ook weer geen vreemde exotische combinatie waar PHP geen rekening mee zou kunnen houden.Echter PHP zelf heeft weinig te maken met het feit of het secure is of niet, helemaal als je er een extern product als Apache bij gebruikt.
Nee hoor, ik zeg nergens dat JSP of Perl (of ASP in dit geval) beter zijn op dit punt.PHP is een interpreter, je gooit er een script in en na afloop komt er (doorgaands) html code uit. Zelfde verhaal met perl of jsp, en dat vergeet je eventjes
Zodra je uitgaat van een default setup denk ik dat je al gewoon fout bezig bent, je bent in zo'n geval iig niet een partij waar ik een site zou willen hosten.
[Reactie gewijzigd door Olaf van der Spek op dinsdag 14 augustus 2007 08:12]
Single point of failure is bij mij nog wel secure by default, en zolang je niet op clusters of twin configs host heb je altijd een single point of failure. Op deze manier kan je natuurlijk altijd wel redeneren...Inderdaad, maar met het single point of failure dat zodra PHP niet geinstalleerd is de files als plain text worden verstuurd.
Op dit item kan niet meer gereageerd worden.
Populair: Android Tablets Samsung Websites en communities Mobiele telefoons Google Sony Microsoft Games Politiek en recht
© 1998 - 2013 Tweakers.net B.V. Contact Over Tweakers Jouw privacy Algemene voorwaarden Cookies
Tweakers wordt uitgegeven door De Persgroep en wordt gehost door True