Summary
If directory listings are enabled for a directory that an untrusted user has upload privileges for, a malicious file name like <img src=x onerror=alert(1)>.txt
will allow JavaScript code execution in the context of the web server’s domain.
Details
SWS generally does not perform escaping of HTML entities on any values inserted in the directory listing. At the very least file_name
and current_path
could contain malicious data however. file_uri
could also be malicious but the relevant scenarios seem to be all caught by hyper.
PoC
- Run SWS with directory listings enabled.
- Run
touch '/path/to/root/<img src=x onerror=alert(1)>.txt'
from the command line where /path/to/root
is the path of the SWS root directory.
- Open
http://localhost/
(SWS directory listing) in your browser.
An alert message will appear on the page – malicious file name executed JavaScript code.
Impact
For any web server that allow users to upload files or create directories under a name of their choosing this becomes a stored XSS vulnerability.
Summary
If directory listings are enabled for a directory that an untrusted user has upload privileges for, a malicious file name like
<img src=x onerror=alert(1)>.txt
will allow JavaScript code execution in the context of the web server’s domain.Details
SWS generally does not perform escaping of HTML entities on any values inserted in the directory listing. At the very least
file_name
andcurrent_path
could contain malicious data however.file_uri
could also be malicious but the relevant scenarios seem to be all caught by hyper.PoC
touch '/path/to/root/<img src=x onerror=alert(1)>.txt'
from the command line where/path/to/root
is the path of the SWS root directory.http://localhost/
(SWS directory listing) in your browser.An alert message will appear on the page – malicious file name executed JavaScript code.
Impact
For any web server that allow users to upload files or create directories under a name of their choosing this becomes a stored XSS vulnerability.