Stavo lavorando con questa web-app, quando qualcuno lo ha testato con la penna e mi ha inviato un rapporto enorme in cui si afferma che la mia app è vulnerabile a un attacco trasversale della directory.
Ecco un esempio:
Testing Path: http://127.0.0.1:80/??/etc/issue <- VULNERABLE!
Ho inserito http://127.0.0.1:80/??/etc/issue
nel mio browser, ma mi ha dato la home page, non ha restituito affatto il file /etc/issue
.
Poi ho provato con curl
e anche questo ha restituito la homepage.
Qualcuno potrebbe spiegarmi come la mia app è vulnerabile, se il file /etc/issue
non viene restituito.
L'app è codificata in Python 2.7, con flask come framework e Nginx come proxy inverso.
Altri due campioni dal rapporto, insieme alla risposta corrispondente: -
-
Testing Path: http://127.0.0.1:80/??/etc/passwd <- VULNERABLE!
Richiesta GET -
app: 0|req: 1587/1587] 127.0.0.1 () {34 vars in 488 bytes} [Tue Sep 6 15:47:13 2016] GET /??/etc/passwd => generated 982 bytes in 4 msecs (HTTP/1.1 200) 2 headers in 80 bytes1
-
Testing Path: http://127.0.0.1:80/??/??/etc/passwd <- VULNERABLE!
Richiesta GET -
app: 0|req: 1591/1591] 127.0.0.1 () {34 vars in 493 bytes} [Tue Sep 6 15:47:14 2016] GET /??/??/etc/passwd => generated 982 bytes in 5 msecs (HTTP/1.1 200) 2 headers in 80 bytes