Nginx off-by-slash vulnerability

 ( toMpEr | 2018. október 19., péntek - 19:44 )

location /static {
    alias /home/app/static/
}

esetén http://127.0.0.1/static../config.py lekéréssel olvasható a /home/app/config.py fájl.

(Teszteltem a jelenleg aktuális 1.15.5 verzióval)

location /static/ {-ra javítva elkerülhető a "hiba"

Elvileg by-design ilyen (bár nem látok erre valós use-case-t), emiatt nem lesz javítva, szóval mindenki csekkolja a configjait :)

Forrás: https://twitter.com/x0rz/status/1052899891624710145

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

A teljes beszéd: https://youtu.be/R_4edL7YDcg?t=615
Furcsa, hogy 2018-ban még mindig path traversal bugoknál tartunk.

Azt legalább átlag ember is megérti ;-)

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Miért nem követi a bármelyik szabványt és miért talál ki saját mikronyelvtant egy webszerver?

sub

+1

lehet ezzel a bug-gal akar az /etc alatti file-okat is olvasni?

--
"dolgozni mar reg nem akarok" - HZuid_7086 'iddqd' zoli berserk mode-ba kapcsol

Elvileg csak az 1-el kintebbi fájlokat, illetve az abban lévő könyvtárkat.

Szóval ha nincs olyan aliasod, ami az etc-n belüli könyvtárra mutat (pl alias /etc/webapp/), akkor nem.

Érdekes, hogy még a hivatalos doksiban is szerepel ez a hiba:

https://www.nginx.com/resources/wiki/start/topics/recipes/mailman/?highlight=alias
https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/?highlight=alias

+ Nginx alias-ra rákeresve első találat:

server {
  server_name example.com;
  root /path/to/root;
  location / {
    # bla bla
  }
  location /demo {
    alias /path/to/root/production/folder/here;
  }
}

https://stackoverflow.com/questions/21399789/nginx-how-to-create-an-alias-url-route

Második

...
    location /mail2admin {
      alias /vimbadmin/public;
    }
...