Portál AbcLinuxu, 13. listopadu 2025 23:48
echo 'rm -rfv / ' | POST http://host/skript.phpa vysledek máte v users.txt
Takže radši nikam nic nepřesměrovávejte.
sudo rm -rfv / aby to mělo náležitý efekt
A propo stale se mi to nemuze podarit, nevi tedy jak na to? jak obsah promene ziskane z FORMulare ulozit do souboru? DIKY
echo 'jmeno=sudo%20rm%20-rfv%20/%20' | POST http://host/skript.php
Ale teď už to ztrácí pointu.
Prostě jen tak shellu předávat neověřené neescapované proměnné od uživatele je blbost, i když ten formulář je třeba přístupný jenom někomu.
A do toho souboru nic nepíše, protože tam není příkaz, který by něco psal (echo).
$jmeno >soubor.
Co podle tebe takový příkaz dělá? Spustí něco, co je v $jmeno (pokud taková věc existuje), a výsledek se objeví v souboru (pokud $jmeno neobshovalo nějaká další přesměrování, protože může obsahovat cokoli).
Promena jmeno obsahuje vzdy neco- tedy v mem pripade a nejake dalsi presmerovani nepripada v uvahu- ale asi se neco deje , pac zapise jen "prazdno" ale zapise, protoze se zmeni cas u souboru, neni mi to jasny
$jmeno obsahuje pepa a nic víc (předpokládám).
2) Shell dostane pepa > users.txt
3) Shell se forkne, otevře soubor users.txt (nebo naopak, FIXME), což updatuje timestamp a nasměruje stdout do otevřeného souboru.
4) Shell se pokusí spustit pepa, což selže, protože příkaz pepa pravděpodobně neexistuje. tudíž skončí, skončí i rodič a v logu se pravděpodobně objeví pepa: command not found.
Takže jestli to nutně musí být přes shell, tak echo $jmeno > users.txt (příkaz echo vypíše svoje argumenty).
a jeste jedna drobnost, prosim nevite jakym prikazem se "zaradkuje" proste aby zapsal na novy radek? DIky
Diky moc za radu VSEM!
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.