Skip to content
Een standaard-WordPress stelt 133 REST-routes, 80 XML-RPC-methoden en 1.514 PHP-bestanden bloot; deze statische site draait niets op verzoek

Een statische site heeft niets om in te breken

Deze blog wordt met Hugo gebouwd en als 6.343 gewone bestanden geserveerd, zonder dat er bij welk request dan ook code van mij draait. Daartegenover een standaard-WordPress 7.1.3, gemeten in een podman-lab: 133 REST-routes, waarvan 62 schrijfacties accepteren, 80 XML-RPC-methoden, 1.514 PHP-bestanden, elk van de 3.785 bestanden schrijfbaar voor de eigen gebruiker van de webserver, en een databaseaccount met elk privilege. Deze post telt beide aanvalsoppervlakken, legt uit wat het beveiligingsmodel van Hugo zelf tijdens de build doet, erkent waar het risico naartoe verhuist zodra er op serveertijd niets meer draait, inclusief twee gaten in hoe deze site werd gebouwd, waarvan er één nu gedicht is, en beschrijft hoe je een statische site offline bouwt, één keer, en niets anders uploadt dan de kant-en-klare bestanden.

23 oktober 2026 Â· 17 min Â· 4058 woorden Â· Damien Dye
757 CVE's in de PHP-interpreter sinds 1997, minstens 288 geheugencorruptie, 172 beoordeeld als volledige overname op afstand zonder login

PHP: negenentwintig jaar de deur open laten staan

PHP2Shell, bekendgemaakt op 21 oktober 2026, is remote code execution zonder authenticatie in de PHP-interpreter zelf, in elke versie terug tot 5.4, en misbruikt voordat de patch bestond. Het is de nieuwste regel in een lang dossier: 757 CVE’s tegen de interpreter sinds 1997, minstens 288 daarvan geheugencorruptie en 172 beoordeeld als volledige overname op afstand zonder login. Deze post telt dat dossier uit NVD en de KEV-catalogus van CISA, legt uit waarom een C-engine en een taal die tien jaar nodig had om register_globals te schrappen dezelfde fout twee keer maken, kijkt wat WordPress met de cijfers doet, hoe webshells blijven zitten en hoe je ze tegenhoudt, de twee keer dat er bij php.net zelf werd ingebroken, het deel van het web dat nog versies draait die niemand patcht, en waarom de gebruikelijke inrichting, één proces dat de templates, de logica, de SQL en het databasewachtwoord vasthoudt, van elk van die bugs alles maakt. En waarom ik, nadat ik zelf met PHP ben gestopt, vind dat je moet overwegen het te verlaten voor een geheugenveilige taal zoals Go.

23 oktober 2026 Â· 29 min Â· 8144 woorden Â· Damien Dye