Zpět na seznam článků     Zpět na článek

Komentáře ke článku

 
 
 BBCode
.cCuMiNn. | E-mail | Website | PGP12.1.2015 22:25
independent: Za tvůj obsáhlý komentář opravdu děkuji. Konečně něco konstruktivního, z čeho si člověk může odnést něco pro příště.

----------
Teprve když vstáváte s hackingem a uléháte s myšlenkou na něj, máte šanci být hackerem.
independent_ | 2a00:1028:9940:ed82:5849:12ad:14e8:*2.1.2015 13:46
Ryze jednorazovy maly projekt, coz tohle je, cisty kod mit rozhodne nemusi a neni to duvod se za neco stydet. Resi to problem? Resi. Vyvinout neco podobneho je otazka maximalne nekolika desitek minut a pri pozadavcich na novou funkcionalitu se proste vyplati to napsat cele znova a lepe. I tak to asi bude efektivnejsi nez to od pocatku stavet jako robustni rozsiritelnou aplikaci.

Na druhou stranu je potreba poznamenat, ze zpraseny kod napsany ve spechu programatorem, ktery je zvykly snazit se psat kod ciste, porad bude mnohem cistejsi nez tohle. Proste vim, ze kdybych psal to same, a taky mi nevadilo to zprasit, tak ten kod porad bude mnohem prehlednejsi a lepe strukturovany (a to nejsem webovy programator a PHP ovladam jen lehce).

Slo by spekulovat jak je na tom .cCuMiNn. jako programator. Zadne jine jeho kody jsem ale nevidel a navic se jako programator ani neprezentuje, cimz dalsi komentar na toto tema pozbyva relevance.

Fascinuje me ale spise neco uplne jineho, ceho si zde zrejme nikdo jiny nevsiml -- totiz uplne nestastne vyreseni toho problemu z ryze praktickeho hlediska.

Pochopil jsem to tak, ze studenti na skolenich potrebuji nejakou snadnou moznost jak nahravat a spoustet sve zdrojove kody. Predpokladam, ze se .cCuMiNn. chtel vyhnout spolehani na "nestandardni" aplikace (napr. FTP klient), ktere by bylo potreba pracne stahovat, instalovat a nastavovat. Ostatne -- to uz by bylo lepsi nainstalovat si lokalni webserver.

Idea tedy byla umoznit spoustet nejaky kod na webovem serveru bezicimu lokalne u skolitele. Pro jednoduchost se dala stranou otazka bezpecnosti, protoze lze predpokladat, ze lide sedici bok po boku v jedne mistnosti na skoleni nejsou natolik vysinuti, aby si vzajemne mazali/modifikovali soubory a blokovali tak prubeh celeho (placeneho) skoleni.

To je naprosto v poradku. Pokud to tak ale skutecne je, tak proc:
1. se tam nachazi registracni formular, ktery vyzaduje dokonce i zadani hesla? Nedivil bych se, kdyby velka cast lidi nastavila jako heslo "heslo", "olseh", "12345" apod. Kdyz uz, bohate by stacilo zvoleni nejakeho loginu! Zkratka a dobre: vyzadovat heslo je postavene na hlavu.

2. se heslo hashuje 2x algoritmem MD5, kdyz otazka bezpecnosti je, jak uz bylo receno, uplne irelevantni a veskera data pristupna skrz uzivatelsky ucet jsou soubory, tj. staci vytvorit si PHP skript, ktery bude pristupovat do adresare jineho uzivatelu?

3. se to jmenuje webhosting, kdyz takove oznaceni je spise zavadejici (ale to je, priznejme si, nepodstatny problem)?

Vykaslat se na bezpecnost, ale pak urcite bezpecnostni prvky implementovat, je divne. Vytvari to dojem, ze to nejak zabezpecene je, a mohlo by pak vzniknout mrzeni z toho, ze se nekdo dostal k datum jineho uzivatele, ktery s tim nepocital. Takze je nutne na to pokazde upozornovat. A kdyz teda vsichni vi, ze zabezpeceni neni v podstate zadne a kdokoliv s malinkatou znalosti PHP (coz by lide na skoleni asi byt meli) muze manipulovat s daty jineho uzivatele, o to vice frustrujici musi byt vyzadovani loginu a hesla.

Proc neudelat proste stranku, ktera zobrazi vypis podadresaru (jako odkazy) v nejakem root adresari (/var/www/skoleni/, dejme tomu) a tlacitko "Novy adresar"? Kazdy uzivatel by si vytvoril svuj adresar (napr. dle prijmeni) a v nem by si pak vytvarel / editoval svoje soubory. Na prvni pohled by bylo jasne, ze vsechna data jsou verejna, a kdokoliv muze pristupovat do cizich adresaru.

