¿Cómo puedo iniciar sesión manualmente en el enrutador HG usando curl?

¿Cómo puedo iniciar sesión manualmente en el enrutador HG usando curl?

¡El problema es que probé el comando curl desde la pestaña de red de Chrome y no funcionó! así que miréla pagina html y descubrí que hace esto

1- Cifre la contraseña a sha256

2- luego base64 codifica el hash sha256

3- luego agrega el hash al desafío (que obtiene de otra página)

4- luego sha 256 la salida de estas líneas de código

 var dbpass = base64encode(SHA256(Password.value)); 
var realpass = dbpass + challange; 
form.addParameter('Password', SHA256(realpass));

¡Lo intenté paso a paso y todavía no funciona! el comando curl de chrome sin limpiar

curl "http://192.168.1.1/index/login.cgi" -H "Connection: keep-alive" -H "Cache-Control: max-age=0" -H "Origin: http://192.168.1.1" -H "Upgrade-Insecure-Requests: 1" -H "DNT: 1" -H "Content-Type: application/x-www-form-urlencoded" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3" -H "Referer: http://192.168.1.1/html/index.asp" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: en-US,en;q=0.9,ar;q=0.8" -H "Cookie: Language=en; SessionID_R3=7EGmyRl6PcjZyCodTPl8zshYtbagRfUEIYm4njyVzkHAjoRgfeg8OLYerWewZlUwo5r4FeTPnsbRyB7eeCiVNf22aoU6E7eDAqAXc4w8iINkdt3srn3pdKYCDjvXmZw5; FirstMenu=Admin_0; SecondMenu=Admin_0_0; ThirdMenu=Admin_0_0_0" --data "Username=admin&Password=3bacd54fb595f90906feb6c68659c96bee5a2f4a594aea3fc50a56c306a04cb5&challange=IkYo7bcXU68FzOOzCPBg" --compressed --insecure

el comando después de limpiarlo un poco

curl "http://192.168.1.1/index/login.cgi" -H "Cookie: Language=en; FirstMenu=Admin_0; SecondMenu=Admin_0_0; ThirdMenu=Admin_0_0_0"   --data "Username=user&Password=16e1c03a0075fa68ddca3398b5cd6342692cb9868b68a4c9c0a92b89311667a8&challange=KCoMUJ4u3SEf7bfDJ3o9"

Eliminé SessionID_R3 porque creo que no es necesario y probé el comando con él y no hizo ninguna diferencia. una conexión exitosa en Wireharkimagen

y la pestaña de red de Chrome

ingrese la descripción de la imagen aquí

Respuesta1

SessionID_R3 no es necesario para iniciar sesión, pero sí para ver las páginas que requieren autenticación y le proporciona una nueva cuando inicia sesión correctamente.

el comando de trabajo

curl "http://192.168.1.1/index/login.cgi" -H "Cookie: Language=en" --data "Username=user&Password=16e1c03a0075fa68ddca3398b5cd6342692cb9868b68a4c9c0a92b89311667a8&challange=KCoMUJ4u3SEf7bfDJ3o9"

Le habría quitado las cookies, pero es obligatorio.

el problema fue el espacio adicional en el cuarto paso que resultó en una 'contraseña+desafío' con hash incorrecto

información relacionada