Swiftyinsta: Instagram Ajax Iniciar sesión

Creado en 14 may. 2020  ·  27Comentarios  ·  Fuente: TheM4hd1/SwiftyInsta

¿Instagram acaba de destruir instagram.com/accounts/login/ajax , o solo soy yo?
Parece que no puedo hacer que funcione.
😱

¿Te importa probar el proceso de autenticación básico?
Porque, lamentablemente, una alternativa requeriría demasiadas dependencias en Swift (ya que usa hashes y RSA).

@TheM4hd1 @bariscck


Editar: tampoco funciona en Swiftagram ... 😱 ¿realmente se deshicieron de él?

critical

Todos 27 comentarios

funcionó para mí, sin embargo, no pude obtener el código de desafío de sms, pero funcionó con el correo electrónico.

Swiftagram 's BasicAuthenticator.handleSecond devuelve invalid response , no probé SwiftyInsta .

Tampoco puedo hacerlo funcionar en SwiftyInsta 😢 @bariscck
Ni siquiera puedo hacer que funcione desde Insomnia and Postman… 😱
Espero que sea solo un problema temporal en Instagram, lo que podría explicar que funcione para @TheM4hd1 , que se encuentra en diferentes regiones...

Parece temporal, porque la aplicación web de Instagram usa este punto final actualmente. A ellos tampoco les funciona. Devuelve 400 Bad Request .

la aplicación web también funciona para mí, sin embargo, recuerdo que hace aproximadamente 4 meses sucedió lo mismo y se solucionó después de unas horas.

Sí, sucedió antes, pero solíamos recuperar 400 , lo cual es razonable.
El acceso directo obtiene 405 esta vez. Incluso con HEAD .
Tengo miedo de que puedan estar emigrando lejos de él.
Crucemos los dedos 🤞

hola, yo tambien tengo el mismo problema, te lo solucionaron?

Todavía sin resolver, desafortunadamente @Emretelli7.
Siento que debemos aceptar que el punto final simplemente se ha ido 😢

Hola, ahora instagram usa "enc_password" no puedes usar "contraseña"
image
enc_password usar cifrado AES 256 GCM

https://pastebin.com/raw/nYL2W2bG

@xmmti
Intenté copiar mi enc_password de burp suite y publicarlo con mi nombre de usuario pero me autentiqué: falso

entonces significa que creo que hay algo más que este enc_password

@xmmti
Intenté copiar mi enc_password de burp suite y publicarlo con mi nombre de usuario pero me autentiqué: falso

entonces significa que creo que hay algo más que este enc_password

Solicitud de cuerpo
username= Su nombre de usuario &enc_password= enc_password
image
Yo es trabajo conmigo...

Sí. Es mucho más que eso. Lo insinúo en mi primera nota.
El nuevo método de autenticación sin cabeza requiere herramientas de criptografía que definitivamente no son estándar en Swift. Los hashes son bastante fáciles de conseguir (y ya están en SwiftyInsta a través de CryptoSwift) pero no pude encontrar una biblioteca RSA confiable en el pasado (definitivamente no para versiones no actuales), y sería (al menos) una más dependencia.

El inicio de sesión de API funciona bien conmigo ... solo ajax su enc_password

Por favor, lea mi comentario @xmmti.

Todos somos totalmente conscientes de una solución. Lo estábamos incluso antes de escribir el problema, y ​​​​sabemos que esto sucederá tarde o temprano.
La cosa es que la solución es súper fácil para Node JS, o en Python, pero definitivamente no en Swift porque no hay una buena biblioteca para criptografía y CryptoSwift , actualmente requerida por SwiftyInsta , o cualquier cosa basada en CommonCrypto para el caso, simplemente no es extensa suficiente.


Tendré que bloquear los comentarios de este hilo, porque no queda nada más que añadir.En caso de que decidamos implementar la alternativa (suponiendo que logremos encontrar una biblioteca criptográfica válida), actualizaremos la publicación.Si quieres contribuir, eres más que bienvenido a enviar un PR.

@sbertix
hola, estoy aquí para mi proyecto de python porque estaba teniendo el mismo problema.
Si desea usarlo en su aplicación móvil, puede ejecutar un servidor que ejecuta un script de python para conectarse con su aplicación móvil.

Esto no es un problema para mí @Emretelli7 , pero gracias. 😊
Ya tengo mi autenticación enrutada a través de una aplicación de nodo.
Se trata de proporcionar autenticación básica directamente en SwiftyInsta .

El inicio de sesión básico parece estar funcionando ahora, verifiqué dos cuentas diferentes con y sin 2FA .

