Jump to content
Che

Ce API foloseste sau cum pot face fetch la o cantitate cat mai mare de date?

Recommended Posts

Buna ziua!

 

   Vreau sa iau datele de pe flashscore. Deja am facut ceva in Python cu Selenium si beautfulsoup. 

Problema este ca abia acum mi-am dat seama ca ar face o gramada de requesturi pentru fiecare an, zi, campionat, meci, lineup, match events etc. etc. etc. si practic as bombarda situl cu requesturi si foarte posibil ca, dupa ce ca va dura o vesnicie, se poate sa te si blocheze.

 

    Daca se poate sa ma ajutati, va rog mult, spunandu-mi la ce API face situl in sine request ca as vrea sa-l iau si sa-i fac fetch in python, mai schimb ceva parametri si poate iau toate ligile si toate datele la o singura accesare (sau doar cateva accesari) ?

 

Eu am incercat cu Network tools din Chrome dar nu reusesc sa-mi dau seama.

 

Multumesc mult!

Link to comment
Share on other sites

56 minutes ago, gigiRoman said:

Da. In proxy vezi ce se apeleaza si apoi il modifici cum vrea pipota ta.

Pai si cum faci asta ca chiar habar n-am. Trebuie sa cumperi un proxy, banuiesc, sau cum se face?

 

48 minutes ago, gigiRoman said:

Alta faza ce poti face, instaleaza aplicatia android. Ca aia posibil sa cheme un api de mobile, sa lucreze altfel decat siteul.

Si daca instalez aplicatia de mobil cum aflu ce requesturi face?

 

Am incercat si cu HTTP Headers si tot nu imi arata.

Link to comment
Share on other sites

1 hour ago, Che said:

Pai si cum faci asta ca chiar habar n-am. Trebuie sa cumperi un proxy, banuiesc, sau cum se face?

 

Si daca instalez aplicatia de mobil cum aflu ce requesturi face?

 

Am incercat si cu HTTP Headers si tot nu imi arata.

Nu. Iti instalezi un proxy app sa ruteze traficul prin aplicatia proxy, asa studiezi ce requesturi se duc la serverul lor.

Cauta fiddler de la progress.

Aplicatia mobila ori o instalezi pe windows ori o pui pe un rooted phone, ca posibil sa aiba cert pinning si sa nu vezi traficul.

Nu trebuie sa cumperi proxyuri.

  • Thanks 1
  • Upvote 1
Link to comment
Share on other sites

  • Moderators

Sa adaug la ce a zis gigiRoman, iti instalezi Fiddler pe calculator, configurezi cu ce trebuie si dupa pe telefon te conectezi pe wi-fi pe aceeasi retea cu calculatorul si iti pui datele de la calculator pentru proxy.

 

https://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforios

https://www.telerik.com/blogs/how-to-capture-android-traffic-with-fiddler

  • Thanks 1
  • Upvote 3
Link to comment
Share on other sites

@gigiRoman @Dragos Uitati ce zice lumea aici in comentarii: https://www.telerik.com/blogs/how-to-capture-android-traffic-with-fiddler

Cica nu merge daca ai Android 7 & above.

Cineva a scris si un articol pe subiect:

https://textslashplain.com/2016/07/27/using-fiddler-with-ios-10-and-android-7/

 

Ce este de facut? De pe Windows direct nu stiti vreo metoda?

Si, apropo, daca am telefon care nu este rootat si este greu de facut root, s-ar putea folosi un android emulator pe Windows sau e problema cu traficul in retea ca practic nu este real in retea ci este al unui program din Windows? Ce alta metoda ar mai fi?

@dimss Cu Burp cum se face? Un tutorial sau ceva care sa iti arate pas cu pas? E diferit de Fiddler sau e mai bun decat Fiddler, pe care apropo nici pe ala nu l-am folosit niciodata?

Multumesc mult!

Link to comment
Share on other sites

Pe YT gasesti o multime de cursuri complete de Burp Suite.Uite un exemplu!

 

Revenind la ideea cu Android. Nu iti trebuie neaparat un telefon rootat, poti face si cu un emulator de Android(aka masina virtuala cu Android).Un exemplu

 

Din cate vad eu ar exista 3 scenarii prin care poti extrage datele:

1. De pe site-ul lor pt desktop.

2. De pe site-ul lor pt mobile. Depinde de site, dar sunt domenii care au site dedicat pt mobile. De ex: digi24.ro si m.digi24.ro. Iar aici e simplu.. doar iti schimbi User Agent-ul din browser cu unul de mobil.

