Automatické hlasování

HackForum

Automatické hlasování#
Dobrý den, chtěl bych se zeptat, zda je vůbec možné vytvořit skript, který by každých x vteřin hlasoval v nějaké anketě.
Konkrétně myslím ankety, které zjišťují to, zda jste hlasovali pomocí vaší IP adresy.

Sám jsem se pokoušel něco podobného vytvořit v Pythonu. Měnit svojí IP adresu nebyl až takový problém. Ten ale nastal, když jsem se snažil hlasovat. Kvůli TCP chce stránka pro započítání hlasu i zpětné potvrzení, ale to samozřejmě nedostanu, jelikož IP adresa, na kterou bylo potvrzení zaslané, byla mnou náhodně generovaná.

Znáte nějaký způsob, jak obejít nutnost potvrzovat totožnost? Předem děkuji za odpověď

(odpovědět)
Kesi | 31.30.27.*5.7.2016 16:00
re: Automatické hlasování#
Zranitelnost CSRF je ideálním řešením.

----------
Teprve když vstáváte s hackingem a uléháte s myšlenkou na něj, máte šanci být hackerem.
(odpovědět)
.cCuMiNn. | E-mail | Website | PGP5.7.2016 18:02
re: Automatické hlasování#
Keď to už chceš písať v pythone prečo nepoužiť proxy list (aby si tie IP nespoofoval ale reálne ich mal - nájdeš mrte veľa proxin - bude to stačiť na nejakých 500-1000 hlasov určite).

[link]

[link]

[link]

[link]

Teda všetko toto by ti malo stačiť za predpokladu že hlasovanie nie je chránené proti CSRF.
(odpovědět)
nitram147 | E-mail6.7.2016 16:41
re: Automatické hlasování#
To sice ano. Tím ale "donutím" k hlasování pouze jednoho uživatele, takže aby jsem získal větší množství hlasů, musel bych začít zasílat spam a doufat, že link někdo otevře.

Spíš mě zajímalo, jestli existuje nějaká možnost, jak započítat velké množství hlasů BEZ interakce uživatele. Předem děkuji za odpověď
(odpovědět)
Kesi | 31.30.27.*6.7.2016 20:40
re: Automatické hlasování#
CSRF není jen o rozesílání spamu a interakci uživatelů. Stačí vložit vhodný kód na nějaké navštěvované stránky, které máš pod kontrolou. Hlasovat pak budou bez vědomí všichni jejich návštěvníci. Hlasování ale musí být na tento typ útoku náchylné.

----------
Teprve když vstáváte s hackingem a uléháte s myšlenkou na něj, máte šanci být hackerem.
(odpovědět)
.cCuMiNn. | E-mail | Website | PGP7.7.2016 9:28
re: Automatické hlasování#
Okej evidentne si nepochopil ako som to myslel.
Pravdepodobne nerozumieš čo CSRF znamená takže v skratke - CSRF znamená že formulár nie je chránený nijakým tokenom ani ničím iným a zakaždým keď sa odošle vyzerá dotaz rovnako. Napríklad (uvediem v metóde GET aby to bolo na oko jasné): zmena mena sa prevedie dotazom GET:
[link]

V tomto prípade je vidieť že zakaždým keď si budeš chcieť zmeniť meno bude vyvolaný GET požiadavok na zmenmeno.php s parametrom meno = meno ktoré si zadal.

Čiže jediné čo sa bude meniť je parameter meno.
Takýto formulár je teda nezabezpečený proti CSRF.

Jednoducho stačí aby si kamarátovi KTORÝ JE DO DANEJ SLUŽBY AKTUÁLNE PRIHLÁSENÝ SO SVOJÍM ÚČTOM poslal link:
[link]

A akonáhle on klikne na tvoj link bude mu zmenené meno na barnabas.

Ak by bol formulár chránený proti CSRF, tento útok by si nemohol vykonať pretože by GET požiadavok vyzeral takto:
[link]
-miesto tokenu by samozrejme bol nejaký iný, ktorý by bol buď:
1.) Vygenerovaný jeden krát pri prihlásení a počas celej doby prihlásenia by bol nemenný (samozrejme ak by si sa odhlásil a znova prihlásil dostal by si nejaký iný).
2.) Bol by generovaný dynamicky a pri každom načítaní formulára pre zmenu mena by bol vygenerovaný iný token.

Z tohto dôvodu ty nemôžeš vedieť aký token má tvoj kamarát a tým pádom nemáš šancu vedieť s akým tokenom mu máš poslať link - vyššie spomínaný ,,demo,, útok by jednoducho nefungoval.

No a teraz k tým hlasovaniam veľa hlasovaní posiela jednoducho požiadavok (znova uvediem pre lepšiu názornosť metódu GET)
[link]

Samozrejme parametre môžu byť rôzne ale principiálne to vyzerá tak nejako ako som ti vyššie spomenul.

Skript hlasuj.php funguje tak že si skontroluje či si už z tvojej IP nehlasoval a ak ešte nie tak si zobere z parametru číslo ankety a pridá hlas políčku 3 + zaznamená si tvoju IP do databázy (alebo niekam inam) aby vedel že už v budúcnosti hlasovať nemôžeš.

Znova vyššie spomínaný príklad je ankety je náchylný na CSRF - každý komu by si poslal link na:
[link]
By nevedomky zahlasoval v ankete 2 za možnosť 3.

Avšak ak by sa v ankete hlasovalo štýlom:
[link]

-znova by tam bol nejaký pregenerovaný link, útok by už nešiel uskutočniť ....

Takže ak tá tvoja anketa nie je chránená proti CSRF jendoducho stačí načíťať link:
[link]
Z čo najviac rôznych IP adries.

Sú dve možnosti:
1.) Ako .cCuMiNn. spomínal vložíš si do tvojej stránky kód typu
<img src="[link]
" width="1" height="1">

Každý kto načíta tvoj web nevedomky zahlasuje - avšak predpokladom k tomuto útoku je vlastniť nejaký dobre navštevovaný web.

2.) Tak ako som ja písal pripojiť sa cez nejaký list na nejakú proxy a z nej poslať požiadavok
[link]

Pripojiť sa na inú proxy (z nejakého súboru proxín)
a znova poslať požiadavok
[link]

A toto opakovať toľko krát koľko chceš pridať hlasov - každá proxyna by mala mať inú IP tým pádom by si dostal toľko hlasov, koľko proxýn by si použil. Samozrejme ak niekto už takýmto spôsobom cez proxyni nehlasoval.

Vyššie som ti posielal linky na to ako sa pripojiť k proxy v pythone, ako si vyčítať proxynu z listu (súboru) a ako poslať požiadavok.

Ak vieš robiť v pythone je to na pár minúť ak nie polepíš ten kód do 30minút aj sám za pomoci stackoverflowu a podobných komunitných portálov prípadne použiješ nejaké hotové riešenie.

Snáď som ti to objasnil dosť dôkladne :)

(odpovědět)
nitram147 | E-mail8.7.2016 12:23
re: Automatické hlasování#
Jo sorry. Já jsem to přibližně pochopil už předtím, ale v té době, co jsem to psal, tak ještě tvůj příspěvek nebyl schválen, takže jsem ho neviděl. :D Teď už to ale chápu uplně, takže díky moc. :D
(odpovědět)
Kesi | 31.30.27.*8.7.2016 20:50

Zpět
 
 
 

 
BBCode