Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)

  • État Fermée
  • Pourcentage achevé
    100%
  • Type Anomalie
  • Catégorie Freebox OS → API
  • Assignée à Personne
  • Système d'exploitation Tous
  • Sévérité Basse
  • Priorité Très Basse
  • Basée sur la version 3.1.3
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes
  • Privée
Concerne le projet: Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)
Ouverte par Lexxis - 16/07/2015
Dernière modification par rfliedel - 13/02/2017

FS#17855 - Appel à l'API login

Un appel à l’api login (GET /api/v3/login/ HTTP/1.1 Host: mafreebox.freebox.fr) pour obtenir un challenge me retourne ceci comme réponse:

{”success”:true,”result”:{”logged_in”:true,”challenge”:[”var _arda = ‘_iwgqqz’;var _epbd = new RegExp (...) ltwIfO”}}

J’ai supprimé tout la partie code retourné entre les (...)

Fermée par  rfliedel
13.02.2017 15:18
Raison de la fermeture :  Résolu
Lexxis a commenté le 16.07.2015 13:45

Cette erreur survient alors que je suis connecté à la console freebox depuis le même navigateur.

Informations sur l'obtention de l'erreur:
- Connexion sur la console FreeBox (Utilisation de Safari, OSX 10.10.4)
- Ouverture d'un nouvel onglet, appel de l'API http://mafreebox.free.fr/api/v3/login et obtention de l'erreur

Une fois déconnecté de la console, la réponse de l'appel est correcte

Admin
rfliedel a commenté le 24.07.2015 18:44

Vous cherchez à faire quoi ?
Si c'est une extension dans le navigateur vous ne devez pas réutiliser les cookies du navigateur

Lexxis a commenté le 24.07.2015 19:30

J'utilise l'API Freebox dans une application personnelle (une simple app pour récupérer les stats de bande passante). Pour accéder aux API FB j'utilise la classe NSURLsession et j'ai remarqué l'obtention de l'erreur dans mon application lorsque je suis connecté sur la console freebox depuis Safari.
Il peut y avoir un lien avec les cookies mais c'est surtout la valeur de la variable "challenge" - qui contient 1k de code dans la version non "censuré" - qui m'a étonné.

Admin
rfliedel a commenté le 27.07.2015 08:39

C'est normal, le challenge pour l'interface web Freebox OS n'est pas le meme que pour l'api.

Lexxis a commenté le 27.07.2015 11:58

Certes, je comprends bien cela.
Finalement ce que vous voulez dire c'est que lorsque, depuis mon application (ou depuis le navigateur) j'appelle l'api 'http://mafreebox.free.fr/api/v3/login' il est tout à fiat normal d'obtenir une réponse comme ci-dessous si je suis connecté à l'interface de la Freebox depuis mon navigateur web ?

{"success":true,"result":{"logged_in":true,"challenge":["var _zshfos = '_febyfikh';var _zgmf = new RegExp(_zshfos.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%30%2E%37%37%29%20%2B%20%30%20%2D%20%31'))), 'g');
String.fromCharCode(_zshfos.replace(_zgmf, 'U').charCodeAt(eval(unescape('%76%61%72%20%5F
%6F%79%79%72%69%68%64%20%3D%20%30%3B%76%61%72%20%5F%6F%64%71%6C%20%3D%20%30%3B%76%61%72%20%5F%
71%6E%7A%71%77%20%3D%20%27%5F%61%63%67%62%27%3B%5F%6F%79%79%72%69%68%64%20%2A%20%5F%71%6E%7A%71%77%2E%6C%65%6E%67%74%68%20%2B%20%5F%6F%64%71%6C'))))","var _hazbg = '_cahefa';var _uyob = new RegExp(_hazbg.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%30%2E%35%36%29%20%2B%20%31%20%2D%20%31'))), 'g');String.fromCharCode(_hazbg.replace(_uyob, 'D').charCodeAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%31%2E%37%37%29%20%2B%20%30%20%2D%20%31'))))","decodeURIComponent('%' + (eval(unescape('%31%30%36'))).toString(eval(unescape('%76%61%72%20%5F%77%66%70%64%78%63%6B%20%3D%20%32%3B%76%61%72%20%5F%76%6D%63%67%71%20%3D%20%30%3B%76%61%72%20%5F%65%75%6D%77%70%20%3D%20%27%5F%75%6F%72%74%65%77%63%27%3B%5F%77%66%70%64%78%63%6B%20%2A%20%5F%65%75%6D%77%70%2E%6C%65%6E%67%74%68%20%2B%20%5F%76%6D%63%67%71'))))","var _vfxaomk = { _mqxm: '_bebfnaz' }; _vfxaomk._mqxm.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%32%2E%35%38%29%20%2B%20%32%20%2D%20%31')))","var _qfuklzr = '_ucoi';var _qfdryv = new RegExp(_qfuklzr.charAt(eval(unescape('%76%61%72%20%5F%6C%6B%63%69%20%3D%20%30%3B%76%61%72%20%5F%65%64%63%6F%20%3D%20%33%3B%76%61%72%20%5F%7A%61%65%6B%7A%67%70%76%20%3D%20%27%5F%72%65%79%70%70%6A%67%27%3B%5F%6C%6B%63%69%20%2A%20%5F%7A%61%65%6B%7A%67%70%76%2E%6C%65%6E%67%74%68%20%2B%20%5F%65%64%63%6F'))), 'g');String.fromCharCode(_qfuklzr.replace(_qfdryv, 'U').charCodeAt(eval(unescape('%33'))))","var _lqae = { _yrxra: '_k4zetj' }; _lqae._yrxra.charAt(eval(unescape('%28%28%32%20%2A%20%31%36%20%2D%20%31%36%29%20%2F%20%38%29')))","var _ctlftiqm = '_gndsk';var _zjdxeqyo = new RegExp(_ctlftiqm.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%31%2E%38%33%29%20%2B%20%30%20%2D%20%31'))), 'g');String.fromCharCode(_ctlftiqm.replace(_zjdxeqyo, 'I').charCodeAt(eval(unescape('%76%61%72%20%5F%6F%73%6A%74%72%79%20%3D%20%30%3B%76%61%72%20%5F%69%7A%6D%62%6B%63%20%3D%20%31%3B%76%61%72%20%5F%6D%68%61%6E%63%6F%76%65%20%3D%20%27%5F%66%7A%65%6B%27%3B%5F%6F%73%6A%74%72%79%20%2A%20%5F%6D%68%61%6E%63%6F%76%65%2E%6C%65%6E%67%74%68%20%2B%20%5F%69%7A%6D%62%6B%63'))))","'T'","decodeURIComponent('%' + (eval(unescape('%76%61%72%20%5F%71%6C%61%6C%69%6D%6B%20%3D%20%31%35%3B%76%61%72%20%5F%6A%79%7A%73%63%20%3D%20%32%3B%76%61%72%20%5F%61%76%68%62%20%3D%20%27%5F%78%67%61%6D%6A%79%27%3B%5F%71%6C%61%6C%69%6D%6B%20%2A%20%5F%61%76%68%62%2E%6C%65%6E%67%74%68%20%2B%20%5F%6A%79%7A%73%63'))).toString(eval(unescape('%31%36'))))","decodeURIComponent('%' + (eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%38%39%2E%37%35%29%20%2B%20%31%31%20%2D%20%31'))).toString(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%38%2E%38%35%29%20%2B%20%38%20%2D%20%31'))))","'m'","var _cnwqqw = '_casj';var _zzlpee = new RegExp(_cnwqqw.charAt(eval(unescape('%30'))), 'g');String.fromCharCode(_cnwqqw.replace(_zzlpee, 'w').charCodeAt(eval(unescape('%76%61%72%20%5F%6E%61%75%6B%65%20%3D%20%30%3B%76%61%72%20%5F%79%70%7A%6B%64%61%74%69%20%3D%20%30%3B%76%61%72%20%5F%78%74%6F%77%68%6B%20%3D%20%27%5F%73%6E%62%79%27%3B%5F%6E%61%75%6B%65%20%2A%20%5F%78%74%6F%77%68%6B%2E%6C%65%6E%67%74%68%20%2B%20%5F%79%70%7A%6B%64%61%74%69'))))","var _dmrw = '_tpie';var _pwqsta = new RegExp(_dmrw.charAt(eval(unescape('%34'))), 'g');String.fromCharCode(_dmrw.replace(_pwqsta, 'a').charCodeAt(eval(unescape('%34'))))","'8'","decodeURIComponent('%' + (eval(unescape('%35%31'))).toString(eval(unescape('%76%61%72%20%5F%78%7A%6C%74%77%66%64%20%3D%20%32%3B%76%61%72%20%5F%6E%66%63%65%20%3D%20%32%3B%76%61%72%20%5F%7A%74%6A%67%7A%79%6C%6D%20%3D%20%27%5F%65%71%6E%68%62%70%27%3B%5F%78%7A%6C%74%77%66%64%20%2A%20%5F%7A%74%6A%67%7A%79%6C%6D%2E%6C%65%6E%67%74%68%20%2B%20%5F%6E%66%63%65'))))","decodeURIComponent('%' + (eval(unescape('%76%61%72%20%5F%70%70%64%6A%73%6C%6B%20%3D%20%7B%20%5F%7A%67%6A%74%3A%20%35%31%20%7D%3B%20%5F%70%70%64%6A%73%6C%6B%2E%5F%7A%67%6A%74%20%2B%20%32%39'))).toString(eval(unescape('%31%36'))))","'H'","var _vdrr = '_fjoqdz';var _hbslwr = new RegExp(_vdrr.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%33%2E%36%31%29%20%2B%20%31%20%2D%20%31'))), 'g');String.fromCharCode(_vdrr.replace(_hbslwr, 'p').charCodeAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%34%2E%38%31%29%20%2B%20%30%20%2D%20%31'))))","decodeURIComponent('%' + (eval(unescape('%31%31%33'))).toString(eval(unescape('%76%61%72%20%5F%67%66%72%6D%69%20%3D%20%32%3B%76%61%72%20%5F%65%75%78%65%79%20%3D%20%32%3B%76%61%72%20%5F%63%72%79%65%65%20%3D%20%27%5F%70%73%76%6F%62%71%27%3B%5F%67%66%72%6D%69%20%2A%20%5F%63%72%79%65%65%2E%6C%65%6E%67%74%68%20%2B%20%5F%65%75%78%65%79'))))","var _ilhatj = '_urimto';var _euciep = new RegExp(_ilhatj.charAt(eval(unescape('%76%61%72%20%5F%6F%6E%70%78%61%65%63%20%3D%20%7B%20%5F%70%79%76%73%65%71%3A%20%30%20%7D%3B%20%5F%6F%6E%70%78%61%65%63%2E%5F%70%79%76%73%65%71%20%2B%20%30'))), 'g');String.fromCharCode(_ilhatj.replace(_euciep, 'O').charCodeAt(eval(unescape('%76%61%72%20%5F%65%61%6F%6D%6E%67%71%20%3D%20%7B%20%5F%6F%7A%70%70%63%3A%20%30%20%7D%3B%20%5F%65%61%6F%6D%6E%67%71%2E%5F%6F%7A%70%70%63%20%2B%20%30'))))","var _mswzngv = { _oapqsm: '_urbdcN' }; _mswzngv._oapqsm.charAt(eval(unescape('%28%28%36%20%2A%20%32%36%20%2D%20%37%38%29%20%2F%20%31%33%29')))","var _bibew = '_rbgz';var _wmhea = new RegExp(_bibew.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%32%2E%38%32%29%20%2B%20%30%20%2D%20%31'))), 'g');String.fromCharCode(_bibew.replace(_wmhea, 'r').charCodeAt(eval(unescape('%76%61%72%20%5F%67%6D%6B%64%6F%20%3D%20%30%3B%76%61%72%20%5F%77%64%6F%65%6A%63%75%20%3D%20%32%3B%76%61%72%20%5F%6F%65%6A%66%79%69%70%64%20%3D%20%27%5F%71%79%6C%63%27%3B%5F%67%6D%6B%64%6F%20%2A%20%5F%6F%65%6A%66%79%69%70%64%2E%6C%65%6E%67%74%68%20%2B%20%5F%77%64%6F%65%6A%63%75'))))","decodeURIComponent('%' + (eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%39%35%2E%39%31%29%20%2B%20%31%37%20%2D%20%31'))).toString(eval(unescape('%76%61%72%20%5F%67%7A%63%65%75%20%3D%20%7B%20%5F%63%75%7A%67%77%6F%6D%3A%20%38%20%7D%3B%20%5F%67%7A%63%65%75%2E%5F%63%75%7A%67%77%6F%6D%20%2B%20%38'))))","decodeURIComponent('%' + (eval(unescape('%76%61%72%20%5F%63%67%75%78%6C%6E%6D%63%20%3D%20%7B%20%5F%70%75%67%62%69%3A%20%36%20%7D%3B%20%5F%63%67%75%78%6C%6E%6D%63%2E%5F%70%75%67%62%69%20%2B%20%39%36'))).toString(eval(unescape('%31%36'))))","var _qurnpm = { _gwaz: 'Ogehd' }; _qur(...)64%2E%6C%65%6E%67%74%68%20%2B%20%5F%73%77%6F%70%67%77%66'))))","'J'"],"password_salt":"qzhcz2\/dEwYpLF0uLDKdUWhY2fltwIfO"}}

Je veux bien croire que le Challenge est différent mais là c'est déjà un challenge de décoder le challenge (hum... je →[ ])

Admin
rfliedel a commenté le 27.07.2015 12:09

Oui, il ne faut pas réutiliser les cookies du navigateur pour accéder à l'api depuis votre extension.
Dans l'exemple que vous envoyez vous avez 'logged_in': true donc ça montre bien que vous réutiliser les cookies de session du navigateur. (ce qu'il ne faut pas faire).

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche