[ Príspevkov: 11 ] 
AutorSpráva
Offline

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

Registrovaný: 07.07.08
Prihlásený: 26.06.20
Príspevky: 38
Témy: 10 | 10
Bydlisko: City 17

Dobrý večer všetkým,
chcel by som sprístupniť na stránke širokej verejnosti aby si mohli napísať vlastný kód v tvare jazyka PHP a potom im ho aj spúšťať.

problém je aby tak nemal prístup k citlivým údajom, k prístupu do DB, zmeni si práva na Administrátorske atd
Riešenie pomocou whitelistu kde by som postupne pridával "príkazy" sa mi vôbec nepáči, v PHP toľko funkcií ach.

Najlepšie by to bolo nejako okašľať, napr. každej premennej pridať nejaký prefix teda napr. $dbheslo by sa zmenilo na $SAFEDdbheslo tým by nemal žiaden prístup k premennej $dbheslo pretože vždy by mu to zmenilo na $SAFED...
ale napadlo ma že môže si napr. skúsiť include nejakého súboru, alebo show_source() a to už neviem ako ošetriť takto . ... (asi ich len dať do blacklistu)
prípadne ak vám napadnú nejaké dalšie možnosti takejto "PHP injection" píšte tu všetko nech to vyskúšam

Má s tým niekto skúsenosti?


_________________
"We are willing to suffer, to die for the things we care about. For love, for the right choices."
Offline

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

Registrovaný: 07.07.08
Prihlásený: 26.06.20
Príspevky: 38
Témy: 10 | 10
Bydlisko: City 17

prave som narazil na eval() ten by to tiez mohol pokaziť, fakt nechcem robiť whitelist (a tiež rozmýšľam čo define urobí, budem musieť vyskúšať ráno)
eval('$myvar = ' . $x . ';');


_________________
"We are willing to suffer, to die for the things we care about. For love, for the right choices."
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

Tu by si sa skôr mal zamerať na poriadne nastavenie užívateľských práv v systéme. Inak je to trochu hlúposť, lebo s whitelistom nemusíš povoliť práve funkciu, ktorú si chcem vyskúšať (a že tých funkcií je sakra veľa) a s blacklistom môžeš nechať prístupnú funkciu, ktorou ti to nejako rozbijem.

btw. ako im toto chceš poskytovať, ak nie funkciou eval?


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

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

Registrovaný: 07.07.08
Prihlásený: 26.06.20
Príspevky: 38
Témy: 10 | 10
Bydlisko: City 17

myslel som že skript sa uloží do súboru, a potom include teda ošetrené. (pretože aby tak mohli svoje skripty aj uložiť a "ukázať" iným).
Možno nejaké "schválenie článku" tam hodiť, ale to už stratí tú dynamickosť. Možno PHP už niečo také má, veď má množstvo zaujímavých funkcií ako je napr. show_source() to je proste nádhera. . .. . .
Možno to dať do nejakej triedy alebo také niečo, neviem zatiaľ sa do OOP nevyznám, ale ak má niekto skúsenosť, že použiť nejakú "knižnicu" vrstvu ja neviem čo napr niečo ako je PDO pre mysql ?

Dajme tomu že urobím whitelist na všetky funkcie. Bude ešte niečo náchylné na PHP injection okrem vecí spomenutých na http://en.wikipedia.org/wiki/Code_injectiontejto stránke ?
Rozmýšlam ešte nad ukradnutím session ale to budem už asi musieť otestovať.


_________________
"We are willing to suffer, to die for the things we care about. For love, for the right choices."
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3

Tie užívateľské práva si rýchlo zamietol.
Urob to cez whitelist a garantujem ti, že ti to nejako rozbijem. Alebo ti tam väčšina používaných funkcii nepôjde a tvoj systém bude na prt.

