De ce programarea?    Sa progresez continuu...

"Omul anului" votat de neoameni

Eu tare am vrut ca subiectul următorului articol pe blog să nu fie prostia, dar nu a fost să fie.

Ideea de azi e simplă, cum soluțiile proaste pot distruge obiectivitate unui concurs.

Formula e simplă: VipMagazin organizează anual un concurs interesant unde propun vizitatorilor să voteze cei mai buni oameni a anului 2014 din diferite domenii de activitate, ideea e bună dacă realizarea nu a fi proastă.

Ok, vă prezint pagina unde vă puteți exprima opinia voastră UNICĂ și IMPORTANTĂ despre oamenii care merită titlul de cel mai bun om a anului din țara nostră: http://www.vipmagazin.md/contest-complex/Omul-Anului-2014/

Nu voi vorbi de interfață, aspectul ei sau modul logic de organizare dar voi spune 2 cuvinte despre înregistrarea votului vostru în sistem. Știți, eu nu pot să suport cînd văd atîta neprofesionalism în it-ul moldovenesc, da! eu sunt încă sub afect de la fabulosul program de pe 30 noiembrie. Deci ce ziceți dacă ați avea posibilitatea să apăsați pe un buton ca să puteți profita de o vulnerabilitate a unui site? E interesant, dar și nespus de banal. Eu serios, sunt 2 funcții interesante în browserul dvs care vă oferă de multe ori să omiteți o mulțime de constrîngeri pe site-urile moderne la care au lucrat developeri lenoși (sunt mulți), prima fiuncție este Disable javascript care anulează interpretarea codului javascript pe pagina încărcată, activarea acestei funcții duce de obicei nefuncționarea website-urilor complicate în care multă logică a aplicației se află pe client, însă utilizarea cu cap a acestei funcții va oferi posibilitatea de a scăpa de validarea unui formular de exemplu și injectarea unor date ironate în aplicație dacă lipsește validarea pe server, dar PHP-știi iubesc să se lenevească cu toate că sunt conștienți că PHP e un limbaj tare dubios la copitolul integritatea datelor. Ok, acum a doua funcție interesantă este Disable Cookies, eu sper că cititorii mei nu au nevoie de explicație ce este cookie, dacă nu atunci google vă poate ajuta, de obicei cookie se folosesc pentru a marca într-un fel clientul prin stocarea unor date la el, dezactivarea frecvent duce la imposibilitatea de a te loga undeva.

Bine, îmi place să povestesc chestii de acestea, dar vă întrebați ce are asta cu vipmagazin?! Deci, din motiv că votarea a fost făcută cît mai simplă (ai selectat pe cine dorești și expediezi datele) serverul vipmagazin nu poate să vă identifice că deja ați votat în afară decît să creeze un cookie la dvs, respectiv dacă nu îi permiteți să folosească cookies el pierde șansa sa de a vă identifica.

E clar acum, dezactivați asta și liber puteți vota de nenumărate ori, dar apar întrebări, cum trebuia de făcut? trebuia puțin mai complicat, puțin mai popular și puțin mai altfel, trebuia de folosit votare prin rețele de socializare pe care toți le au, sau prin email, sau prin sms (au, dar scump), sau oricare altă metodă numai nu prin IP sau Cookie.

Asta avea să fie tot dacă nu avea să ne numim programatori, cum putem vota cu o viteză mai mare decît cea umană? din fericire putem injecta un javascript pe pagina care ne poate face lucrul, spre exemplu să facem un user script care va inject un cod la încărcarea paginei și va utiliza funcțiile de pe pagină:

// This function is going to be stringified, and injected in the page

    var code = function() {

        setTimeout(function () {

            var e = document.getElementById("item2");
            if (e !== null) {

                e.checked = true;

                DoRequest ('PollVote2', '402','532');

            }
        }, 1);

    };

var script = document.createElement('script');script.textContent = '(' + code + ')()';(document.head||document.documentElement).appendChild(script);script.parentNode.removeChild(script);

 

așa acest cod vă permite să faceți undeva un vot pe secundă pentru o persoană aflată în poziția 2 pe pagină. Evident se poate de facut mai frumos dar ideea nu e aceasta. Viteza de votare poate fi mărită prin: dezactivarea încărcării fișierelor media (viteza de încărcare și respectiv votare va fi mai mare), deschiderea mai multor procese paralele care vor efectua votarea dată sau elaborarea alui script mai inteligent puțin.

Apare altă întrebare, se detectează asta din perspectiva administrației site-ului? evident că da! dacă se uită bine și văd că ip-ul nostru figurează de prea multe ori, dar dacă folosim VPN-uri atunci vor avea probleme cu detectarea :D.

În final facem niște concluzii: vipmagazin are o soluție proastă pentru a efectua un așa concurs, trebuie să avem deja dubii referitor la corectitudinea concursului Omul anului ediția 2014 dar și ediției anterioare.

 

PS1. Chestia aceasta am depistat-o de mult timp, sunt sigur că și altii știu de ea. Deabia acum am primit ideea de a scri un articol. Nu am contactat pe nimeni de la vipmagazin încît aceasta nu e chiar o vultenerabilitate, sunt conștienți de existența acestei probleme și își asumă responsabilitatea pentru aceasta prin eliminarea voturilor trucate.

PS2. Nu avea să observ asta dacă nu avea să văd fețile lui Dondon și Zina pe primele locuri în top, ce ca ce dar precis ei nu merită (defapt eu la alegeri am văzut cît de lînă e poporul nostru)

PS3. ... votați de neoameni înseamna defapt votați de boți.

PS4. Cineva care știe ce este Cookie ține cu dodon (da, da. se trișează, am văzut eu)

PS5. Leancă e maladeț ))))) 

PS6. https://drive.google.com/file/d/0B9ZWOIEOAmBzVkhwMHd5N1ZIN1E/view


Ți-a plăcut articolul? Apasă Like:

Comentarii: