Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
Posted: 07.01.2004 11:36 Post subject: Fejkanje IP-a
Radimo neakvu skriptu za glasanje i sad kako bi sprijecili nabijanje glasove, sustav je ovakav.
Prvo usporedjuje IP onoga koji glasa sa zadnjim koji je glasao (kako bi se sprijecilo multisubmitanje - kad neko ko blesav sjedne na submit button).
Onda gleda da li korisnik ima kukije - ako nema kukija, nema glasanja.
Onda gleda da li smije glasati (po kukiju).
E sad. Ima kakva bolja zastita, da jos nekakav faktor uvedem. Naravno da ovo nije idealno, ako se covjek odspoji s neta (dobije drugi ip) i pobrise kuki opet moze glasat, ali to je dosta zajebancije, a poanta je stvar maksimalno zakomplicirat tako da se to nikom nece dati. Ima neko kakvu bolju ideju?
I btw....jel se moze fejkat IP onaj koji on dobije? pozivam ga (ASP) preko
request.servervariables("REMOTE_ADDR")
jer mi je neki tip uspio nabit glasove, a ne kuzim bas kako.
fala puno.
_________________ Bolje biti malo lud, nego malo pametan.
IP se fejka preko raznih proxija (spojis se na proxy, sendas request, spojis se na drugi itd) - a proxy utilitya falabogu ima gr0. cak sam i sam koristio te sheme pa znam o cem pricam. javaskript inace odjebava razne proxye i moze saznat pravi IP usera makar ovaj koristio proxye. ali opet, user moze disejblat javu u browseru i eto frke.
zato postoji jedan sistem oko glasanja, malo rigorozan ali - samo registrirani korisnici smiju glasat. amen. no visitor, no guest - no problem :>
inace, ako nekome lokas IP, postoji mogucnost da osoba A glasa, diskonekta se i osoba B onda dobije njegov IP, oce glasat - nemre. razocaran odlazi sa sajta uz spominjanje rodbine webmasteru.
oke, kak sad sjebat ove kaj se spajaju prek proxya? google > proxylist - sejv as u txt i kad neko glasa u listu "bananih" ip-jeva ukljuci ovu proxy listu. ako je gospon h4x0r spojen prek proxya, pogledaj dal mu je ip u blacklisti i dovidjenja mihalje.
inace, za public pollove (dakle da svako moze glasat) moro bi koristit i sessione i kukije i IP lokanje i blacklist standardnih public proxya.
slazem se sa maxyem u vezi membera - tu si siguran
a ako nije community onda mi se cini da nemas bas prevelike opcije zastite.
Uvijek je tu kuki, al to mi je sve klimavo -
recimo da ja glasam kod tebe, ubijes mi kuki, a ja imam neugodnu naviku bristati kukije nakon nekog vremena (ipak ima mozilla pregledan kuki utility window).
Ako mozes napravi member system i tu su ti brige gotove.
Mozda postoji neki nacin, a ja ga se ne mogu sjetiti..
_________________ FRENCH GUARD: No chance, English bed-wetting types.
I burst my pimples at you and call your door-opening request a silly thing, you tiny-brained wipers of other people's bottoms!Flikrac
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
Posted: 07.01.2004 15:20 Post subject:
sam za pocetak da velim da mi opcija sa memberima otpada u startu. znam da je to najbolje - al jebiga.
maxy wrote:
IP se fejka preko raznih proxija (spojis se na proxy, sendas request, spojis se na drugi itd) - a proxy utilitya falabogu ima gr0. cak sam i sam koristio te sheme pa znam o cem pricam. javaskript inace odjebava razne proxye i moze saznat pravi IP usera makar ovaj koristio proxye. ali opet, user moze disejblat javu u browseru i eto frke.
cek, i onda preko tih proxy utility ja mogu fejkat svoj IP?
mozes mi reci neki dobar besplatni da isprobam
Quote:
zato postoji jedan sistem oko glasanja, malo rigorozan ali - samo registrirani korisnici smiju glasat. amen. no visitor, no guest - no problem :>
inace, ako nekome lokas IP, postoji mogucnost da osoba A glasa, diskonekta se i osoba B onda dobije njegov IP, oce glasat - nemre. razocaran odlazi sa sajta uz spominjanje rodbine webmasteru.
oke ali male su sanse za to. jer nije lista tih ip-eva fiksna, radi se o tome da se pamti zadnji IP s kojeg je glasano za tu opciju unutar glasanja.
Quote:
oke, kak sad sjebat ove kaj se spajaju prek proxya? google > proxylist - sejv as u txt i kad neko glasa u listu "bananih" ip-jeva ukljuci ovu proxy listu. ako je gospon h4x0r spojen prek proxya, pogledaj dal mu je ip u blacklisti i dovidjenja mihalje.
najs.
Quote:
inace, za public pollove (dakle da svako moze glasat) moro bi koristit i sessione i kukije i IP lokanje i blacklist standardnih public proxya.
a zasto sessioni tu dolaze?
fala.
_________________ Bolje biti malo lud, nego malo pametan.
bez koristenja lock liste zapravo je nemoguce napraviti glasacima nacin da ne glasaju vise od jedanputa jer ili lock lista prijeci novoj adresi da glasa ili je nema pa taj glasac jednostavno moze bilo koji od nacina upotrijebiti za visestruko glasanje.
kad se pristupa takvom problemu najbolje je koristiti vise metoda ( kuki, seshn, IP tajmaut ) i to u kombinaciji koja je minimalno poznata korisniku sa druge strane jer time smanjujemo mogucnost reverse engenieringa koja je zapravo uzrok svih nasih nevolja.
gledajuci zapravo iz prakse ako postoji bilo kakav nacin da se razumije rad sustava za glasanje ili bilo kakvo drugo biljezenje vrlo je lako naci pristup koji ce omoguciti malicioznom korisniku da radi sranja.
SINteX
_________________ You can't, You won't and you don't stop!
ako netko namjerava fejkat onda ce najvjerojatnije ici pisati svoj softverak koji ce to raditi automatski. moze koristiti curl (curl.haxx.se) s kojim moze definirati sve headere i cookie koje ce ti poslati, cak i raditi emulaciju vise klikova po sajtu, znaci potpuno emulirati browser ali svaki put sa drugom origin ip adresom i svim ostalim stvarima koje su potrebne.
pitanje je koji nivo sigurnosti ti je potreban, kad to definiras onda mozes planirati sustav.
ako se radi stvarno o potrebi da imas kontolirani environment onda nemas druge nego dozvoliti glasanje registriranim korisnicima (i ne smije biti automatska registracija korisnika nego potvrda registracije sa zivog mail accounta, bla bla)
najcesce ipak nije potrebna takva paranoja pa onda uvedes:
1. sessione - smije glasati samo user za kojeg vec postoji session - tako da ne moze direktno dati glas pozivom tvojpoll.php?blabla nego mora prvo doci na sajt i onda kliknuti
vec samo to je odredjena zajebancija za zaobici ako hoces automatikom puniti glasove
2. jedan vote po sessionu
3. ono kaj je maxy rekao, provjera blacklisted hostova
4. spremanje ip-ova s kojih je glasano u tablicu i lockanje na odredjeni period vremena (5-10 min) - prekratko pa user moze okinuti po jedan fake glas svakih x minuta, predugo pa imas mogucnost da neki valid user koji je dobio taj ip ne moze glasati
5. cookie - nakon glasanja spremiti neki flag u cookie i kod glasanja provjeriti da li postoji - ovo je za user trivialis koji nemaju pojma o nicem ali oce biti pametni pa restartati browser i resubmitati vote
ovak, ajmo sad malo objasnit o cemu se radi. na netu postoje razni serveri za svasta - tako i ti http proxyi. u biti ti umjesto exploer - > target sajt radis ovo: explorer -> proxy -> target sajt. spojis se na remote komp, kazes mu "posalji ovaj HTTP header negdje i cekaj reply, vrati mi reply". (znam da si vjerojatno kuzio o cem se radi, al svejedno).
par proxy utilitya:
http://www.multiproxy.org/ (nisam bio dost dugo, ne znam dal opce radi)
http://www.loomsoft.com/index.php?section=download (preporucam ovog, stvarno je lagan za koristit, a mocan istovremeno)
Quote:
oke ali male su sanse za to. jer nije lista tih ip-eva fiksna, radi se o tome da se pamti zadnji IP s kojeg je glasano za tu opciju unutar glasanja.
tu ti u igru ulazi murphyev zakon: "ako ista moze poci po krivu, poci ce". primjer: ja sam na q2 serveru postavio ban na jedan ip. nakon par dana se konektam gore, i sto dobim: "you are banned". necemo racunat sanse za to da se dogodi, ali dogodi se.
just in case - pokrij SVE sto mozes ako zelis imati skriptu koja radi skroz
Quote:
a zasto sessioni tu dolaze?
neko disejbla kukije - koristi session da mu lokas current visit. uz to mu lokas i ip i pokrijes sve mogucnosti.
da se dodatno sjebe covjeka koji pokusava napraviti custom skriptu koja ce imat kao target "tvojpoll.php" ljepo namjesti unutar polla dozvoljene referere s kojih se smije glasat.
dakle:
cookiji
sessioni
lokanje ip-jeva
blacklist proxya
dozvoljeni refereri (i ovo se moze fejkat al brijem da ce script kiddie odustat od toga da potrosi 10 dana da skuzi sistem skripte)
jesam sto zaboravio?
btw. paranoja na desetu covjece.
Last edited by maxy on 07.01.2004 20:45; edited 1 time in total
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
Posted: 07.01.2004 20:29 Post subject:
maxy wrote:
tu ti u igru ulazi murphyev zakon: "ako ista moze poci po krivu, poci ce". primjer: ja sam na q2 serveru postavio ban na jedan ip. nakon par dana se konektam gore, i sto dobim: "you are banned". necemo racunat sanse za to da se dogodi, ali dogodi se.
just in case - pokrij SVE sto mozes ako zelis imati skriptu koja radi skroz
oke, ovo su fakat male sanse zbog toga jer se radi o veliikom izboru za glasanje. mogu i matematicki izracunat ak oces
Quote:
neko disejbla kukije - koristi session da mu lokas current visit. uz to mu lokas i ip i pokrijes sve mogucnosti.
aha, ma to je izvedeno "moras imat kukije - ko te jebe" principom
jer onda ko nema ukljucene kukije moze svaki put ugasit brozer i opet ga dignut.
znaci nema kukija - nema glasanja.
pa mi ni sessioni ne trebaju.
Quote:
da se dodatno sjebe covjeka koji pokusava napraviti custom skriptu koja ce imat kao target "tvojpoll.php" ljepo namjesti unutar polla dozvoljene referere s kojih se smije glasat.
ovo cemo napraviti, ovo je jako dobra ideja. fala.
Quote:
btw. paranoja na desetu covjece.
the enemy is out there
_________________ Bolje biti malo lud, nego malo pametan.
aha, ma to je izvedeno "moras imat kukije - ko te jebe" principom
jer onda ko nema ukljucene kukije moze svaki put ugasit brozer i opet ga dignut.
a kak ces utvrdit da korisnik nema ukljucene kukije? mislim, da se, al je zajebancija svoje vrste.
naime, ako na stranici X setiras cookie, na toj istoj stranici ne mozes vidjeti njegovu vrijednost (na toj stranici se tek posalje header sa cookie informacijama). Tek na sljedecoj stranici Y mozes citati vrijednosti koje si prije setirao.
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
Posted: 07.01.2004 23:56 Post subject:
njava wrote:
a kak ces utvrdit da korisnik nema ukljucene kukije? mislim, da se, al je zajebancija svoje vrste.
naime, ako na stranici X setiras cookie, na toj istoj stranici ne mozes vidjeti njegovu vrijednost (na toj stranici se tek posalje header sa cookie informacijama). Tek na sljedecoj stranici Y mozes citati vrijednosti koje si prije setirao.
ok. sad se ja osjecam glupo.
imam ovaj kod
Code:
'test jel radi kuki
response.cookies("tester")="test"
response.cookies("tester").expires=date()+1
if request.cookies("tester")="test" then
..
i sad on vec tu radi kaj treba jel
end if
i to tako radi. zasto neam pojma. kako uopce iskljucim kukije u IE-u.
otisao sam na TOOLS-->Internet Options--> Privacy --> Advanced
i tu sam stavio da me za sve kukije "Prompt"-a.
ali za ovaj tu gore kod me nije promptao?? gdje sam glup?
_________________ Bolje biti malo lud, nego malo pametan.
ne znam za ASP, al "=" u php-u je pridruzivanje vrijednosti varijabli, a "==" je ispitivanje jednakosti..inace vanja ima pravo sto ti je reko za kukije - tek na slijedecoj stranici ti mozes pogledat dal je neko primio kuki kojeg si sendo.
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
Posted: 08.01.2004 15:26 Post subject:
maxy wrote:
ne znam za ASP, al "=" u php-u je pridruzivanje vrijednosti varijabli, a "==" je ispitivanje jednakosti..inace vanja ima pravo sto ti je reko za kukije - tek na slijedecoj stranici ti mozes pogledat dal je neko primio kuki kojeg si sendo.
u C-ovoj sintaksi je to tako, ali u BASIC-ovoj nije.
e, jel itko od vas paralelno programirao u recimo ASP-u ili PHP-u, ili recimo u C-u i Basicu ili nesto slicno. uglavnom to sad radim i ubija me, brkaju mi se sintakse, grozno.
inace, u pravu si za kukije, al meni ovo ovako radi, neznam di je kvaka.
_________________ Bolje biti malo lud, nego malo pametan.
Joined: 25 Aug 2003 Posts: 1842 Location: Zagreb, Hrvatska
Posted: 08.01.2004 15:56 Post subject:
carr wrote:
e, jel itko od vas paralelno programirao u recimo ASP-u ili PHP-u, ili recimo u C-u i Basicu ili nesto slicno. uglavnom to sad radim i ubija me, brkaju mi se sintakse, grozno.
jesam. jednom samo. asp i php paralelno. bio sam primoran. NIKAD VISE. muka isusova...
Quote:
inace, u pravu si za kukije, al meni ovo ovako radi, neznam di je kvaka.
Kak ja citam ovaj asp kod:
Code:
'test jel radi kuki
response.cookies("tester")="test"
response.cookies("tester").expires=date()+1
if request.cookies("tester")="test" then
..
end if
response.cookies("tester") postavis na vrijednost test, onda mu povecas expires za trenutni datum + 1 [1 sta? sekunda, dan, neam pojma, nije bitno], i onda provjeris da li je vrijednost request.cookies("tester") jednaka "test" => naravno da je, kad si ju ti dve linije ranije postavio... to i ne znaci da je taj cookie sendan imho i da client ima enejblane cookie...
A jel bi moglo raditi nesto u ovom stilu?
Code:
If Request.ServerVariables("HTTP_COOKIE") <> "" Then
' Cookies are on
Else
' Cookies off
End If
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
Posted: 08.01.2004 16:20 Post subject:
zytzagoo wrote:
jesam. jednom samo. asp i php paralelno. bio sam primoran. NIKAD VISE. muka isusova...
ja si razmisljam da jos paralelno nesto u delphiju radim, cisto iz zajebancije
Quote:
response.cookies("tester") postavis na vrijednost test, onda mu povecas expires za trenutni datum + 1 [1 sta? sekunda, dan, neam pojma, nije bitno], i onda provjeris da li je vrijednost request.cookies("tester") jednaka "test" => naravno da je, kad si ju ti dve linije ranije postavio... to i ne znaci da je taj cookie sendan imho i da client ima enejblane cookie...
mislim da je 1 dan u pitanju.
inace, moze biti, slazem se s tobom.
Quote:
A jel bi moglo raditi nesto u ovom stilu?
Code:
If Request.ServerVariables("HTTP_COOKIE") <> "" Then
' Cookies are on
Else
' Cookies off
End If
Ja nemam di probat
mislim da nebi jer kad ja izvrtim ovaj kod, on meni vrati kukija kojeg sam tamo prije negdje zapisao.
ocu reci, ovaj kod je isti ko da sam negdje prije zapisao kukija, pa ga sad provjeravam.
znaci svejedno MORAM prije kukija zapisat da bi ga provjerio.
uglavnom, ovako je napravljeno, na stranici prije zapisuje test kukija, kojeg onda kasnije provjerava. naravno da se moze fejkat, ali necemo biti paranoicni
_________________ Bolje biti malo lud, nego malo pametan.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum