
Nginxpwner는 일반적인 Nginx 오설정 및 취약점을 찾는 간단한 도구입니다.

Nginxpwner는 일반적인 Nginx 잘못된 구성 및 취약점을 찾기 위한 간단한 도구입니다.
cd /opt
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
chmod +x install.sh
./install.sh
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
sudo docker build -t nginxpwner:latest .
이미지 실행
sudo docker run -it nginxpwner:latest /bin/bash
Burp의 Target 탭에서 호스트를 선택하고, 오른쪽 클릭한 다음, copy all URLs in this host를 선택하여 파일에 복사합니다.
cat urllist | unfurl paths | cut -d"/" -f2-3 | sort -u > /tmp/pathlist
또는 다른 방법으로 애플리케이션에서 이미 발견한 경로 목록을 가져옵니다. 참고: 경로는 /로 시작하면 안 됩니다.
마지막으로:
python3 nginxpwner.py https://example.com /tmp/pathlist
실제로 확인하는 항목은 다음과 같습니다:
-Nginx 버전을 확인하고 searchsploit을 사용하여 가능한 익스플로잇을 찾고, 버전이 오래되었는지 알려줍니다.
-gobuster를 통해 Nginx에 특화된 워드리스트를 실행합니다.
-$uri를 리디렉션에 사용하는 일반적인 잘못된 구성을 통해 CRLF에 취약한지 확인합니다.
-제공된 모든 경로에서 CRLF를 확인합니다.
-PURGE HTTP 메서드가 외부에서 사용 가능한지 확인합니다.
-변수 누출 잘못된 구성 확인
-merge_slashes가 비활성화로 설정된 경우 경로 순회 취약점 확인
-hop-by-hop 헤더(예: X-Forwarded-Host) 사용 시 응답 길이 차이 테스트
-Kyubi를 사용하여 잘못 구성된 alias로 인한 경로 순회 취약점 테스트
-X-Accel-Redirect를 사용하여 401/403 우회 테스트
-Raw 백엔드 읽기 응답 잘못된 구성 확인을 위한 페이로드 표시
-사이트가 PHP를 사용하는지 확인하고 PHP 사이트에 대한 Nginx 특화 테스트 제안
-Nginx의 range filter 모듈에서 일반적인 정수 오버플로우 취약점 테스트 (CVE-2017-7529)
이 도구는 응답의 Server 헤더를 사용하여 일부 테스트를 수행합니다. Centminmod, OpenResty, Pantheon 또는 Tengine과 같이 Nginx 기반이지만 해당 헤더를 반환하지 않는 다른 CMS 등이 있습니다. 이 경우 다른 스크립트와 동일한 매개변수로 nginx-pwner-no-server-header.py를 사용하십시오.
또한 익스플로잇 검색이 올바르게 실행되도록 하려면 Kali에서 수시로 searchsploit -u를 실행해야 합니다.
이 도구는 웹 캐시 중독/기만 취약점이나 요청 스머글링을 확인하지 않습니다. 해당 취약점은 전용 도구로 테스트해야 합니다. NginxPwner는 개발자가 인지하지 못한 채 nginx.conf에 도입한 잘못된 구성에 주로 초점을 맞춥니다.
Kyubi의 훌륭한 도구 https://github.com/shibli2700/Kyubi 를 만든 shibli2700과 gobuster의 모든 기여자에게 감사드립니다. 또한 NGINX에서 이러한 잘못된 구성을 많이 발견한 Detectify에도 감사드립니다.