Adquisición del código fuente de la página web JD.COM
Probablemente sabemos que el campo a analizar es nloginpwd, pero los otros campos no están claros. Solo estamos mirando de arriba abajo otros paquetes. Según pubkey, suponemos que el método de cifrado probablemente sea RSA. Continúe mirando otros paquetes y encuentre paquetes valiosos para obtener.
La información es:
No se encontraron palabras clave claras, pero podemos suponer que bg, desafío y parche deberían estar relacionados con nuestros parámetros de cifrado, pero no estamos seguros, por lo que Tenemos que continuar analizando el fragmento js de cifrado:
Hay varios campos en el formato $ ("# "), lo que significa que provienen de la página, así que eche un vistazo al código fuente de la página.
Efectivamente, encontré muchas cosas valiosas en el formulario de publicación, de las cuales solo es necesario obtener dos parámetros por separado y el resto se analiza a partir del código fuente html.
Fuente del código de autorización
Es un valor en el código fuente que se obtiene y luego mira el código fuente.
Parece ser una solicitud activada durante una operación de código de verificación. El valor del código de autenticación devuelto se verifica para el paquete de datos solicitado por el código de autenticación.
Esta solicitud parece poco amistosa. Hay varios campos cifrados cuestionables. Dejemos por ahora este parámetro a un lado y sigamos analizando el cifrado de nuestra contraseña.
Vaya más allá en getEntryPTPWD ($('#nloginpwd').val()) y verifique el código fuente.
El núcleo tiene sólo dos líneas.
encrypt . setpublickey(pubKey); return encrypt(pwd); no hay duda de que debe ser cifrado RSA. Continúe viendo el código fuente. Un único archivo de código fuente tiene más de 3300 líneas y la versión abreviada es la siguiente.
JSEncrypt es una biblioteca utilizada por el front-end para implementar el cifrado RSA. Parece que debería estar más estandarizado, así que intento reescribirlo tanto como sea posible. Copiar todo el código fuente en node.js indicará que el navegador y la ventana no están definidos. Este problema es muy simple y está definido en el encabezado del archivo.
var navigator = this
var window = this
Luego intente escribir un programa de llamada al final del archivo.
Es posible devolver con éxito resultados de cifrado RSA.
J.D. La solicitud de publicación de COM no es demasiado difícil y los parámetros también se pueden encontrar en el código fuente, pero su dificultad radica en obtener una solicitud antes de enviar la solicitud de publicación. Esta solicitud está relacionada con la verificación y el nombre de usuario. Es un poco complicado verlo brevemente, así que lo dejaré para el segundo artículo para hablar sobre cómo obtener otros parámetros del parámetro authcode.
Id: La batalla de Python
|Zuo|Zhe|Zhong: La batalla de Python
Céntrate en Python, céntrate en aprender-práctica- resumiendo rastreadores web y RPA.
Si te gusta estudiar y compartir cuellos de botella técnicos, puedes prestar atención.
¡Estudiar solo sin amigos es ignorancia!