Tak ta výkonná část pro vytvoření složky a nastavení práv mohla být i na pár řádků, ale je tam spousta věcí okolo (standardní boilerplate do PS gallery, explicitní definice parametrů funkcí, vyhýbání se výchozím aliasům, ošetření různých stavů a verzí Windows, "hezké" hlášky místo kódu chyby atp.) + dig. podpis.
Ve výsledku myslím, že tomu kdo to potřebuje, je asi jedno jestli tam jsou 4 nebo 458 řádků, pokud to zabere.
Tak to mam radost ze jsme se shodli. ;)
Realne - kolik lidi bude kontrolovat podpis? Ze vubec balicek ma nejaky podpis? Jak vim ze https://www.powershellgallery.com/ je duveryhodny zdroj? Hernajs, kdyby odkaz alespon vedl na microsoft.com, ale takhle?
Takze i kdyz duverujes kodu microsoftu, rekni mi jak bezny BFU bude duverovat kodu stazenemu z powershellgallery? A pokrocilejsi uzivatel? Ja jako pokrocilejsi uzivatel jsem schopen zkontrolovat radek kodu s vytvorenim adresare a nastavenim prav, to bych poznal, ale nezkontroluju 200 radku kodu.
Porad mi nejak prijde ze jeden radek s vytvorenim adresare a nastavenim prav by byl lepsi... Ale tak jestli chces diskutovat, tak to muzes sve nazory rozvest. Tvoje ironie bohuzel prinosna nebyla, takze si ji priste odpust.
"Jak vim ze https://www.powershellgallery.com/ je duveryhodny zdroj"
Mno rozhodne neni, kdykoli chces z toho cokoli stahnout, tak ti to vynada, ze jde o NEduveryhodnej zdroj.
Dovolim si zazdielat dve linky:
1 - podrobnosti ako to funguje a nema fungovat:
https://cyberdom.blog/abusing-the-windows-update-stack-to-gain-system-access-cve-2025-21204/
2 - video k teme od kapely Horkyze Slize
https://www.youtube.com/watch?v=QICGp-HoXWM
Hah. Ked som videl, ze patch vytvara nejaky bezprizorny adresar, tak som si povedal, ze to urcite fixuje nejaku podobnu debilinu ako zakaz vytvarania symlinkov.
A ono to fixuje presne to iste.
Historicke okienko: Ked v Microsofte porodili DLLky a poradie v ktorom sa vyhladavaju, tak bud boli na drogach, alebo proste nemali svoj najlepsi den.
Takze su tam take lakocinky, ako napr. ze DLLky v current working directory maju prednost snad aj pred systemovymi DLL.
Po tom, co sa to 10 rokov systematicky rozbijalo, tak niekde okolo XP SP3 dosli s takym skvelym napadom, ze to zabezpecia. No a zabezpecili to tak po Microsoftacky - to poradie sice zmenili, ale stale ostalo lahko dementne.
A odvtedy to sposobuje problemy. Napriklad kvoli tomu niekde medzi Win 8 a Win 10 beznym userom zakazali symlinky. Lebo toto dementne poradie search path sposobilo, ze spravne urobenou pouzivatelskou symlikou slo divertnut DLLku.
Akurat teda neviem, ci dosledok toho, ze to nechcu opravit pri zdroji je to, ze sa snazia dodrzat spatnu kompatibilitu s rozbitym SW, alebo to, ze Microsofte vsetko proste radi opravuju ritou dopredu.
edit: S linkom #2 suhlasim. Aj by som tam mozno hodil iny track :)
9. 6. 2025, 16:15 editováno autorem komentáře
"snad aj pred systemovymi DLL"
Maj, jinak by nefungovala spousta uzitecnych ficur. Napriklad Fallout 4( a samo vse co je na stejnym eng) ... ti dmenti maji navazany loading na FPS. Mno a chytra hlavicka vymyslela dllko, ktery fungoje jako dx proxy, odchytne si ten loading screen a v ten okamzik ti zrusi (prenastavi) limit fps. Takze ti grafarna ve hre nemusi generovat tisicovky fps kvuli loadingu.
A funguje to prave proto, ze to dll si hra nacte driv, nez knihovnu ve widlich.
Ale jinak jo, at zije securita ....
Jenze takhle se chova kazda appka na widlich. Prosacuhe hromadu ruznych folderu kde hleda dll. Pochopim, ze mas appku, mas nekde konfigurak a v tom muzes rict "a tuhle mi nacti ... (a navic by tam mel byt jmenovity seznam knihoven, vcetne nejakyho hashe)"
Ale je totalni fail pokud se to deje bydefault. Specielne u systemovych knihoven.
Problem nie je v tom, ze tie rozne search pathy existuju. Problem je v tom, ake su a v akom poradi sa nacitavaju.
Jedna z tych poloziek je napriklad current working directory. A pokial sa pamatam, tak na tom zozname byvala defaultne *pred* adresarom so systemovymi kniznicami. Ked si uvedomili, ze je to debilina, tak ju tam nechali, ale hodili ju skoro na koniec toho zoznamu. Ale to muselo byt Safe DLL loading zapnute, co snad dlho nebyvalo.
To je potom aky drbnuty dizajn, ak akakolvek DLLka nachadzajuca sa v aktualnom pracovnom adresari ma prednost pred DLLkou zo systemu? Nezelany nedeterminizmus.
A nemá na takový typ oprav už dávno copyright někdo jiný?
https://en.wikipedia.org/wiki/Rube_Goldberg_machine
Prázdné adresáře maže spousta programů co mají v názvu 'tune' nebo 'boost'.
Cesta do pekel.
Já je vetšinou nemažu. Ale programátoři si z kořenové složky C:\ dělají skladiště bordelu.
Hlavně výrobci HW (intel, AMD, nVidia, Dell, HP, ..)
A najde se tam i jinak skvělí Total Commander.
A z těch velkých SW potom Autodesk.
A Python mi tam taky straší.
Takže dir C: vrátí výpis dlouhý že ani nevleze do okna. To už mačkám F8.
EDIT:
Zapomněl jsem na CHKDSK a jeho FOUND.000, FOUND.001,....
9. 6. 2025, 22:27 editováno autorem komentáře
Toto ide tiez casto na vrub tomu, ze Windows ma historicky uplne otrasny dizajn.
Teda, aby som to povedal tak, ako sa to v skutocnosti ma:
Je az s podivom, ako sa tak elegantny podvozok, ktorym WINNT (resp. VMS++) da zmrsit takymi nedomyslenymi napadmi a tak hovadskym pristupom k dizajnu a udrzbe systemu, ako to dokazali v Microsofte s Widlami.
No a teraz k veci. Az do relativne nedavna mala premenna PATH taky nie velmi stastny limit na dlzku, ktory bol snad 512 znakov, neskor bola predlzena na 2048 (co sa uz da) a teraz je to snad 8kB s tym, ze sa to da nejakym registrom predlzit na este viac.
2048 uz je taka zitelna dlzka, ale pri 512 sa bezne stavalo, ze sa koniec environmentu vysypal a veci, ktore cakali, ze maju binarky v PATH sa toho nedockali.
C:\Program Files\Vyrobca\ (preferovana cesta na instalaciu SW este z cias 95tiek) zozere dajakych 10+ znakov len tak, tak softy u ktorych ten problem videli a su na PATHe zavisle proste zacali instalovat do kratkych ciest, aby ten problem eliminovali.
Microsoftu trvalo len dajakych 15 rokov, kym ten problem rozumne poriesili.
A jeste stoji za zminku ten chytry napad nazvat "Program Files" s mezerou v nazvu. A to v dobach W95, kdy spousta programu nezvladala vic nez 8 znakove nazvy adresaru, takze PATH byla plna "Progra~1". Vzdycky premyslim jak moc se musel zhulit programator, jeho nadrizeny, manazer a CEO, aby tohle vymysleli a proslo to vsemi procesy az do finalniho produktu :)
Bezpečnost Windows lze ohrozit smazáním nějakého prázdného adresáře? Nó, to se holt pozná kvalita :-) A místo toho, aby vyřešili aby systém bez toho adresáře ohrožený nebyl, tak se rozhodli cestou nejmenšího odporu a prostě udělali skript, který ten adresář vytvoří a nastaví mu atributy, které ztíží (ale neznemožní) jeho smazání. Kvalita na kvadrát :-)
Ve skutecnosti je prave existence toho folderu jeste mnohem nebezpecnejsi.
https://www.ghacks.net/2025/04/23/windows-empty-inetpub-folder-creates-a-new-security-problem/
Jedinym comandem muze libovolnej user zcela znemoznit jakykoli aktualizace ...