mirror of https://github.com/yandex/gixy
				
				
				
			
		
			
				
	
	
	
		
			999 B
		
	
	
	
	
			
		
		
	
	
			999 B
		
	
	
	
	
[alias_traversal] Path traversal via misconfigured alias
The alias directive is used to replace path of the specified location. For example, with the following configuration:
location /i/ {
    alias /data/w3/images/;
}
on request of /i/top.gif, the file /data/w3/images/top.gif will be sent.
But, if the location doesn't ends with directory separator (i.e. /):
location /i {
    alias /data/w3/images/;
}
on request of /i../app/config.py, the file /data/w3/app/config.py will be sent.
In other words, the incorrect configuration of alias could allow an attacker to read file stored outside the target folder.
What can I do?
It's pretty simple:
- you must find all the 
aliasdirectives; - make sure that the parent prefixed location ends with directory separator.
 - or if you want to map a single file make sure the location starts with a 
=, e.g=/i.gifinstead of/i.gif.