Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Nederlands hackproject ontdekt kwetsbaarheden in vijf Wordpress-plug-ins

Het Nederlandse hackproject Summer of Pwnage heeft kwetsbaarheden in verschillende Wordpress-plug-ins ontdekt. Het gaat om WooCommerce, Ninja Forms, Icegram, Video Player en Paid Membership Pro. Er zijn inmiddels updates beschikbaar.

Het project heeft verschillende advisories gepubliceerd. Er zijn meerdere kwetsbaarheden gevonden, omdat Wordpress op dit moment het onderwerp is van Summer of Pwnage. De plug-in WooCommerce wordt door miljoenen websites gebruikt, zo stelt ontdekker Han Sahin. De kwetsbaarheid betreft een cross-site scripting-lek, waardoor een aanvaller door middel van een speciaal gegenereerde afbeelding sessietokens en login-gegevens kan stelen. Het lek is verholpen in versie 2.6.3 van de plug-in.

De Ninja Forms-plug-in is in gebruik op ongeveer 600.000 sites. Het lek in deze software betreft eveneens een xss-bug en stelt een aanvaller in staat om kwaadaardige javascript-code uit te laten voeren binnen de applicatie. Een oplossing is aanwezig in versie 2.9.52. Bij de minder populaire Video Player-plug-in gaat het om een sql injection-lek. De overige twee plug-ins zijn eveneens vatbaar voor xss.

Summer of Pwnage vindt gedurende de maand juli plaats in Amsterdam.

Door Sander van Voorst

Nieuwsredacteur

20-07-2016 • 14:42

97 Linkedin

Reacties (97)

Wijzig sortering
Je bekijkt Wordpress overduidelijk uitsluitend vanuit programmeurs-perspectief. En in dat opzicht zit er iets in wat je zegt: de code is niet modern, niet heel consistent en lang niet overal optimaal qua efficiëntie.

Maar: er is veel en veel meer aan een CMS dan alleen de programmatuur. Wordpress heeft een enorme community waar veel kennis, informatie, plugins en thema's uit voortkomen. Wordpress is gratis, open source, wordt regelmatig bijgewerkt, heeft weinig veiligheidsproblemen in verhouding tot de populariteit, het contentbeheer werkt mooi en eenvoudig, en het systeem is enorm goed uit te breiden. Ook veel professionele sites draaien erop, want met een klein aantal goede plugins, een eigen thema en de nodige tweaks en optimalisaties is het een zeer bruikbaar platform voor het bijhouden van een website / app.

Voor een volleerd programmeur die OOP en perfect gestructureerde code verwacht is het een rommeltje. Voor wie Wordpress gewend is, is het grotendeels prima, en is er eigenlijk geen enkel ander CMS dat in de buurt komt qua community / kennisdeling / de andere factoren die ik hierboven noemde. De gekke naamgeving van functies, en bijv het eigen systeem van filters en actions, neem ik voor lief. Ik heb er zelfs van leren houden, met wratten en al :)

[Reactie gewijzigd door geert1 op 20 juli 2016 15:55]

Da's veel te sterk uitgedrukt. Wordpress is niet zozeer krakkemikkig. Met de beveiliging is het redelijk goed gesteld, kijkend naar het beperkte aantal problemen terwijl het platform gebruikt wordt door 25% van het internet en dus een flink doelwit is. De performance is redelijk (stukje trager dan sommige andere cms-en), maar sterke caching-plugins maken 'm razendsnel. De code is rommelig in de zin dat het een combi is van oud en nieuw (vanwege backwards compatibility is er nooit een complete herstart geweest), dat de naamgeving van functies niet altijd lekker consistent is, dat het deels object-georiënteerd is en deels procedureel, en dat WP een eigen event-driven structuur heeft die niet overeenkomt met algemene code-principes en best practices.

Een belangrijke reden hiervoor, naast de genoemde backwards compatibility, is dat Wordpress geschreven is om ook zelf geschoolde programmeurs relatief eenvoudig te laten inhaken. Class-based code is lastiger om te leren dan het event-driven patroon met hooks, actions en filters. Het maken van plugins en thema's is hierdoor ook echt eenvoudig en toch krachtig. Wie object-georiënteerd wil werken, zal Wordpress moeten vermijden. Maar wie de logica van Wordpress accepteert, werkt er met plezier mee (met hier een daar een frons).

[Reactie gewijzigd door geert1 op 20 juli 2016 23:22]

Kan iemand nu eens een concreet voorbeeld geven van wat er nu zo slecht geprogrammeerd is aan Wordpress? Dat iemand een brakke plugin kan schrijven, dat snap ik, maar geef eens een passage code van Wordpress zelf dat dan slecht in elkaar zit.

Mijn ervaringen met Wordpress zijn helemaal niet slecht en Wordpress vangt al veel security-issues (sanitizing, etc.) af met standaardfunctionaliteit. Het gaat pas mis als thema- en pluginbouwers eigen functies gaan schrijven die geen gebruik maken van "standaard" Wordpress functies.

En vanwege de omvang zal in Wordpress vast niet alles even efficiënt geprogrammeerd zijn, maar ik vind "slecht in elkaar" wat te negatief.
Ik ben met mijn collega's een tijdje terug bij A Day Of Rest in Londen geweest, over de implementatie van de Rest API in WordPress. Daar waren veel core-developers van WordPress aanwezig en ze zijn er volledig van op de hoogte dat 'hun' programma zo te boek staat, en ze ontkennen het ook niet. Ze hebben echter wel een pro-actieve community die continu bezig is om dit te verbeteren. Alle pijnpunten (zeg maar 'groeipijnen') zijn bekend en wordt aan gewerkt.

Helemaal from-scratch beginnen is ronduit zonde van alles wat er al staat, en ook lang niet zonder risico (zie de release van Magento2.0 t.o.v. jarenlange doorlopende development van 1.x).

Op dit item kan niet meer gereageerd worden.


Apple iPhone SE (2020) Microsoft Xbox Series X LG CX Google Pixel 4a CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True