Intentaremos usar swift-sodium para AES-GCM-256.
Y SwiftyRSA para la parte RSA.

Tenga cuidado al agregar demasiadas dependencias @MatoMA y tenga en cuenta que SwiftyRSA no funciona en macOS, mientras que swift-sodium es solo para iOS y macOS (sin Catalyst, sin watchOS, sin tvOS, sin Linux), es decir, la característica y el agujero biblioteca si no está empaquetada en otro destino, funcionaría solo en iOS, donde ya puede usar la autenticación basada en la vista web sin ningún problema...\
Intenté implementarlo en SwCrypt (sin completarlo por falta de tiempo) y mostró cierto potencial (aunque todavía está restringido a sistemas habilitados para OpenCrypto).\
Sin embargo, podemos comparar totalmente las implementaciones una vez que hayamos terminado.

Tenga cuidado al agregar demasiadas dependencias @MatoMA y tenga en cuenta que SwiftyRSA no funciona en macOS, mientras que swift-sodium es solo para iOS y macOS (sin Catalyst, sin watchOS, sin tvOS, sin Linux), es decir, la característica y el agujero biblioteca si no está empaquetada en otro destino, funcionaría solo en iOS, donde ya puede usar la autenticación basada en vista web sin ningún problema...
Intenté implementarlo en SwCrypt (sin completarlo por falta de tiempo) y mostró cierto potencial (aunque todavía está restringido a sistemas habilitados para OpenCrypto).
Sin embargo, podemos comparar totalmente las implementaciones una vez que hayamos terminado.

Muchas gracias por su respuesta.
Encontramos alrededor de 1/4 de usuarios que no pudieron iniciar sesión con la autenticación de vista web. Y es difícil para nosotros resolver el problema. Es por eso que queremos que funcione para la API de Android (dispositivo).
Y se sabe que la autenticación de vista web no funciona si los usuarios habilitan 2FA con la aplicación Auth (no mensaje de texto).
Si las bibliotecas anteriores no funcionan, todavía tenemos openssl, la última ruta que intentaremos...

El inicio de sesión basado en web que no funciona es solo un problema con la implementación actual, y definitivamente es más fácil de solucionar.
Lo hice funcionar para Swiftagram , solo importaré la misma clase en SwiftyInsta si la tasa de éxito es tan mala.
De cualquier manera, tener una copia de seguridad de la autenticación básica y que funcione correctamente sigue siendo una prioridad en este momento, no te preocupes 😊

Entonces, ¿cuál crees que es la mejor manera de avanzar con respecto a la compatibilidad, @TheM4hd1?\
He reimplementado BasicAuthenticator en Swiftagram , por lo que podríamos traducirlo totalmente para SwiftyInsta , pero primero debemos decidirnos por eso (por ejemplo, dejar de admitir Linux para que funcione, versiones mínimas del sistema operativo, administradores de dependencias, etc.).

@sbertix , ¿todavía está deshabilitado para ti? parece que funciona de nuevo para mí ahora.

Lo probé la semana pasada y todavía no funcionó.\
Aparentemente, no afecta a todas las cuentas, pero lo están migrando en gran medida (según el renovado interés en enc_password en instagram-private-api ).\
Debería abordarse en SwiftyInsta también en mi humilde opinión.

Como la implementación no es un problema en sí, y podemos portar totalmente Swiftagram , solo se trata de establecer dependencias, etc.

¿Qué pasa con el uso openssl ? Instagram en sí mismo usa openssl , supongo. de esta manera podemos mantener la versión mínima de compatibilidad y compatibilidad con linux también.

Realmente odio confiar en OpenSSL (directamente al menos) en Swift (como la mayoría de la gente jajaja).
Esta es definitivamente "la solución", pero no estoy seguro de que valga la pena implementarla... @ TheM4hd1\
Por todos los medios, si quieres hacerlo, genial, de lo contrario, todavía siento que ir con algo de "nivel superior" debería ser lo suficientemente bueno.

Intenté implementar OpenSSL , funciona bien en un proyecto individual, pero al agregarlo como dependencia, no pude hacerlo, porque se requieren muchos trabajos y aumenta el tamaño de la biblioteca.
Si fuera mi proyecto individual, preferiría usarlo para admitir la versión mínima de iOS. pero parece que no vale la pena hacerlo para la biblioteca.
Así que estoy de acuerdo con portar SwiftaGram , esta es la mejor solución por ahora.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

effecttwins picture effecttwins  ·  16Comentarios

reefer picture reefer  ·  18Comentarios

sbertix picture sbertix  ·  8Comentarios

biox86 picture biox86  ·  12Comentarios

anonrig picture anonrig  ·  3Comentarios