Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/appsecco/dvna
Vulnerability AnalysisWeb SecurityLearning & EducationLabs & Practice
GitHubappsecco/dvna

dvna

취약한 NodeJS 애플리케이션

저장소 보기
7789262년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

취약한 NodeJS 애플리케이션 (DVNA)

dvna-logo

취약한 NodeJS 애플리케이션 (DVNA)은 OWASP Top 10 취약점을 시연하고 이러한 취약점을 수정하고 방지하는 방법을 안내하는 간단한 NodeJS 애플리케이션입니다. 수정 브랜치에는 취약점 수정 사항이 포함되어 있습니다. OWASP Top 10 2017 취약점에 대한 수정 사항은 fixes-2017 브랜치에 있습니다.

이 애플리케이션은 express, passport, sequelize 등 일반적으로 사용되는 라이브러리로 구동됩니다.

개발자 보안 가이드북

이 애플리케이션에는 취약점을 배우고, 방지하고, 수정하는 데 사용할 수 있는 개발자 친화적인 종합 가이드북이 함께 제공됩니다. 가이드는 docs에서 확인할 수 있으며 다음 내용을 다룹니다.

  1. DVNA 설정 지침
  2. 취약점 악용 지침
  3. 취약한 코드 조각 및 취약점 수정 지침
  4. 이러한 취약점을 방지하기 위한 권장 사항
  5. 더 자세히 알아보기 위한 참고 자료

이번 릴리스에 대한 블로그 게시물은 https://blog.appsecco.com/damn-vulnerable-nodejs-application-dvna-by-appsecco-7d782d36dc1e에서 확인할 수 있습니다.

다음 명령어를 사용하여 로컬 gitbook 서버를 설정하여 문서에 액세스할 수 있습니다. 그러면 문서는 http://localhost:4000에서 접근 가능합니다.

root@kitploit:~
cd docs/
docker run --rm -v `pwd`:/gitbook -p 4000:4000 --name gitbook amontaigu/gitbook gitbook serve

빠른 시작

Docker를 사용하여 단일 명령어로 DVNA를 사용해 보세요. 이 설정은 MySQL 대신 SQLite 데이터베이스를 사용합니다.

root@kitploit:~
docker run --name dvna -p 9090:9090 -d appsecco/dvna:sqlite

http://127.0.0.1:9090/에서 애플리케이션에 접속하세요.

시작하기

DVNA는 세 가지 방법으로 배포할 수 있습니다.

  1. 개발자의 경우, docker-compose를 사용하여 코드 업데이트 시 자동 리로드
  2. 보안 테스터의 경우, Docker Hub의 공식 이미지 사용
  3. 고급 사용자의 경우, 완전 수동 설정

설정 및 요구 사항에 대한 자세한 지침은 가이드 Gitbook에 나와 있습니다.

1. 개발 설정

이 저장소를 클론하세요.

root@kitploit:~
git clone https://github.com/appsecco/dvna; cd dvna

원하는 데이터베이스 구성으로 vars.env를 생성하세요.

root@kitploit:~
MYSQL_USER=dvna
MYSQL_DATABASE=dvna
MYSQL_PASSWORD=passw0rd
MYSQL_RANDOM_ROOT_PASSWORD=yes

docker-compose를 사용하여 애플리케이션과 데이터베이스를 시작하세요.

root@kitploit:~
docker-compose up

http://127.0.0.1:9090/에서 애플리케이션에 접속하세요.

코드 변경 시 애플리케이션이 자동으로 리로드되므로 자유롭게 패치하고 실험해 보세요.

공식 Docker 이미지 사용

다음 구성으로 vars.env 파일을 생성하세요.

root@kitploit:~
MYSQL_USER=dvna
MYSQL_DATABASE=dvna
MYSQL_PASSWORD=passw0rd
MYSQL_RANDOM_ROOT_PASSWORD=yes
MYSQL_HOST=mysql-db
MYSQL_PORT=3306

MySQL 컨테이너를 시작하세요.

root@kitploit:~
docker run --rm --name dvna-mysql --env-file vars.env -d mysql:5.7

공식 이미지를 사용하여 애플리케이션을 시작하세요.

root@kitploit:~
docker run --rm --name dvna-app --env-file vars.env --link dvna-mysql:mysql-db -p 9090:9090 appsecco/dvna

http://127.0.0.1:9090/에서 애플리케이션에 접속하고 테스트를 시작하세요!

수동 설정

저장소를 클론하세요.

root@kitploit:~
git clone https://github.com/appsecco/dvna; cd dvna

데이터베이스 정보로 환경 변수를 설정하세요.

root@kitploit:~
export MYSQL_USER=dvna
export MYSQL_DATABASE=dvna
export MYSQL_PASSWORD=passw0rd
export MYSQL_HOST=127.0.0.1
export MYSQL_PORT=3306

의존성 설치

root@kitploit:~
npm install

애플리케이션 시작

root@kitploit:~
npm start

http://localhost:9090에서 애플리케이션에 접속하세요.

TODO

  • 문서에서 수정 사항과 커밋 연결
  • OWASP Top 10 2017의 새로운 취약점 추가
  • 애플리케이션 기능 및 문서 개선

기여

애플리케이션에 버그가 있는 경우 GitHub에 이슈를 생성해 주세요. 풀 리퀘스트는 언제든지 환영합니다!

감사의 말

애플리케이션 아키텍처와 프론트엔드 코드에 기여해 주신 Abhisek Datta - abhisek 님께 감사드립니다.

라이선스

MIT

도구 다운로드