O neco slozitejsi pristup by spocival v tom, ze se webovy server nakonfiguruje skutecne podobne jako na realnem hostingu a vsechny PHP skripty umistene opet napr. v nejakem podadresari /var/www/skoleni/ budou smet manipulovat vyhradne s daty v tomto adresari. Nasledne by stacilo napsat si skript, ktery smaze vsechny tyto adresare (na konci skoleni) a skript, ktery vygeneruje urcity pocet adresaru (na zacatku skoleni, dle poctu ucastniku). Soucasne s vytvorenim adresare by se do nej nakopiroval webshell (klidne neco podobneho jako tento Easy PHP Hosting) umoznujici s daty uvnitr tohoto jedineho adresare manipulovat. Tento shell muze vyzadovat heslo treba pres HTTP autentizaci, nebo cokoliv jineho. Heslo muze byt hardcoded v shellu a automaticky by se nastavovalo skriptem pro generovani adresaru. Tento skript by vsechny vygenerovane adresare a hesla ulozil do nejakeho textaku, ktery pak staci vytisknout, nastrihat a nasledne je rozdat studentum, takze kazdy bude mit svuj adresar + heslo.

Druhy pristup je zbytecne slozity a pokud bych ho pouzil, tak spise proto, ze se jedna o "skoleni hackingu", nez z praktickych duvodu. Prvni pristup mi prijde mnohem vic sympaticky.

Takze abych to zrekapituloval: Stvoreni toho projektu predchazel nejaky napad, a ten napad ma naprosto otresnou exekuci. Neni to o technicke urovni toho reseni, ale jeho (ne)prakticnosti a (ne)vhodnosti z hlediska uzivatele.

No a kdyby vas zajimalo, proc jsem to tak rozepsal... Protoze z jedne strany tu lidi picuji do kodu a do designu, coz jsou defacto nepodstatne veci, a ze druhe strany lidi picuji do lidi co picuji. Kdybych napsal "nepicujte do kodu vy pice, jsou tam mnohem vetsi picoviny", tak to je k nicemu. Proste v necem je potreba se autora (.cCuMiNna.) trochu zastat, ale v tu samou chvili je potreba vytknout neco jineho -- neni to cernobile.
Josef Karliak | 195.113.123.86/192.168.24.*29.12.2014 9:17
Jak to tu ctu, tak to me asi poserte holy zada. Nekdo si napise ucebni pomucku a je od ty dobroty a da to k dispozici i jinym, a ti jini, nastesti ne vsichni, ho tu za to ukamenujou. Uvedomte si, ze pokud bude min a min lidi, kteri se podeli o sva dila bez honorare, tim vic vy budete muset calovat SW kolosum, ikdyz by jste ten SW vyuzili jen z 0,00001% ... A coz takhle napsat svuj kus smysluplnyho kodu ?
Jasne a ted do me za muj nazor.
Chose.
StálýČtenář | 80.90.136.*26.12.2014 23:54
Účel světí prostředky bych dodal a také že

Kritizovat - to je usvědčit autora, že to nedělá tak, jak bych to dělal já, kdybych to dovedl.

Karel Čapek
Kate Libby | 188.138.9.*22.12.2014 20:24
>jste jak malé děti
>Opravdu dětská párty tady
>Takových sráčů je na světě spousta

Diky temto protiargumentum pozname, ze jsme spravne na soomu. Tady pokud neni clanek vychvalenej az do nebe, tak je to spatne.
Lolitka | 204.85.191.*22.12.2014 18:59
ten script mi tezce pripomina zdrojak soomu :-]
??? | 213.160.175.*22.12.2014 9:07
Zdravím Vás

Nedá mi nereagovať. Asi ste nepochopili pointu tohto článku a toho čo ním autor sledoval. Autor nikde neuviedol, že Vám tu poskytol kód, ktorý máte využívať na nejaký komerčný webhosting, alebo sem zverejnil nejaký prevratný super bezpečný kód. Napísal, že potreboval vyriešiť určitý problém a tak si napísal uvedený PHP skript. Poukázal na slabiny a nedostatky. Preto nechápem prečo si tu niektorý masírujú ega a vydávajú sa za expertov, nech napíšu nejaký vlastný kód a nie len CTRL+C :)

Pekný deň a pekné Vianoce
Lukáš Kříž | 84.42.186.*22.12.2014 0:41
Takhle se dříve programovalo. Ale je to humus. Nepřehledné procedurální programování... Alespoň hezká ukázka jak se to nemá dělat :-)
_B | 89.176.177.*21.12.2014 13:19
@uNreaL: Přesně. cCuMiNn tady napsal desítky vynikajících článků, napsal knihu a pak se za rychloslepený kód, který se rozhodl zveřejnit asi hlavně proto, že sem nikdo nic jiného dlouho nepřidal, dočká takových urážek. Opravdu dětská párty tady.

@Lolitka: Už jsi něco poslal, hrdino? Určitě by ti to Vrána pochválil, tak šup... ;-)
Lolitka | 217.115.10.*20.12.2014 18:13
uNreaL <<< To ze je neco spatny je flame? Tahni ke vsem certum.

Stránky: 1 2 3 4