Swiftyinsta: Instagram-Ajax-Login

Erstellt am 14. Mai 2020  ·  27Kommentare  ·  Quelle: TheM4hd1/SwiftyInsta

Hat Instagram gerade instagram.com/accounts/login/ajax vernichtet oder liegt es nur an mir?
Ich kann es anscheinend nicht zum Laufen bringen.
😱

Haben Sie etwas dagegen, den grundlegenden Authentifizierungsprozess zu testen?
Denn leider würde eine Alternative viel zu viele Abhängigkeiten in Swift erfordern (da es sowohl Hashes als auch RSA verwendet).

@TheM4hd1 @bariscck


Edit: funktioniert auch nicht in Swiftagram … 😱 haben sie es wirklich gerade losgeworden?

critical

Alle 27 Kommentare

Es hat bei mir funktioniert, konnte jedoch den Challenge-Code nicht von SMS abrufen, aber es hat mit E-Mail funktioniert.

Swiftagram 's BasicAuthenticator.handleSecond gibt invalid response zurück, ich habe SwiftyInsta nicht getestet.

Ich kann es auch nicht auf SwiftyInsta zum Laufen bringen 😢 @bariscck
Ich kann es nicht einmal von Insomnia und Postman zum Laufen bringen… 😱
Ich hoffe, es ist nur ein vorübergehendes Problem bei Instagram, was erklären könnte, dass es für @TheM4hd1 funktioniert , da es in verschiedenen Regionen ist …

Es scheint vorübergehend zu sein, da die Web-App von Instagram diesen Endpunkt derzeit verwendet. Bei denen funktioniert es auch nicht. Gibt 400 Bad Request zurück.

Die Web-App funktioniert auch für mich, aber ich erinnere mich, dass vor etwa 4 Monaten dasselbe passiert ist und nach ein paar Stunden behoben wurde.

Ja, es ist schon einmal passiert, aber wir haben früher 400 zurückbekommen, was vernünftig ist.
Der direkte Zugriff erhält dieses Mal 405 . Sogar mit HEAD .
Ich habe Angst, dass sie vielleicht einfach davon abwandern.
Drücken wir einfach die Daumen 🤞

Hallo, ich habe auch das gleiche Problem, ist das bei dir gelöst?

Immer noch ungelöst, leider @Emretelli7.
Ich habe das Gefühl, dass wir akzeptieren müssen, dass der Endpunkt einfach weg ist 😢

Hallo, jetzt verwende Instagram "enc_password" , du kannst "password" nicht verwenden
image
enc_password verwendet AES 256 GCM-Verschlüsselung

https://pastebin.com/raw/nYL2W2bG

@xmmti
Ich habe versucht, mein enc_password aus der Burp-Suite zu kopieren und es mit meinem Benutzernamen zu posten, wurde aber authentifiziert: falsch

Das heißt, ich denke, es gibt mehr als dieses enc_password

@xmmti
Ich habe versucht, mein enc_password aus der Burp-Suite zu kopieren und es mit meinem Benutzernamen zu posten, wurde aber authentifiziert: falsch

Das heißt, ich denke, es gibt mehr als dieses enc_password

Body-Anfrage
username= Ihr Benutzername &enc_password= enc_password
image
Ich es ist Arbeit mit mir ...

Ja. Es ist viel mehr als nur das. Darauf weise ich in meiner ersten Anmerkung hin.
Die neue Headless-Authentifizierungsmethode erfordert Kryptographie-Tools, die in Swift definitiv nicht Standard sind. Hashes sind ziemlich leicht zu bekommen (und sie sind bereits in SwiftyInsta über CryptoSwift), aber ich konnte in der Vergangenheit keine zuverlässige RSA-Bibliothek finden (definitiv nicht für nicht aktuelle Versionen), und es wäre (mindestens) eine mehr Abhängigkeit.

Die API -Anmeldung funktioniert bei mir einwandfrei ... ajax einfach sein enc_password

Bitte lesen Sie meinen Kommentar @xmmti.

Wir sind uns alle einer Lösung bewusst. Wir haben die Ausgabe überhaupt geschrieben, und wir wissen, dass dies früher oder später passieren würde.
Die Lösung ist super einfach für Node JS oder in Python, aber definitiv nicht in Swift, weil es keine gute Bibliothek für Kryptografie gibt und CryptoSwift , das derzeit von SwiftyInsta benötigt wird, oder alles, was auf CommonCrypto basiert, ist einfach nicht umfangreich genügend.


Ich muss Kommentare für diesen Thread blockieren, da es nichts mehr hinzuzufügen gibt.Falls wir uns entscheiden, die Alternative zu implementieren (vorausgesetzt, wir finden eine gültige Kryptografiebibliothek), werden wir den Beitrag aktualisieren.Wenn Sie einen Beitrag leisten möchten, können Sie gerne eine PR senden.

@sbertix
Hallo, ich bin hier für mein Python-Projekt, weil ich das gleiche Problem hatte.
Wenn Sie es in Ihrer mobilen App verwenden möchten, können Sie einen Server ausführen, auf dem ein Python-Skript ausgeführt wird, um eine Verbindung mit Ihrer mobilen App herzustellen.

Das ist kein Problem für mich @Emretelli7 , aber danke. 😊
Ich habe meine Authentifizierung bereits über eine Node-App geleitet.
Hier geht es darum, die Basisauthentifizierung direkt in SwiftyInsta bereitzustellen .

Die grundlegende Anmeldung scheint jetzt zu funktionieren, ich habe zwei verschiedene Konten mit und ohne 2FA überprüft.

