- Directory traversal
- Android Backup
- blind sql injection
- Xamarin 분석
- JSP
- UnCrackable level 1
- File Upload
- mongoDB
- HackTheBox
- xss
- CVE-2010-1622
- Frida
- Android 6.0
- HackTheBox APKey
- Hackthebox cat
- JAVA ClassLoader 취약점
- PortSwigger
- XALZ 압축해제
- HacktheBox Mobile
- mstg
- getCachedIntrospectionResults
- NoSQL
- SeeTheSharpFlag
- nginx
- login form
- CVE-2014-0094
- MariaDB
- UnCrackable
- DOM
- CVE-2022-22965
- Today
- Total
끄적끄적
[vulnerability] Nginx alias traversal 본문
개요
Nginx 웹 애플리케이션에서 디렉터리 파일에 대한 별칭(alias) 지정 설정을 올바르지 않게 했을 때 발생하는 취약점
상세내용
"/etc/nginx/sites-enabled/default"
- 위 경로는 Nginx에 활성화된 사이트들의 설정 파일들이 위치
- 해당 취약점은 위 경로의 "location"의 디렉토리 구분 기호를 올바르게 설정하지 않았을 때 발생
올바르게 설정된 location 설정
location /i/{
alias [상위경로]/data/w3/images/;
}
"/i/"경로에 접근하게 될경우 Nginx에서는 "[상위경로]/data/w3/images/"의 경로로 처리
취약점이 발생하는 location 설정
location /i {
alias [상위경로]/data/w3/images/;
}
공격자가 Directory Traversal 공격 구문을 삽입할 경우 지정 경로 외 다른 디렉터리의 데이터에 접근 가능
"/i../app/config.py"로 요청을 전송할 경우 Nginx내에서 "/data/w3/app/config.py"로 접근
실습
실습에 앞서 디렉터리 구조는 아래와 같다
1. "/etc/nginx/sites-enabled/default"의 location를 아래와 같이 설정한 뒤 "/app/config.py"에 접근해보자
location이 올바르게 설정되어 있을 경우 "/var/www/html/data/w3/images/../app/config.py"로 요청하게 되어 접근이 불가능하다.
2. location이 올바르게 설정된 경우 아래와 같은 일반적인 Directory Traversal은 불가능하다
location에 설정된 경로에 접근할 경우 루트 디렉터리로 이동하게 된다
3. 그럼 이제 "/etc/nginx/sites-enabled/default"의 location를 올바르지 않게 설정한 뒤 "/app/config.py"에 접근해보자
위와 같이 상위 경로내 다른 디렉터리에 접근하여 파일을 다운로드할 수 있는 것을 확인할 수 있다
4. 그렇다면 alias의 설정된 경로의 상위 경로의 상위 경로를 탐색할 수 있을까?
지금까지는 "/data/w3/*" 디렉터리에서 탐색을 시도했다면 이번엔 "/data/*"경로로 탐색이 가능한지 확인해볼 것이다
이 경우, 이전 2번과 같이 루트 디렉터리로 이동하게 된다.
Reference
Path traversal via misconfigured NGINX alias: https://www.acunetix.com/vulnerabilities/web/path-traversal-via-misconfigured-nginx-alias/
'Security > Web' 카테고리의 다른 글
[vulnerability] File Upload (0) | 2022.04.25 |
---|---|
[Exploit] 예제 코드 (0) | 2022.03.03 |
[Secure Coding] Prepared Statement 훑어보기 (1) | 2022.01.17 |
[vulnerability] Python Pickle Module Exploit (0) | 2021.10.07 |
PentesterLab 1 (1) | 2021.09.24 |