3. Din API-uri daca au asa ceva pt aplicatiile lor de mobile.

Oricum pt toate scenariile trebuie facut un pic de recon sa vezi ce exista disponibil.

Edited by dimss
added link
  • Thanks 1
Link to comment
Share on other sites

Am reusit sa capturez ceva cu mitmproxy. Mitmproxy nu-mi merge pe Windows. Da eroare de dll desi acel dll este deja in folderul unde s-a instalat. Am incercat cu Linux de pe un alt hdd. Faza este ca nu este nici un Android emulator decent pentru Linux. Cele care sunt, sunt praf si foarte rudimentare.

Asa ca, din moment ce mitmproxy merge bine pe Linux am zis sa vad alta alternativa asa ca nu mi-am mai batut capul cu apk si android emulator si telefonul cu Android rootat pe care nu-l am asa ca am zis sa vad ce se intampla daca rulez Chrome si intru direct in browser. Si a mers!

Faza este ca nu e mare lucru, sunt niste reuqestuir care acum vad ca la accesarea obisnuita din Chrome nu se vad in network tools (F12). Totusi, multe din ele mi le amintesc ca le-am vazut mai demult si nu mi-am batut capul cu ele. Cred ca multi s-au pus pe ele si au facut accesari de le-au ascuns.

Din ce am observat mai face multe alte requesturi care iti ia destul de multe date printre care TOT ce se poate lua despre tine cand le-ai accesat situl. Probabil doar pe soacra-ta nu ti-o ia sau ti-o ia si pe aia daca o ai.

Sa revenim la subiect, toate dintre aceste requesturi trimit inapoi ca raspuns ceva codat. Banuiesc ca astea contin datele respective despre meci, liga etc.

 

Daca se poate sa-mi spuneti cum as putea decoda aceste chestii, va rog mult?

Prima:

DA\xc3\xb73\xc2\xacDZ\xc3\xb73\xc2\xacDB\xc3\xb73\xc2\xacDD\xc3\xb71658156020\xc2\xacAW\

 

A doua:

AC\xc3\xb71st Half\xc2\xacIG\xc3\xb71\xc2\xacIH\xc3\xb70\xc2\xac~III\

 

A treia:

MX\xc3\xb75\xc2\xacMI\xc3\xb7{"5":["2.00","3.00","3.60"]}\xc2\xacMJ\xc3\xb7{"5":["2.00","3.00","3.60"]}\xc2\

 

A patra:

wOF2\x00\x01\x00\x00\x00\x00\x06\xcc\x00\x0b\x00\x00\x00\x00\x11\x18\x00\x00\x06|\x00\x01\

 

A cincea:

CA\xc3\xb700710773f832d6c0bf1b23cd9e94961e\xc2\xacCD\xc3\xb7c795faa7982d529fc8182f65e09c7432\xc2\

 

Nu am postat mesajele criptate/codate in intregime ci doar bucata de inceput a acestora. Sunt de lungime variabila si nu fixa deci nu sunt hash-uri. Nu le pun in intregime fiindca nu stiu ce contin. Daca se poate sa-mi spuneti cum se le decodez?

 

Si inca ceva, este posibil sa patesti ceva daca le iei datele de pe site/faci fetch la aceste url-uri, avand in vedere ca ei colecteaza cam tot ce se poate despre tine (aparea inclusiv ca folosesc proxy) ?

 

Multumesc mult de tot!

Link to comment
Share on other sites

34 minutes ago, aelius said:

Tu faci sniffing pe plain iar aplicatia comunica pe https

Daca pui in python si folosesti requests ca sa replici exact acele requesturi catre acele url-uri, raspunsul este tot acelasi. Care ar fi problema? Cum ar trebui procedat?

Si inca ceva, poate te referi la faptul ca fiind https este mesajul criptat dar nu cred ca este asa fiindca la al treilea string codificat, postat partial de mine, ( MX\xc3\xb75\xc2\xacMI\xc3\xb7{"5":["2.00","3.00","3.60"]}\xc2\xacMJ\xc3\xb7{"5":["2.00","3.00","3.60"]}\xc2\)  ===> "2.00","3.00","3.60" sunt chiar cotele meciului pentru 1, X, 2 si, dupa cum se vede, pare a o lista ca sunt puse in niste [ ] iar daca te uiti mai departe este acel "5": care pare a fi key-ul unui dictionar prin urmare toata aceasta chestie pare a fi un json de fapt. Ce parere ai?

Multumesc mult!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...