I motoren til oprettelse af web-fora er der identificeret flere , der muliggør en flertrinsangreb for at udføre vilkårlig PHP-kode på serveren. Problemerne er løst i udgivelsen .
Den første sårbarhed findes i modulerne til publicering og sending af private beskeder, og giver mulighed for indsættelse af JavaScript-kode (XSS), som vil blive udført i browseren, når man ser opslaget eller den modtagne besked. Indsættelse af JavaScript er muligt på grund af forkert konvertering til HTML af indlejrede BBCode. Især tag
«
og dette vil i behandlingen af BBCode «» blive ændret til tag
‹iframe src=»youtube.com/xyz[url]http://onload=evilCode()[/url]»›‹/iframe›
, og efter behandlingen af de øvrige BBCode i
‹iframe src=»youtube.com/xyz‹a href=»http://onload=evilCode()»›..»›‹/iframe›
Dermed lukker den dobbelte citationstegn i ‘href=»‘ attributten «src» og onLoad behandles i konteksten af iframe.
Den anden sårbarhed gør det muligt, at en administrator på forummet kan gemme en PHP-script i webserverens filsystem og organisere dens udførelse. Problemet er til stede i koden til at styre stilen for det aktive tema, som giver mulighed for at generere nye CSS-filer. Sådanne filer gemmes med tilføjelsen af udvidelsen «.css», men størrelsen på feltet i databasen med filnavnet er begrænset til 30 tegn. Derfor kan filen kaldes «26tegn.php.css». Ved gemmen i databasen vil overskydende tegn blive skåret væk, og i sidste ende vil navnet «26tegn.php» blive gemt. Derefter kan man via forummets administrationspanel generere en ny stil, og filen vil blive gemt i «cache»-kataloget med PHP-udvidelsen.
For at udføre angrebet kan en angriber sende en specielt udformet meddelelse til forumadministratoren eller offentliggøre en lignende meddelelse på forummet. Når denne meddelelse ses i browseren i den aktuelle session på forummet og med rettighederne som bruger, der ser meddelelsen, vil den angrebne JavaScript-kode blive udført. Hvis meddelelsen bliver set af administratoren, vil den anden sårbarhed blive udnyttet til at udføre PHP-koden i konteksten af en privilegeret session.
Kilde: opennet.ru