Wir werden versuchen, Swift-Sodium für AES-GCM-256 zu verwenden.
Und SwiftyRSA für den RSA-Teil.

Seien Sie vorsichtig, wenn Sie zu viele Abhängigkeiten @MatoMA hinzufügen , und denken Sie daran, dass SwiftyRSA nicht auf macOS funktioniert, während swift-sodium nur iOS und macOS (kein Catalyst, kein watchOS, kein tvOS, kein Linux) ist, was die Funktion und das Loch bedeutet Bibliothek, wenn sie nicht in einem anderen Ziel gepackt ist, würde nur auf iOS funktionieren, wo Sie bereits ohne viel Aufhebens die auf Webansichten basierende Authentifizierung verwenden können ...\
Ich habe versucht, es in SwCrypt zu implementieren (ohne es aus Zeitmangel fertigzustellen) und es zeigte einiges Potenzial (obwohl es immer noch auf OpenCrypto-fähige Systeme beschränkt ist).\
Wir können die Implementierungen jedoch vollständig vergleichen, sobald wir fertig sind.

Seien Sie vorsichtig, wenn Sie zu viele Abhängigkeiten @MatoMA hinzufügen , und denken Sie daran, dass SwiftyRSA nicht auf macOS funktioniert, während swift-sodium nur iOS und macOS (kein Catalyst, kein watchOS, kein tvOS, kein Linux) ist, was die Funktion und das Loch bedeutet Bibliothek, wenn sie nicht in einem anderen Ziel gepackt ist, würde nur unter iOS funktionieren, wo Sie bereits ohne viel Aufhebens die auf Webansichten basierende Authentifizierung verwenden können ...
Ich habe versucht, es in SwCrypt zu implementieren (ohne es aus Zeitmangel fertigzustellen), und es zeigte einiges Potenzial (obwohl es immer noch auf OpenCrypto-fähige Systeme beschränkt ist).
Wir können die Implementierungen jedoch vollständig vergleichen, sobald wir fertig sind.

Vielen Dank für Ihre Antwort.
Wir haben festgestellt, dass sich etwa 1/4 Benutzer nicht mit der Webview-Authentifizierung anmelden können. Und es ist schwierig für uns, das Problem zu lösen. Aus diesem Grund möchten wir, dass es für die Android(Device) API funktioniert.
Und es ist bekannt, dass die Webview-Authentifizierung nicht funktioniert, wenn die Benutzer 2FA mit Auth-App (keine Textnachricht) aktivieren.
Wenn die oben genannten Bibliotheken nicht funktionieren, haben wir immer noch openssl - den letzten Weg, den wir versuchen werden ...

Dass die webbasierte Anmeldung nicht funktioniert, ist nur ein Problem mit der aktuellen Implementierung und es ist definitiv einfacher zu beheben.\
Ich habe es für Swiftagram zum Laufen gebracht, ich importiere einfach die gleiche Klasse in SwiftyInsta , wenn die Erfolgsrate so schlecht ist.\
In jedem Fall hat die Wiederherstellung der Basisauthentifizierung und das ordnungsgemäße Funktionieren im Moment immer noch Priorität, keine Sorge 😊

Was ist Ihrer Meinung nach der beste Weg, um in Bezug auf Kompatibilität voranzukommen, @TheM4hd1?\
Ich habe BasicAuthenticator in Swiftagram neu implementiert , sodass wir es vollständig für SwiftyInsta übersetzen könnten, aber wir müssen uns zuerst darauf einigen (z. etc).

@sbertix ist es für dich immer noch deaktiviert? scheint bei mir jetzt wieder zu funktionieren.

Ich habe es letzte Woche ausprobiert und es hat immer noch nicht funktioniert.\
Anscheinend betrifft es nicht alle Konten, aber sie migrieren es stark (basierend auf dem erneuten Interesse an enc_password bei instagram-private-api ).\
Es sollte auch in SwiftyInsta angesprochen werden, imho.

Da die Implementierung per se kein Problem ist und wir Swiftagram vollständig portieren können, geht es nur darum, Abhängigkeiten usw.

wie wäre es mit openssl ? Instagram selbst verwendet openssl , denke ich. Auf diese Weise können wir auch die minimale Kompatibilitätsversion und die Linux-Kompatibilität beibehalten.

Ich hasse es wirklich, mich in Swift auf OpenSSL (zumindest direkt) zu verlassen (wie die meisten Leute, hahaha).\
Dies ist definitiv "die Lösung", aber ich bin mir nicht sicher, ob die Implementierung den Aufwand wert ist ... @ TheM4hd1 \
Auf jeden Fall, wenn Sie es tun möchten, großartig, ansonsten habe ich immer noch das Gefühl, dass es gut genug sein sollte, mit etwas "höherem Niveau" zu gehen.

Ich habe versucht, OpenSSL zu implementieren, es funktioniert gut in einem einzelnen Projekt, aber das Hinzufügen als Abhängigkeit war mir nicht möglich, da viele Arbeiten erforderlich sind und die Größe der Bibliothek erhöht wird.
Wenn es mein individuelles Projekt wäre, würde ich es lieber zur Unterstützung der minimalen iOS-Version verwenden. aber es scheint sich nicht zu lohnen, es für die Bibliothek zu tun.
Ich stimme also der Portierung SwiftaGram zu, dies ist im Moment die beste Lösung.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

reefer picture reefer  ·  18Kommentare

trentona picture trentona  ·  3Kommentare

sbertix picture sbertix  ·  8Kommentare

sbertix picture sbertix  ·  3Kommentare

rmelnik7777 picture rmelnik7777  ·  19Kommentare