Path traversal при использовании alias¶
Gixy Check ID: alias_traversal
Директива alias используется для замены пути указанного локейшена. К примеру, для конфигурации:
location /i/ {
alias /data/w3/images/;
}
/i/top.gif будет отдан файл /data/w3/images/top.gif.
Однако, если локейшен не оканчивается разделителем директорий (/):
location /i {
alias /data/w3/images/;
}
/i../app/config.py будет отдан файл /data/w3/app/config.py.
Иными словами, не корректная конфигурация alias может позволить злоумышленнику прочесть файл за пределами целевой директории.
Что делать?¶
Все довольно просто:
- необходимо найти все директивы alias;
- убедится что вышестоящий префиксный локейшен оканчивается на /.