Vlákno názorů k článku Čistění napadeného WordPressu: jak jsem hledal a vyhodil útočníka z webu od Šimon Formánek - Jednoduchý způsob, jak se z toho průseru dostat: 1....

  • Článek je starý, nové názory již nelze přidávat.
  • 18. 1. 2024 23:43

    Šimon Formánek

    Jednoduchý způsob, jak se z toho průseru dostat:
    1. vydumpovat databázi, zkonvertovat články do mardownu a zpět do HTML, 2. stáhnout čistý WP nahrát do něj strukturu kategorií a vyčištěné texty;
    3. uložit do gitu a nebo si prostě udělat lokálí zálohu.
    4. provozovat web readonly a updatovat z gitu.

    Problém WP a dalších user friendly webových frameworků je v tom, že kvůli pohodlí administrátorů umožňuje spouštět libovolný kód, který mu podstrčíme tak, aby vypadal jako plugin. Hm, ten problém mám i ve své secure osCommerci, jdu ten autoloader hned smazat a nahradit explicitním konfiguračním klíčem :D

    Problém typické instalace WP je zase v tom, že neodděluje databázového uživatele pro běh frontendu a administrace a už vůbec neřeší, že frontend uživatel nepotřebuje do většiny tabulek práva pro zápis a už vůbec ne GRANT OPTIONS.

  • 19. 1. 2024 11:50

    Vláďa Smitka

    Tady by asi bylo fér poznamenat, že neoddělování databázových uživatelů není problém WP světa, ale chová se tak naprostá většina monolitických aplikací - nezávisle na frameworku či jazyku. Velká část hostingů ani neumožňuje si vyrábět další databázové uživatele s různými právy.

    Jinak postup s konverzí do markdownu není u aktuálních WP moc dobré řešení, protože ve zdrojových datech se nachází dost komentářových anotací, které ovlivňují práci s blokovým editorem a tento postup je odstraní. Zároveň jsou články často propojeny s dalšími meta informacemi a taxonomiemi a zachovat tyto vazby při takové konverzi není jednoduché.

    S tím autoloadem to také není zase tak jednoduché - plugin musí uživatel aktivovat. Ano, existuje několik jasně daných souborů (drop-inů), které se WP snaží načíst. Existují speciální MU-pluginy, které je ale zase vcelku jednoduché pohlídat. A oblíbený trik je override WP template hierarchy, kdy útočník skryje kód třeba do šablony pro chybu 4O4 a tím odloží jeho spuštění. Nicméně, pokud už útočník dokáže podstrčit na server nějaký kód, tak je problém jinde, než v autoloadu.

  • 20. 1. 2024 3:13

    Šimon Formánek

    Ad. GRANT: Stačí nám obvykle dvojí komfigirace, pro usery GRANT SELECT a pro adminy GRANT SELECT, UPDATE, DELETE a pro sebe na jednu za měsíc updatování GRANT ALL ... WITH GRANT OPTIONS.

    Já jsem si upravil osCommerci tak, že generuju pro každého klienta extra db uživatele, který vidí a updatuje jenom svoje vlastní řádky protože je to pohled vázaý na username (alias Row Level Scurity).

    AD Markdown: Hm, neznám WP. Tohle já bych použil když přijde zákazník, že má nějaký WP web, který mu přestal fungovat. Ale reálně za mnou přišel jen jeden člověk, kterému admin toh WP webu zmizel, tak jsem ho doloval z archive.org.

    Autoloader je zlo :D

  • 23. 1. 2024 18:01

    bez prezdivky ...

    Vetsina patlalu, bez ohledu na velikost, netusi ze databaze ma nejake uzivatele, na ktera lze pridelovat nejaka opravneni. Takze typicka(zdaleka ne jen webova) aplikace pristupuje do DB pod jedinym userem a muze vse. Pak uz staci jen injektnout nejaky ten kousek SQLka.