Choď sa radšej spýtať do linuxových fór, ako to čo najlepšie nastaviť (v tomto si netrúfam radiť, určite to neviem tak dobre, ako niektorí tam)
(...alebo windowsových, ale tak nejak tuším, že to bude linux)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Čestný člen
Čestný člen
ošetrenie vloženeho php kodu od kohokoľvek pred zneužitím

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5404
Témy: 30 | 30
Bydlisko: Bratislava

Naozaj si na to trúfaš? Hlavne, keď si zraniteľnosť kontroluješ podľa wikipedie. Toto zaváňa veľkým malérom (minimálne pre teba), hacknú ťa ani nebudeš vedieť ako.


_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
ošetrenie vloženeho php kodu od kohokoľvek pred zneužitím

Registrovaný: 01.05.05
Príspevky: 13415
Témy: 1494 | 1494
Bydlisko: Bratislava

Mozne to spravit je, vid trebars prvy odkaz z g http://writecodeonline.com/php/ ale na take daco ako pise shaggy si trufne niekto kto sa do toho naozaj rozumie, skusil som tam nejake funkcie a vypise has been disabled for security reasons, takze tam to asi riesi nejakym blacklistom kde ma nahadzane vsetky potencionalne nebezpecne funkcie, predpokladam. To co chces spravit si nemyslim ze pojde az tak lahko spravit aby tam slo vyskusat vsetky mozne funkcie ake su


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu 24.04.1 LTS
Offline

Správca fóra
Správca fóra
ošetrenie vloženeho php kodu od kohokoľvek pred zneužitím

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava

Samozrejme, ze sa to da spravit, ale realne je mozne nad tym uvazovat, az ked mas pristup aspon k php.ini, kde si mozes prisposobit nastavenia podla svojich potrieb. Je toho dost, na co nesmies zabudnut (obmedzenie pristupu len na vyhradeny adresar alebo subor, zakazanie potencionalne nebezpecnych funkcii a pod), ak to chces mat ako-tak bezpecne, cim budu ale moznosti tvojej aplikacie dost okresane. Otazkou je, ci radsej nevyuzit niektoru z existujucich sluzieb, ktora uz ma vsetky mozne uskalia takehoto systemu osetrene...


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

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

Registrovaný: 07.07.08
Prihlásený: 26.06.20
Príspevky: 38
Témy: 10 | 10
Bydlisko: City 17

OK ďakujem že ste ma naviedli správnym smerom. Pozriem nejaké existujúce riešenia. Má to logiku ošetriť to už v php.ini tam určite bude niečo.

offtopic: Shaggy tvoj pristup sa mi nepaci, ja tu hladam riesenie. Viem co vsetko sa môže stať a viem aj o čom neviem čo sa môže stať. Nie každý môže byť odborníkom na všetko. Doteraz som sa venoval iným veciam, nie konkrétne tejto. (do PHP som sa tiež nerozumel a teraz viem vytvoriť fungujúci bezpečný eshop, alebo v C++ som si nevedel ani prdnúť a teraz viem urobiť 3D hru, a viem ako pracuje OpenGL do posledného detailu.)
Preto sa to pýtam aby som sa niečo dozvedel nové.


_________________
"We are willing to suffer, to die for the things we care about. For love, for the right choices."
Offline

Čestný člen
Čestný člen
ošetrenie vloženeho php kodu od kohokoľvek pred zneužitím

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5404
Témy: 30 | 30
Bydlisko: Bratislava

Wicky - prepáč, máš pravdu. Tvoja aplikácia bude najúžašnejšia a nikto si ťa nedovolí hacknúť (veď predsa dokážeš naprogramovať bezpečný eshop)!
Prestaň sa správať, ako malé decko, lebo ma iba utvrdzuješ v mojej teórii, že to zaváňa malérom.
Ja som ti to písal normálne, bez akejkoľvek snahy uraziť ťa. Ja sám sa považujem za veľmi dobrého php programátora, ale do takéhoto projektu by som sa nepúšťal (práve kvôli tej bezpečnosti). A ak, tak by som venoval štúdiu možných bezpečnostných rizík pár mesiacov.


