Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: fauf 13. 05. 2013, 02:54:58

Název: Zajištění PHP POST proti podvrhům
Přispěvatel: fauf 13. 05. 2013, 02:54:58
Zdravim,

som pomerne zaciatocnik, a kodujem jednu aplikaciu na andoid ktora bude posielat data na server cez hpp post.

Dajme tomu: .../index.php?action=post;data=secretdata

no a coho sa obavam je ze niekoho niekedy napadne dany post obkukat a zacat ma floodit fake datami ...

Tak ma napadlo ze by som okrem DAT posielal este dve veci - nejaky nahodny, hocijaky a vzdy iny string a potom nejaku "variaciu" toho stringu... dajme tomu sha-1 hash odzadu ... a vsetko co by vzajomne nesedelo jednoducho odignorovat...

no a potom by to "flooder" mal pomerne tazke nie? zistit co to vlastne s tym stringom robim aby data presli .... toto ma napadlo asi po 10 sekundach uvazovania, je to dobry napad? su lepsie?

Dakujem
Název: Re:Jak zabezpecit PHP POST proti falosnym datam?
Přispěvatel: just saying 13. 05. 2013, 03:22:08
Security by obscurity, proc ne, ale neni to silver bullet - kdyz jsi velky ci pro nekoho zajimavy target, tak si muze dat tu praci a reverznout ti tve reseni eventuelne.

Ja rikam proc ne, ale mozna by mohlo byt lepsi resit to nejak na systemove urovni, treba pres iptables (max pocet spojeni per IP) nebo nejakym apache modulem, pokud je primo potreba branit se proti floodingu/dos

http://stackoverflow.com/questions/14477942/how-to-enable-ddos-protection
Název: Re:Jak zabezpecit PHP POST proti falosnym datam?
Přispěvatel: just saying 13. 05. 2013, 03:39:58
Jinak ale samozrejme jedina spravna politika je neverit nicemu a akceptovat pouze takova data, jaka jsou ocekavana. To se tyce i HTTP headeru a obsahu susenek. Neni nic jednodussiho dneska nez menit HTTP requesty on the fly, na to existuje spousta nastroju, a da se menit uplne vsechno.
Název: Re:Jak zabezpecit PHP POST proti falosnym datam?
Přispěvatel: Jiri Vitek 13. 05. 2013, 03:45:44
Security by obscurity, proc ne, ale neni to silver bullet - kdyz jsi velky ci pro nekoho zajimavy target, tak si muze dat tu praci a reverznout ti tve reseni eventuelne.

Ja rikam proc ne, ale mozna by mohlo byt lepsi resit to nejak na systemove urovni, treba pres iptables (max pocet spojeni per IP) nebo nejakym apache modulem, pokud je primo potreba branit se proti floodingu/dos

http://stackoverflow.com/questions/14477942/how-to-enable-ddos-protection

kze az mu to nekdo nabori, tak mu nedovolis to nabourat vicekrat : O

pro zacatek zpracovavej jen ty requesty, ktere si "objednas", tim se vyhnes hromade problem. Dalsi osetreni je validace vstupnich dat. A ne jen formalni validace, ale taky jestli pozadavek dava smysl. Napr jestli neautorizovany uzivatel nemuze pres nezabezpecene skripty/api prohlizet objednavky ostatnich. Menit je apod.

btw podobne reseni, ktere popisujes, tj prilozit k requestu napr podpis celeho pozadavku, je hojne sklonovano a vyuzivajiho skoro vsechny platebni brany. Pouzivaji bezne openssl knihovny. Trosku kompilkace je ve vymene certifikatu, kterym se podepisujou a overujou data. Nadruhou stranu, da se udelat nejaka simple varianta bez vymeny klicu s castou obmenou klicu aby se stizil re.

taky se podivej na viewstate jak ho pouzival/pouziva? asp.net, to se skoro neda re bez znalosti kodu. a i tak : O

http://php.vrana.cz/obrana-proti-sql-injection.php
http://php.vrana.cz/cross-site-scripting-poradne.php
http://phpfashion.com/hackeri-vam-zautoci-na-web
..
.

btw vyse uvedene nepropaguji jako samospasne a vsevedouci..
Název: Re:Jak zabezpecit PHP POST proti falosnym datam?
Přispěvatel: just saying 13. 05. 2013, 03:52:27
Jeste bych dodal k tomu "security by obscurity" reseni, ze neni potreba pocitat rovnou sha-1 a delat nejake slozite (narocne) operace. Muzes treba vzit delku dat a vynasobit prvnim bajtem (nebo poslednim, ci necim podobnym..) a posilat jen cislo.
Název: Re:Jak zabezpecit PHP POST proti falosnym datam?
Přispěvatel: to_je_jedno 13. 05. 2013, 07:50:21
jestli pracujes s DB a ta data tam chces posilat tak hlavne nepouzivej "obycejne" query ale PDO nebo nejaky DB API ktere je na PDO postavene.
Název: Re:Jak zabezpecit PHP POST proti falosnym datam?
Přispěvatel: Tom_as 13. 05. 2013, 09:07:38
Co tak prejit na framework, ktery tuhle vec resi za tebe a nevymyslet co uz je strokrat vymyslene?
Název: Re:Jak zabezpecit PHP POST proti falosnym datam?
Přispěvatel: mif 13. 05. 2013, 09:14:53
android appka sa da krasne dekompilovat (pokial nepises native kod :) ) a tam sa da zistit ake security pouzivas. Lepsie by bolo data cryptovat cez public-private key, potom by to mohlo byt safe.
Název: Re:Jak zabezpecit PHP POST proti falosnym datam?
Přispěvatel: j 13. 05. 2013, 09:15:14
Co tak prejit na framework, ktery tuhle vec resi za tebe a nevymyslet co uz je strokrat vymyslene?

jj, stravit par mesicu zkoumanim, jak to funguj a ziskat 1/10 vykonu a spostu fukncionality, kterou vubec nanic nepotrebujes ...
Název: Re:Jak zabezpecit PHP POST proti falosnym datam?
Přispěvatel: fauf 13. 05. 2013, 09:21:39
oki dik, :) tim ze nepotrebuju sha1 odpadne hodne prace na serveru to je fajn napad :)

k tem kontrolvoanym requestum :( ta apka ma byt free pro kazdeho a sbirat statisticka data ..... takze tam nemam moc sanci nic nijak extra overovat :( nebo lepe receno "ocekavat" a na zaklade toho filtrovat

a nakonec ze na androidu lehce nekdo koukne co to dela .... asi mate pravdu a implementuji si vlastni reseni s klicma ... dekuju :)