Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.
Byla vydána nová verze 3.47 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.13 souvisejícího programovacího jazyka Dart (Wikipedie).
Byla vydána nová verze 26.1 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Bian-May. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Na akci Made by Google 2026 (YouTube) byla oficiálně představena jedenáctá generace telefonů Pixel s novým čipem Google Tensor G6 a hodinky Pixel Watch 5.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se spolu s partnery z dalších zemí připojil ke společnému upozornění (Joint Cybersecurity Advisory) týkajícímu se probíhající kybernetické kampaně skupiny LAUNDRY BEAR zaměřené na uživatele e-mailové platformy Zimbra Collaboration Suite (ZCS) nejméně od července 2025. NÚKIB doporučuje organizacím využívajícím Zimbra Collaboration Suite neprodleně ověřit, zda
… více »Intel vydal 42 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20260811 mikrokódů pro své procesory.
Sny o designu GNOME Shellu, článek s náhledy a videi, představuje dlouhodobou vizi týmu GNOME pro vylepšení uživatelského rozhraní GNOME Shellu. Zatímco nedávné verze přinášely spíše drobné úpravy, designéři nyní plánují zásadnější změny.
Byla vydána nová verze 10.5 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Nově vyžaduje podporu ECC (Elliptic Curve Cryptography) v libcrypto, včetně křivky NISTP521.
Byla vydána nová verze 10.6 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. S novými obrazy pro Orange Pi 4 Pro, Orange Pi Zero 3W a Odroid M1/M1S/M2. Přehled novinek v poznámkách k vydání.
Námořní drony používané elitními jednotkami britského královského námořnictva tajně posílaly údaje do Číny. Stroje vybavené čínskými komponenty měly být využívány pro vojenské operace na Blízkém východě. Kamery na dálkově řízených průzkumných člunech K3 Scout byly vybavené součástkami, které bez vědomí britského námořnictva odesílaly informace do spojeného zařízení v Číně. Britské námořní síly využívaly flotilu námořních dronů
… více »V php se moc nevyznám, ale kdyby uživatel poslal soubor s názvem ".." tak dostane zápisové právo do nadřazeného adresáře?
nechci to zkoušet, ale nešlo by $_GET['nazev_souboru'] dát třeba "osklivyskript.php?neco=jpg"?
ne, samozřejmě že nešlo ;)
Ja tam vidím len to, že môže prepísať iné súbory, ktoré tam už sú, ale to asi nebude tá chyba, lebo to by bolo príliš jednoduché. 
Zkusím vylučovací metodu:
1) Pokud to zde je napsané, asi na tom něco bude, tedy kód není čistý
2) V podmínce je, že jsou v daném adresáři i skripty (což je na pováženou, ale budiž), takže spuštění skriptu v tom adresáři je podmínka nebezpečnosti
3) V php nedělám, ale kód nepustí soubor s příponou .php a lomítkem. Nejedná se tedy o bezpečnosti typu přepsání souboru mimo tento adresář (takže riziko se bude odehrávat nejspíš v daném adresáři)
4) Kód neošetřuje .htaccess, je riziko spojené s tímto?
Ke čtvrtému bodu:
Wow, soubor .htaccess by to opravdu vzalo a pomocí něj by se např. daly definovat jako PHP skripty i soubory s jinou příponou, které by aplikace pustila. Takže ano, gratuluji, na jednu chybu jste přišel 
Nicméně tuto chybu jsem neměl na mysli, hledejte dál 
Soubor s hesly by měl být někde úplně mimo (třeba v /etc).
Neberu to jako webserver, ale jako webovou aplikaci – tu si můžeš klidně nainstalovat jako baliček systému a je celkem normální, aby měla svůj adresář v /etc, jako všechny ostatní aplikace.
Pokud je to na webhostingu nebo je potřeba tu aplikaci provozovat ve víc instancích, je spráné, abys měl strukturu třeba:
/var/www/virtual/nějakáDoména/htdocs/ ← tohle zprístupní apache přes HTTP /var/www/virtual/nějakáDoména/etc/ ← tady budou soubory s hesly /var/www/virtual/nějakáDoména/dalšíAdresář/ ← třeba zálohy nebo nějaké dočasné soubory
Každopádně bych dal soubor s hesly mimo adresář, který je zpřístupněný přes HTTP a nespolíhal bych se jen na ochranu pomocí .htaccess nebo dokonce ochranu pomocí aplikace.
Tak to asi mám... alebo som objavil ešte nejakú inú chybu. 
Ak $_GET['nazev_souboru'] obsahuje na konci znak \0 (nulový bajt), tak substr() vráti "php\0" a nie ".php", lebo dĺžku reťazca PHP nevedie podľa znaku \0. Naproti tomu fopen() predá parameter volaniu API OS, ktorý je v C-čku, znak \0 pre neho znamená koniec reťazca a všetko počnúc týmto znakom už neberie do úvahy.
fuj.php\0.txt neprojde? Nebo od kdy to php zahazuje?
Btw. afaik sa pomocou GET nedajú uploadovať súbory...
Ha, on je zásadní rozdíl mezi HTTP metodou GET a PHP proměnnou GET. Ta druhá „funguje“ i u ostatních metod, prostě jsou do ní zpracovány parametry z URL...
A není to vzhledem k problému úplně fuck?
POST i GET se dají míchat dohromady:
<?php echo ($_REQUEST["foo"] . "<br/>"); echo ($_REQUEST["bar"] . "<br/>"); ?> <form action="hack.php?foo=nazdar" method="post"> <input type="text" name="bar" value="bazar"/> <button>poslat</button> </form>
(neřešte validitu HTML, je to jen malý příklad)
Takže GETem můžeš poslat třeba název souboru a POSTem samotný soubor (ale je otázka, proč by to tak chtěl někdo dělat, když může POSTem poslat všechno).
Tohle funguje:
<?php $jmeno = "hack.php\0"; $fp = FOpen($jmeno, "rw"); $obsah = fread($fp, filesize($jmeno)); fclose($fp); echo(nl2br(htmlspecialchars($obsah))); ?>
Výpíše soubor „hack.php“. Ale ta \0 je přímo v PHP kódu, když se ji tam snažíš procpat přes GET, tak se asi někde ztratí.
?promenna=neco%00neco, tak tam ten nulový bajt opravdu je…
Tak proč to harovi nefunguje?
FOpen považuje a SubStr nepovažuje – taková blbost, ale kolik to dokáže nadělat škody, co?
IMHO je zásadní chyba, že se testují jen některé části jména. Správný přístup je pomocí regulárních výrazů přesně definovat, jak jméno souboru má vypadat...
Jiste, p*čoviny se dají dělat i s pomocí regexp... klidně se tam dá rovnou dát „^.*$“, že ano...
^[a-z0-9]+\.[a-z0-9]+$Ale test na příponu bych musel udělat stejně zvlášť.
Máte pravdu, to mě prvně nenapadlo. To je další vážná chyba. 
Neumim PHP ani programovat weby, ale neni to v tom, ze se testuji jen lowercase ".php"? Tzn. pokud nekdo vytvori soubor ".PHP", tak ten pak mozna pujde pustit, protoze z URL se bude brat case-insensitive?
Kua, chlape, ty nečteš zadání? Viz:
Neuvažujte jiné ošetřované přípony než „.php“ a jiný oddělovač adresářů než lomítko.
Možná bych si nejdřív ověřil, zda-li se opravdu jedná o uploadnutý soubor - viz is_uploaded_file() a pak ho pomocí move_uploaded_file() uložil na správné místo.
Ano, například z něj udělat xyz/adresar/zakerny_skript.php, že? Doporučoval bych přečíst a pochopit nejdříve zadání a pak blbě kecat 
$fp = FOpen('soubory/'.$_GET['nazev_souboru'], 'w');
jenom mne napadlo, jestli by se nedalo nahradit '.php' necim jako je '%20' u mezery ...
pokud bych to zkousel, asi tohle je nejjednodussi (a mozna i nejelegantnejsi) zpusob
:)
$_GET už je odescapovaný, takže odescapovat ho znovu by byla chyba (a dobrý způsob, jak do programu zavléct nějakou bezpečnostní díru).
POST /blog/EditDiscussion HTTP/1.1 Host: www.abclinuxu.cz User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.1.2) Gecko/20080528 Fedora/2.26.3-3.fc11 Epiphany/2.22 Firefox/3.5 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: cs Accept-Encoding: gzip,deflate Accept-Charset: UTF-8,* Keep-Alive: 300 Connection: keep-alive Referer: http://www.abclinuxu.cz/blog/EditDiscussion?action=add&threadId=0&dizId=142779&rid=276521 Cookie: __utma=184452854&ehllip; Content-Type: multipart/form-data; boundary=---------------------------4290172515652242791849073854 Content-Length: 26069 -----------------------------4290172515652242791849073854 Content-Disposition: form-data; name="title" Re: Kdy.. housing, tak NE v Casablance -----------------------------4290172515652242791849073854 Content-Disposition: form-data; name="text" vggdt -----------------------------4290172515652242791849073854 Content-Disposition: form-data; name="attachment"; filename="chata_cela_bok_small.png" Content-Type: image/png .PNG . ... IHDR...q...U.....~C......sRGB....... .IDATx.....k.}..y........}......E..(Q....&yS%.../2.T.f..]N.35.T<.=....b'.mI.,..(.....E.K.}.}o4.;...<...x......A. ...p.|....<..N[
Tiskni
Sdílej: