[ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
GET a ID

Registrovaný: 22.01.08
Prihlásený: 19.04.15
Príspevky: 492
Témy: 135 | 135
Bydlisko: Bratislava ...
NapísalOffline : 13.12.2008 13:06 | GET a ID

ako sa proti tomuto zabezpečiť? mám script ktorý odkazuje na subor.php?id=82 napr. a to vymaže prispevok s daným ID...
no to je ale trocha problém, lebo niekto moze do adresy napisat subor.php?id=82 a zmaže to...i ked toto je len v administracii ale v statusbare sa ta adresa objavi a tak:( no skusal som nahradit GET, POSTom ale to uz potom nefunguje. ako sa riesi toto?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.04.07
Prihlásený: 20.11.17
Príspevky: 531
Témy: 34 | 34
Bydlisko: Bratislava
NapísalOffline : 13.12.2008 13:16 | GET a ID

staci ten skript osetrit tak, ze to moze urobit iba admin:
Kód:
if(admin == 1) {
  delete
} else return false;


_________________
CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX
Offline

Užívateľ
Užívateľ
GET a ID

Registrovaný: 22.01.08
Prihlásený: 19.04.15
Príspevky: 492
Témy: 135 | 135
Bydlisko: Bratislava ...
Napísal autor témyOffline : 13.12.2008 14:33 | GET a ID

hm diky za napad! tvoj kod asi nie je zly, ale pouzil som vlastny podla ktoreho ma usposobeny cely script
uz to ide dobre...


Offline

Skúsený užívateľ
Skúsený užívateľ
GET a ID

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 13.12.2008 18:33 | GET a ID

Ale pozor, to situáciu úplne nerieši. Tomuto útoku sa hovorí CSRF: Cross-Site Request Forgery. Niekto ťa prinúti ísť na nejakú stránku a na nej bude napr kód:
Kód:
<img src="http://www.tvojastranka.sk/subor.php?id=100">

Ak budeš zároveň prihlásený, tak sa ten skript spustí a súbor sa vymaže.

Obrana proti tomuto typu útokov je zložitejšia. Útočníkovi to môžeš sťažiť ak budeš na mazanie používať výlučne POST metódu. Ani to však nie je 100% ochrana. Tou sú špeciálne tokeny.

Princíp tokenov funguje takto: keď si dáš zobraziť nejakú stránku na ktorej je tlačidlo "Vymazať", vygeneruješ špeciálny token (nejaký reťazec, zakaždým iný!). Tento token si uložíš (najlepšie asi do databázy) a zároveň ho zahrnieš ako tajné formulárové pole
Kód:
<input type="hidden" value="totoJeTvojUnikatnyToken"
. Keď niekto niekedy stlačí tlačidlo "Vymazať", s idčkom článku na vymazanie sa zároveň odošle token. Pri spracúvaní požiadavku sa pozrieš, či je niekde v databázi tento token. Ak je, požiadavka určite odišla z tvojej administrácie a môžeš token zneplatniť a článok vymazať. Inak sa článok nevymaže (a môžeš napr. zobraziť chybovú hlášku).

Je veľmi dôležité, aby sa tokeny vždy použili iba raz a aby sa neopakovali. Potom si tiež treba napísať údržbový skript, ktorý raz za čas vymaže staré nepoužité tokeny.


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
GET a ID

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 13.12.2008 18:38 | GET a ID

Ja to riešim tak, že mám v každom súbore na začiatku overenie, či je v administrácií, a tam som len ak sa nachádzam v priečinku administrácie a ak som prihlásený ako admin, a aj keď sa niekomu podarí to vymazať tak len zmením jednu hodnotu v databáze a je to späť, také riešenie by nestačilo? Inak p360t trochu som nepochopil tvojím tokenom :) veď ten token tam bude či je admin alebo nieje, nie?


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 13.12.2008 19:45 | GET a ID

Drako: pokiaľ to chceš riešiť cez GET tak sa budeš pýtať na existenciu tokenu a pokiaľ neexistuje tak si na stránke predtým nebol ...


Offline

Skúsený užívateľ
Skúsený užívateľ
GET a ID

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 13.12.2008 21:04 | GET a ID

Nie, tie tokeny sú o tom, že len ten človek, ktorý naozaj navštívil administráciu má k dispozícii (práve jeden) aktívny token. CSRF sa robí tak, že adminovi podstrčíš nejakú URL, ktorá mení obsah stránky, ale keď nevieš hodnotu aktívneho tokenu, nemáš mu ako podstrčiť škodlivú URL. Samozrejme, neochráni ťa to, keď už útočník sám získa prístup do administrácie, ale vtedy si aj tak môže viac-menej robiť čo sa mu zachce.


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
 [ Príspevkov: 7 ] 


GET a ID



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

GET premenne

v PHP, ASP

8

382

30.04.2011 22:17

emer

V tomto fóre nie sú ďalšie neprečítané témy.

GET method PHP

v PHP, ASP

6

161

22.02.2016 13:54

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Vista get conected

v Operačné systémy Microsoft

2

159

11.10.2010 13:49

Mego

V tomto fóre nie sú ďalšie neprečítané témy.

GET pise bludy

v PHP, ASP

4

233

28.04.2010 15:00

jtomcik

V tomto fóre nie sú ďalšie neprečítané témy.

class get/post

v PHP, ASP

0

250

06.06.2010 18:20

Unlink

V tomto fóre nie sú ďalšie neprečítané témy.

c++ cin.get/line

v Assembler, C, C++, Pascal, Java

3

452

18.03.2012 20:43

Fico

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] Php GET problem

v PHP, ASP

4

350

21.02.2009 20:12

Xardas

V tomto fóre nie sú ďalšie neprečítané témy.

problem s get page ...

v PHP, ASP

1

313

30.01.2009 22:08

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

php, get a mysql

v PHP, ASP

3

192

27.07.2012 4:13

TheRay

V tomto fóre nie sú ďalšie neprečítané témy.

vytiahnutie premennej cez GET

v JavaScript, VBScript, Ajax

4

695

01.12.2009 14:51

pilná lama glama

V tomto fóre nie sú ďalšie neprečítané témy.

GET aby to user nevidel

v PHP, ASP

11

469

05.06.2008 15:23

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

[htaccess]cool url na get

v Ostatné

4

398

13.04.2010 1:04

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Get IP address by URL

v Operačné systémy Unix a Linux

5

394

18.02.2010 10:44

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s get a post

v PHP, ASP

3

223

24.04.2010 0:13

djsulo

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] spracovanie formulara cez GET

v PHP, ASP

15

656

20.02.2009 11:01

newboy1

V tomto fóre nie sú ďalšie neprečítané témy.

nacitanie externej stranky - file get content

v PHP, ASP

3

135

19.12.2014 16:34

chrono



© 2005 - 2017 PCforum, edited by JanoF