Cita de: drvy | BSM en 9 Febrero 2013, 01:49 AMObvio, todo tiene su clara solución !
Buenas, siento joder pero toda vulnerabilidad debe tener su solución xD
Una solucion simple, seria comprobar en el index.php si esta definida la variable GET['theme'] y comprobar si el usuario tiene sesc (Una forma de SMF de asegurarse contra los CSRF). Si no lo tiene le devolvemos el tipico 'Hacking Attempt".Código (php) [Seleccionar]if(isset($_GET['theme'])){
if(empty($_GET['sesc']) OR $_GET['sesc']!=$context['session_id']){echo die('Hacking Attempt...');}
}
Puesto que SMF usa otro tipo de cambio de theme no influirá en nada en el sistema de cambio de theme (Themes.php).
Edit:
Poner en el index.php justo después de loadSession(); (linea 136).
Saludos

Lo mismo pensaba, incluso hacer algo tipo:
Código (php) [Seleccionar]
if($_GET['theme']){
echo "Hacking Attemp";
exit;
}
Pero lo de comprobar los tokens de seguridad creo que es más viable.
Saludos !
