torpila123 Posted May 13, 2015 Report Posted May 13, 2015 (edited) Salutare!Acum 2 zile m-am apucat s? lucrez la o aplica?ie pentru iOS care s? afi?eze informa?ii despre o firm? anume, foarte util? pentru detectarea "firmelor fantom?" sau ob?inerea datelor despre o anumit? societate comercial?. Nu este chiar un tutorial de "hacking", pentru c? datele sunt publice ?i pot fi accesate de pe site-ul ministerului de finante. Problema apare în momentul în care dore?ti s? ob?ii aceste date în mod programatic, deoarece site-ul ministerului nu ofer? un API pentru programatori, ba chiar mai r?u, prezint? un captcha la solicitarea datelor.Screenshot:Desigur, primul meu gând a fost un captcha solver, dar nu este o solu?ie prea practic?. A?a c? m-am mai jucat pu?in, am mai întrebat pe diverse site-uri ?i am descoperit o alternativ?. Inspectând sursa paginii mfinante[punct]ro/agenticod.html observ?m c? formularul este procesat de pagina infocodfiscal.html iar parametrul pentru cif cod. Surpriza a ap?rut în momentul în care am descoperit c? cif-ul poate fi transmis ?i prin GET, iar în acest caz captcha-ul, nu mai este necesar. A?adar, datele pentru o firm? pot fi ob?inute accesând mfinante[punct]ro/infocodfiscal.html?cod=cifulfirmei.R?mâne o singur? problem? - în momentul în care vrem s? facem un request folosind cURL, suntem redirec?iona?i c?tre o pagin? care ne aten?ioneaz? c? trebuie s? avem javascript activat. Folosind o extensie pentru chrome, cum ar fi Postman, observ?m c? se mai transmit câ?iva parametrii prin POST:'TS018732dc_id' => 3,'TS018732dc_cr' => 'SESSIONID','TS018732dc_76' => 0,'TS018732dc_86' => 0,'TS018732dc_md' => 1,'TS018732dc_rf' => 0,'TS018732dc_ct' => 0,'TS018732dc_pd' => 0Parametrul TS018732dc_cr con?ine ID-ul de sesione, îl putem l?sa la varianta din Postman, datele vor fi afi?ate chiar dac? sesiunea a expirat. Asta e tot! Acum putem accesa pagina prin cURL ?i extrage datele folosind un DOM parser, gen DOMDocument dac? folosim php. Lista de bilan?uri poate fi ob?inut? dintr-un comment de deasupra op?iunilor pentru a nu fi nevoi?i s? pars?m fiecare op?iune. Dup? ce a?i ob?inut datele, aceste pot fi serializate în format JSON, XML sau orice alt format dori?i pentru a fi accesate de site-ul sau aplica?ia voastr?. Dac? dori?i s? pute?i c?uat dup? numele firmei, va trebui s? desc?rca?i ni?te csv-uri de pe data[punct]gov[punct]ro, ?terge?i toate coloanele în afar? de numele firmei ?i cif ?i le b?ga?i într-o baz? de date.Sper c? v-a fost util acest tutorial! Edited May 13, 2015 by torpila123 2 1 Quote
blech Posted May 13, 2015 Report Posted May 13, 2015 @torpila123salut si bine ai venit! nu stiu daca esti utilizator nou sau unul vechi cu user nou.poti arunca o privire si la https://www.anaf.ro/RpiTva/index.jsp ? crezi ca exista o varianta sa poti face bypass si la asta? Quote
torpila123 Posted May 13, 2015 Author Report Posted May 13, 2015 @torpila123salut si bine ai venit! nu stiu daca esti utilizator nou sau unul vechi cu user nou.poti arunca o privire si la https://www.anaf.ro/RpiTva/index.jsp ? crezi ca exista o varianta sa poti face bypass si la asta?Mersi de urare, sunt utilizator nou. Nu este nevoie s?-?i ba?i capul cu site-ul de ANAF, po?i folosi sistemul VIES de la Comisia European? care are un API dr?gu? în SOAP ?i po?i verifica orice pl?titor de TVA din orice stat membru. VIES Quote
daatdraqq Posted May 13, 2015 Report Posted May 13, 2015 Mersi de urare, sunt utilizator nou. Nu este nevoie s?-?i ba?i capul cu site-ul de ANAF, po?i folosi sistemul VIES de la Comisia European? care are un API dr?gu? în SOAP ?i po?i verifica orice pl?titor de TVA din orice stat membru. VIESCodul meu fiscal zice ca nu exista . Quote
torpila123 Posted May 13, 2015 Author Report Posted May 13, 2015 Codul meu fiscal zice ca nu exista .P?i e?ti pl?titor de TVA? Quote
daatdraqq Posted May 13, 2015 Report Posted May 13, 2015 P?i e?ti pl?titor de TVA?De 5 ani (muie TVA) . Quote
torpila123 Posted May 13, 2015 Author Report Posted May 13, 2015 De 5 ani (muie TVA) .Am verificat ?i eu acum ni?te CIF-uri, într-adev?r, unele le g?se?te invalide, o sulu?ie ar fi s? folose?ti tot site-ul de finan?e, au o rubric? "Taxa pe valoarea adaugata (data luarii in evidenta): ", po?i verifica dac? valoarea este o dat? valid?, dac? nu atunci returnezi null sau ceva. Scriptul meu returneaz? a?a: Evident, înc? nu e complet, de aia bilan?urile apar inconsistent. Quote
blech Posted May 13, 2015 Report Posted May 13, 2015 o sa vorbesc cu astia de la financiar sa vad ce dracu vor exact sa verifice...daca vor verificare doar pe TVA la incasare sau mai vor si altceva. stiu ca foloseau vreo 2 link-uri. Quote
redox Posted June 8, 2015 Report Posted June 8, 2015 Codul meu fiscal zice ca nu exista .Asta pentru ca nu esti in Registrul Operatorilor Intracomunitari. Pe VIES apar doar cei inregistratati in registru. Poti sa fii platitor de TVA si sa nu fii inregistrat acolo. Insa daca faci tranzactii cu altii din UE si nu esti in registru amenzile sunt extrem de mari (cred ca incep de pe la 10.000 de ron)Mai este si openapi.ro insa datele nu sunt de actualitate Quote
adrianp03 Posted July 5, 2015 Report Posted July 5, 2015 Salutare!Surpriza a ap?rut în momentul în care am descoperit c? cif-ul poate fi transmis ?i prin GET, iar în acest caz captcha-ul, nu mai este necesar. A?adar, datele pentru o firm? pot fi ob?inute accesând mfinante[punct]ro/infocodfiscal.html?cod=cifulfirmei.R?mâne o singur? problem? - în momentul în care vrem s? facem un request folosind cURL, suntem redirec?iona?i c?tre o pagin? care ne aten?ioneaz? c? trebuie s? avem javascript activat. Folosind o extensie pentru chrome, cum ar fi Postman, observ?m c? se mai transmit câ?iva parametrii prin POST:'TS018732dc_id' => 3,'TS018732dc_cr' => 'SESSIONID','TS018732dc_76' => 0,'TS018732dc_86' => 0,'TS018732dc_md' => 1,'TS018732dc_rf' => 0,'TS018732dc_ct' => 0,'TS018732dc_pd' => 0Parametrul TS018732dc_cr con?ine ID-ul de sesione, îl putem l?sa la varianta din Postman, datele vor fi afi?ate chiar dac? sesiunea a expirat. Asta e tot!Nu am reusit de nici o culoare sa fac un request cURL, ma redirecteaza la pagina sa activez JS-ul. Alte idei ?thx Quote
UnixDevel Posted July 5, 2015 Report Posted July 5, 2015 Nu am reusit de nici o culoare sa fac un request cURL, ma redirecteaza la pagina sa activez JS-ul. Alte idei ?thxIncearca goute pentru curl .... e bun stie si redirect js cu parametri Quote
adrianp03 Posted July 8, 2015 Report Posted July 8, 2015 Incearca goute pentru curl .... e bun stie si redirect js cu parametriAr fi o alternativa goute sau chiar selenium.Cum a zis @torpila123 nu o sa mearga niciodata ... poate cateva minute pana expira sesiunea Quote
Melkii Posted February 11, 2017 Report Posted February 11, 2017 A mai investit cineva timp sau au mai aparut noutati? 1 Quote
Stefan99 Posted June 14, 2017 Report Posted June 14, 2017 Incepand cu iunie 2017 cei de la mfinante au schimbat modul de "autentificare" si modul de preluare propus de torpila123 (multumesc) nu mai fumctioneaza. In cookies / REQUEST HEADER au aparut campuri noi si inca nu am reusit sa le nimeresc pe cele corecte. Daca cineva a reusit sa afle noua combinatie pentu a accesa mfinante.ro/infocodfiscal.html il rog daca poate sa-l partajeze si catre noi. Quote
Sithalkes Posted June 14, 2017 Report Posted June 14, 2017 (edited) Folositi link-ul, in care introduceti codul fiscal al firmelor pe care vreti sa le verificati. In cazul de fata, codul fiscal introdus/folosit este 4430779 http://www.mfinante.ro/infocodfiscal.html?pagina=domenii&cod=4430779&B1=VIZUALIZARE se inlocuieste in link codul fiscal cu un cod fiscal valid, cum ar fi 19039834 http://www.mfinante.ro/infocodfiscal.html?pagina=domenii&cod=19039834&B1=VIZUALIZARE Edited June 16, 2017 by Sithalkes 2 Quote
gigiRoman Posted June 16, 2017 Report Posted June 16, 2017 On 6/14/2017 at 11:56 AM, Sithalkes said: Folositi link-ul, in care introduceti codul fiscal al firmelor pe care vreti sa le verificati. In cazul de fata, codul fiscal folosit este 4430779 http://www.mfinante.ro/infocodfiscal.html?pagina=domenii&cod=4430779&B1=VIZUALIZARE http://mfinante.ro/infocodfiscal.html?cod=4430779 ??? Quote
Clauand90 Posted December 20, 2017 Report Posted December 20, 2017 (edited) Pentru cine este interesat exista Data.gov.ro de unde se pot descarca in format CSV liste cu firme si informatiile aferente, listele sunt actualizate o data la 3 luni http://data.gov.ro/organization/onrc Edited December 20, 2017 by Clauand90 2 Quote
Stefan99 Posted February 26, 2018 Report Posted February 26, 2018 (edited) Mulțumesc pentru noul link. Ca și cel precedent cred că funcționează doar dacă execuți JavaScript. Am folosit SoapUI pentru a trimite un REST astfel: GET http://www.mfinante.ro/infocodfiscal.html?pagina=domenii&cod=4430779&B1=VIZUALIZARE HTTP/1.1 Accept-Encoding: gzip,deflate User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0) Gecko/20100101 Firefox/10.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Content-Type: application/x-www-form-urlencoded Referer: http://google.ro/','Cookie: __utma=1.2053247208.1325888509.1325888509.1326646749.2; __utmz=1.1325888509.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); itemMarking_forums_items=eJxLtDK0qs60MjS2MLAGUkbmlkaGlgZmZta1XDBbbAaS; cc=ro; __utmb=1.1.10.1326646749; __utmc=1; PHPSESSID=t3kdcc4q1s32fkke5vp65vkhu2; session_id=0ac8d838db333fd503a96089e36a693e Host: www.mfinante.ro Connection: Keep-Alive și răspunsul primit este: <html> <head> <meta content="HTML Tidy for Java (vers. 26 Sep 2004), see www.w3.org" name="generator"/> <meta content="no-cache" http-equiv="Pragma"/> <meta content="-1" http-equiv="Expires"/> <meta content="no-cache" http-equiv="CacheControl"/> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <link href="data:;base64,iVBORw0KGgo=" rel="shortcut icon"/> <script type="text/javascript">(function(){ var securemsg; var dosl7_common; window["bobcmn"] = "1111101111101020000000220000000520000000025705570d20000009630000000030000019ehttp%3a%2f%2fgoogle.ro%2f'%2c'Cookie%3a%20__utma%3d1.2053247208.1325888509.1325888509.1326646749.2%3b%20__utmz%3d1.1325888509.1.1.utmcsr%3d(direct)|utmccn%3d(direct)|utmcmd%3d(none)%3b%20itemMarking_forums_items%3deJxLtDK0qs60MjS2MLAGUkbmlkaGlgZmZta1XDBbbAaS%3b%20cc%3dro%3b%20__utmb%3d1.1.10.1326646749%3b%20__utmc%3d1%3b%20PHPSESSID%3dt3kdcc4q1s32fkke5vp65vkhu2%3b%20session_id%3d0ac8d838db333fd503a96089e36a693e300000006/TSPD/300000008TSPD_101300000004http200000000200000000"; window.OIv=!!window.OIv;try{(function(){try{var jj,Jj,Lj=1,sj=1,Sj=1,ij=1,Ij=1,OJ=1,zJ=1,SJ=1;for(var iJ=0;iJ</script> <title/> </head> <body> JL;if(O)return Sl(!1);O=oL&&LL+ZL<_L.length;++jo)iL(_L[jo]);Sl(!1!==window.OIv);(function(){var J={decrypt:function(J){try{return JSON.parse(function(J){J=J.split("l");var O="";for(var Z=0;ZJ}function L(J){var O=arguments.length,Z=[];for(var S=1;S>b>>0}; })(); <script src="/TSPD/08b919fd7aab200007385e7684345fd6173ee30fc7b77b98ee1fb050736414c5d27389175fce1d7c?type=8" type="text/javascript"/> <script type="text/javascript">(function(){ var securemsg; var dosl7_common; window["blobfp"] = "1111111110112000003e825d0550f830000004a406ac5882f87d615005a93e4d900001c204f52683a4c8e8f07d229401083012caa72fb71e0300000020http://re.security.f5aas.com/re/"; })();</script> <script src="/TSPD/08b919fd7aab200007385e7684345fd6173ee30fc7b77b98ee1fb050736414c5d27389175fce1d7c?type=11" type="text/javascript"/> <noscript>Please enable JavaScript to view the page content.</noscript> </body> </html> Este cineva are un exemplu funcțional a unui apel REST fără a executa JavaScript și dacă dorește să-l posteze aici. Mulțumesc anticipat. Edited February 26, 2018 by Stefan99 Quote