wordpress-vulnerability
wordpress-vulnerability

WordPress 4.7.0/4.7.1 Unauthenticated Content Injection

Breves nostas de la vulnerabilidad:

La vulnerabilidad reside en la API Rest de WordPress. En nuestro caso se encuentra en http://albertomagallon.es/wp-json/
Se puede encontrar buscando en el código fuente de la página la URL: https://api.w.org/

Cuando se actualiza una entrada se envía a la API Rest el identificador de la entrada a actualizar. Este identificador debe de ser númerico.
Si se añaden carácteres alfanuméricos detrás del identificador, la función que valida los permisos (update_item_permissions_check) no encuentra la entrada y no valida nada.

Wordpress API Rest vuln 1

WordPress API Rest vuln 1

Aquí viene el primer error, aún no habiendo validado ningún permiso porque no ha encontrado la entrada que hay que actualizar, el flujo de ejecución continúa hacia la función que actualiza la entrada (update_item).
En este punto lo lógico sería que de nuevo tampoco encontrara la entrada pero en cambio hace la búsqueda de otra manera. Antes de llamar a la función get_post para búscar la entrada con el valor alfanumérico que le hemos pasado, hace un cast de la variable con (int)$request[‘id’];.

Wordpress API Rest vuln 2

WordPress API Rest vuln 2

Esto en PHP resulta en una omisión de los carácteres alfabéticos quedando únicamente los númericos. Es decir, ésta vez la función si que encuentra la entrada y la actualiza sin tener permisos. El segundo error.

La salida del siguiente código:


#!/usr/bin/php
<?php
$id = ((int)"1234ABCDE");
echo $id
?>

es 1234

Detalles de la vulnerabilidad en el blog de Sucuri: https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html

Exploit en github: https://gist.github.com/leonjza/2244eb15510a0687ed93160c623762ab

Exploit-db: https://www.exploit-db.com/exploits/41223/

 

FortiGate Backdoor
FortiGate Backdoor

Backdoor en FortiGate OS desde la version 4.x hasta la 5.0.7

No ha pasado ni un mes del último backdoor publicado en los appliance Juniper y hoy se ha publicado otro en FortiGate. Se trata de nuevo de una contraseña hardcodeada aunque en este caso el acceso no es ‘directo’. A través de SSH utilizando el usuario Fortimanager_Access se genera un clave numérica que combinada con otras cadenas fijas como ‘FGTAbc11*xy+Qqz27’ y hasheando el resultado en SHA1 obtenemos la contraseña.

Read more

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies