Swiftyinsta: Connexion Instagram Ajax

Créé le 14 mai 2020  ·  27Commentaires  ·  Source: TheM4hd1/SwiftyInsta

Est-ce qu'Instagram vient de bombarder instagram.com/accounts/login/ajax ou est-ce juste moi ?
Je n'arrive pas à le faire fonctionner.
😱

Cela vous dérange-t-il de tester le processus d'authentification de base ?
Parce que malheureusement, une alternative nécessiterait beaucoup trop de dépendances dans Swift (car elle utilise à la fois des hachages et RSA).

@TheM4hd1 @bariscck


Edit : ne fonctionne pas non plus dans Swiftagram … 😱 viennent-ils vraiment de s'en débarrasser ?

critical

Tous les 27 commentaires

cela a fonctionné pour moi, mais je n'ai pas pu obtenir le code de défi par SMS, mais cela a fonctionné avec le courrier électronique.

Swiftagram BasicAuthenticator.handleSecond renvoie invalid response , je n'ai pas testé SwiftyInsta .

Je ne peux pas non plus le faire fonctionner sur SwiftyInsta 😢 @bariscck
Je ne peux même pas le faire fonctionner depuis Insomnia et Postman… 😱
J'espère que ce n'est qu'un problème temporaire sur Instagram, ce qui pourrait expliquer qu'il fonctionne pour @TheM4hd1 , étant dans différentes régions…

Cela semble temporaire, car l'application Web d'Instagram utilise actuellement ce point de terminaison. Cela ne fonctionne pas pour eux non plus. Renvoie 400 Bad Request .

l'application Web fonctionne aussi pour moi, mais je me souviens qu'il y a environ 4 mois, la même chose s'est produite et a été corrigée après quelques heures.

Oui, c'est arrivé avant, mais nous avions l'habitude de récupérer 400 , ce qui est raisonnable.
L'accès direct obtient 405 cette fois. Même avec HEAD .
J'ai peur qu'ils s'en éloignent.
Croisons simplement les doigts 🤞

Bonjour, moi aussi j'ai le même problème, est-ce résolu pour vous ?

Toujours non résolu, malheureusement @Emretelli7.
J'ai l'impression que nous devons accepter que le point final est juste parti 😢

Bonjour, maintenant instagram utilise "enc_password" vous ne pouvez pas utiliser "password"
image
enc_password utilise le cryptage AES 256 GCM

https://pastebin.com/raw/nYL2W2bG

@xmmti
j'ai essayé de copier mon enc_password de burp suite et de le poster avec mon nom d'utilisateur mais je me suis authentifié: false

donc cela signifie que je pense qu'il y a quelque chose de plus que ce enc_password

@xmmti
j'ai essayé de copier mon enc_password de burp suite et de le poster avec mon nom d'utilisateur mais je me suis authentifié: false

donc cela signifie que je pense qu'il y a quelque chose de plus que ce enc_password

Demande de corps
username= Votre nom d'utilisateur &enc_password= enc_password
image
moi ça marche avec moi...

Ouais. C'est bien plus que cela. J'y fais allusion dans ma première note.
La nouvelle méthode d'authentification sans tête nécessite des outils de cryptographie qui ne sont certainement pas standard dans Swift. Les hachages sont assez faciles à trouver (et ils sont déjà dans SwiftyInsta via CryptoSwift) mais je n'ai pas pu trouver de bibliothèque RSA fiable dans le passé (définitivement pas pour les versions non actuelles), et ce serait (au moins) un de plus dépendance.

La connexion à l' API fonctionne bien avec moi... juste ajax son enc_password

Veuillez lire mon commentaire @xmmti.

Nous sommes tous totalement conscients d'un correctif. Nous étions avant même d'écrire le numéro, et nous savons que cela arrivera tôt ou tard.
Le truc, c'est que le correctif est super facile pour Node JS, ou en Python, mais certainement pas dans Swift car il n'y a pas de bonne bibliothèque pour la cryptographie et CryptoSwift , actuellement requis par SwiftyInsta , ou quoi que ce soit basé sur CommonCrypto d'ailleurs, n'est tout simplement pas étendu assez.


Je vais devoir bloquer les commentaires pour ce fil, car il n'y a plus rien à ajouter.Au cas où nous décidions d'implémenter l'alternative (à condition que nous parvenions à trouver une bibliothèque de cryptographie valide), nous mettrons à jour le message.Si vous voulez contribuer, vous êtes plus que bienvenu pour envoyer un PR.

@sbertix
bonjour je suis ici pour mon projet python car j'avais le même problème.
Si vous souhaitez l'utiliser sur votre application mobile, vous pouvez exécuter un serveur qui exécute un script python pour vous connecter à votre application mobile.

Ce n'est pas un problème pour moi @Emretelli7 , mais merci. 😊
Mon authentification est déjà acheminée via une application de nœud.
Il s'agit de fournir une authentification de base directement dans SwiftyInsta .

La connexion de base semble fonctionner maintenant, j'ai vérifié deux comptes différents avec et sans 2FA .

Nous allons essayer d'utiliser Swift-Sodium pour AES-GCM-256.
Et SwiftyRSA pour la partie RSA.

Soyez prudent en ajoutant trop de dépendances @MatoMA et gardez à l'esprit que SwiftyRSA ne fonctionne pas sur macOS, tandis que swift-sodium est iOS et macOS (pas de Catalyst, pas de watchOS, pas de tvOS, pas de Linux) uniquement, c'est-à-dire la fonctionnalité et le trou bibliothèque si elle n'est pas empaquetée dans une autre cible, fonctionnerait sur iOS seul, où vous pouvez déjà utiliser l'authentification basée sur la vue Web sans aucun problème...\
J'ai essayé de l'implémenter dans SwCrypt (sans le terminer par manque de temps) et cela a montré un certain potentiel (bien qu'il soit toujours limité aux systèmes compatibles OpenCrypto).\
Nous pouvons totalement comparer les implémentations une fois que nous avons terminé, cependant.

Soyez prudent en ajoutant trop de dépendances @MatoMA et gardez à l'esprit que SwiftyRSA ne fonctionne pas sur macOS, tandis que swift-sodium est iOS et macOS (pas de Catalyst, pas de watchOS, pas de tvOS, pas de Linux) uniquement, c'est-à-dire la fonctionnalité et le trou bibliothèque si elle n'est pas empaquetée dans une autre cible, fonctionnerait uniquement sur iOS, où vous pouvez déjà utiliser l'authentification basée sur la vue Web sans aucun problème ...
J'ai essayé de l'implémenter dans SwCrypt (sans le terminer par manque de temps) et cela a montré un certain potentiel (bien qu'il soit toujours limité aux systèmes compatibles OpenCrypto).
Nous pouvons totalement comparer les implémentations une fois que nous avons terminé, cependant.

Merci beaucoup pour votre réponse.
Nous avons constaté qu'environ 1/4 des utilisateurs ne parvenaient pas à se connecter avec l'authentification WebView. Et il nous est difficile de cerner le problème. C'est pourquoi nous voulons le faire fonctionner pour l'API Android (Device).
Et il est connu que l'authentification WebView ne fonctionne pas si les utilisateurs activent 2FA avec Auth App (pas de message texte).
Si les bibliothèques ci-dessus ne fonctionnent pas, nous avons toujours openssl - le dernier chemin que nous essaierons...

La connexion Web qui ne fonctionne pas n'est qu'un problème avec l'implémentation actuelle, et c'est certainement plus facile à résoudre.\
Je l'ai fait fonctionner pour Swiftagram , j'importerai simplement la même classe dans SwiftyInsta si le taux de réussite est si mauvais.\
Quoi qu'il en soit, la sauvegarde de l'authentification de base et son bon fonctionnement sont toujours une priorité pour le moment, ne vous inquiétez pas 😊

Alors, selon vous, quelle est la meilleure façon d'avancer en matière de compatibilité, @TheM4hd1 ?\
J'ai réimplémenté BasicAuthenticator dans Swiftagram , donc nous pourrions totalement le traduire pour SwiftyInsta , mais nous devons d'abord régler cela (par exemple, supprimer le support de Linux pour qu'il fonctionne, les versions minimales du système d'exploitation, les gestionnaires de dépendances, etc).

@sbertix est-il toujours désactivé pour vous ? semble que cela fonctionne à nouveau pour moi maintenant.

J'ai essayé la semaine dernière et ça n'a toujours pas fonctionné.\
Apparemment, cela n'affecte pas tous les comptes, mais ils le migrent massivement (en raison du regain d'intérêt pour enc_password sur instagram-private-api ).\
Il devrait également être traité dans SwiftyInsta à mon humble avis.

Comme la mise en œuvre n'est pas un problème en soi, et que nous pouvons totalement porter Swiftagram , il s'agit uniquement de régler les dépendances, etc.

qu'en est-il de l'utilisation openssl ? Instagram lui-même utilise openssl je suppose. de cette façon, nous pouvons conserver la version de compatibilité minimale et la compatibilité linux également.

Je déteste vraiment compter sur OpenSSL (au moins directement) dans Swift (comme la plupart des gens hahaha).\
C'est définitivement "la solution", mais je ne suis pas sûr que sa mise en œuvre en vaille la peine... @TheM4hd1\
Par tous les moyens, si vous voulez le faire, super, sinon j'ai toujours envie d'aller avec quelque chose de "niveau supérieur" devrait être assez bon.

J'ai essayé d'implémenter OpenSSL cela fonctionne bien sur un projet individuel mais en l'ajoutant en tant que dépendance, je n'ai pas pu le faire, car les lots requis fonctionnent et augmentent la taille de la bibliothèque.
S'il s'agissait de mon projet individuel, je préférerais l'utiliser pour prendre en charge la version minimale d'iOS. mais il semble que cela ne vaut pas la peine de le faire pour la bibliothèque.
Je suis donc d'accord avec le portage SwiftaGram , c'est la meilleure solution pour l'instant.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

sbertix picture sbertix  ·  8Commentaires

trentona picture trentona  ·  3Commentaires

reefer picture reefer  ·  18Commentaires

biox86 picture biox86  ·  12Commentaires

sbertix picture sbertix  ·  3Commentaires