_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

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

Registrovaný: 07.07.08
Prihlásený: 26.06.20
Príspevky: 38
Témy: 10 | 10
Bydlisko: City 17

Riešenie:
Syntaxa PHP nebola podmienkou. Kto pozná GameMaker tak v podstate na takom princípe. Chcel som docieliť aby si užívateľ vedel ľahko vytvoriť nejaký "výpočet" k výpočtom mu poskytnem nejaké funkcie na prácu s Matematikou, s Datumom a časom, nepotrebuje všetky funkcie. Akurát som to chcel spojiť do PHP aby sa zároveň aj naučil PHP ale v podstate ide o to aby sa naučil algoritmicky myslieť. Takže to bude v podstate whitelist. (to že to niekto hackne ma netrápi.) Ale ak to bude mať predurčené Ikonky, ktoré len budú spúšťať predvolený kód tak by sa nič nemalo stať. (jedine že zacyklí server ale to server prežije a ja sa naučím aspoň ďalšie možnosti zabugovania servru.)

Shaggy: ako v pohode mna to až tak nezobralo, len vždy keď čítam nejaké príspevky na každom jednom fóre, tak všade ľudia namiesto rady napíšu že "kašli na to" a pritom môže to pomôcť úplne inym ľudom, nie len tomu čo sa pýtal, ktorý sa v tom aj vyznajú napr.
A mňa už serie, keď niečo na stránke hľadám, v príspevkoch sa predierať 40 správami o tom že je to zbytočnosť, že na to nemá, atď.


_________________
"We are willing to suffer, to die for the things we care about. For love, for the right choices."
 [ Príspevkov: 11 ] 


ošetrenie vloženeho php kodu od kohokoľvek pred zneužitím



Podobné témy

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

Vysvetlenie PHP kodu

v PHP, ASP

2

493

18.10.2017 16:36

IPP

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

doplnenie kodu php

v PHP, ASP

1

336

19.01.2015 20:43

chrono

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

zobrazenie php kodu

v PHP, ASP

1

492

27.12.2009 20:18

Ďuri

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

uprava kodu tabulky php

v PHP, ASP

0

594

25.11.2011 17:00

elo

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

Standardy pisania PHP kodu

v PHP, ASP

5

511

04.09.2010 14:36

Antuanet

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

Vytiahnutie PHP kódu z HTML

v PHP, ASP

3

438

07.08.2016 12:09

chrono

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

doplnenie kodu do php a css

v PHP, ASP

4

466

25.08.2014 22:44

capricorn7

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

Aky soft na vyhladavanie textu, zdrojoveho php kodu

v Ostatné programy

0

1006

13.06.2006 16:52

Pufo Callo

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

Útok na stránku zneužitím chmod 777

v Ostatné

23

1669

30.12.2008 9:39

POM4R4NC

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

include_once, posuvanie vloženeho

v HTML, XHTML, XML, CSS

15

956

01.03.2009 17:41

Tominator

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

Porovnanie vlozeneho zaznamu so vsetkymi

v PHP, ASP

3

399

30.05.2012 10:45

emer

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

Osetrenie formulara

v PHP, ASP

2

551

25.01.2010 16:36

Slappy

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

ošetrenie vstupu

v Delphi, Visual Basic

22

680

12.12.2015 21:11

camarovk19

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

Bug/osetrenie

v Správy pre vedenie fóra

5

1180

28.10.2009 19:04

Jaro

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

Chemické ošetrenie spojov

v Biosy a ladenie výkonu

4

3796

27.01.2013 12:56

shiro

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

Ošetrenie/zabezpečenie Registracie?

v PHP, ASP

4

519

04.02.2010 17:00

d0.0b



© 2005 - 2024 PCforum, edited by JanoF