웹 보안

SQL Injection - 모의 해킹 사이트 구축(1)

갬쿠 2022. 12. 18. 20:00

SQL Injection이 가능한 사이트를 만들려면 사이트 껍데기만 만드는게 아니라 실제 SQL DB와 연결되어 있는 사이트를 만들어야 한다. 

 

https://bitnami.com/stack/wamp/installer

 

Infrastructure Bitnami Application Catalog

Developer Tools,Infrastructure,Java,JDBC,Ruby on Rails,JRuby,MariaDB,Apache,node.js,NodeJS,Python,SQLite

bitnami.com

나는 Bitnami WAMP를 설치해 사이트 환경을 구축했다.

Bitnami는 가상 어플라이언스 및 웹 애플리케이션, 개발 스택용 소프트웨어 패키지 및 설치 라이브러리이다. WAMP(Windows/Apache/MySQL/PHP)를 설치하면 윈도우 환경에서 아파치 웹 서버, MySQL DB, PHP를 한 번에 설치해 개발 환경을 구축해 준다.

하나하나 설치하고 환경 설정 하는게 번거로웠을 텐데 한 번에 설치를 해주는 모듈이 있다니 정말 다행이었다.

 

위 사이트에서 OS 버전에 맞는 WAMP를 설치하고 실행시켜 하라는 대로 설치했다. 

중간에 DB의 root 계정에 대한 비밀번호를 설정하라는 안내가 나온다. 6자 이상으로 설정한 후 잘 기억해 놓아야 한다(DB 접속 시 필요하다).

자기들 클라우드 설치하라는건 체크해제하고 안했다.

 

잘 설치가 됐다면

이렇게 로컬 디스크에 Bitnami 폴더가 생기고 그 안에 apache, sql, php 파일들이 설치되어 있을 것이다. 

그리고 나는 mySQL 대신 mariaDB가 설치되었다. 어떤 버전 이후부터는 자동으로 mariaDB가 설치되는 것 같은데, 찾아보니 둘이 거의 동일하게 작동하기 때문에 SQL Injection 실습에는 전혀 문제가 없었다.

 

저기서 manager-windows를 실행하면

WAMP packaged by Bitnami

이렇게 DB와 서버의 실행을 확인하고 관리할 수 있다. 서버 이벤트도 확인할 수 있다.

 

이제 http://localhost에 들어가면 Bitnami 로고와 WAMP 설명이 나올 것이다. 

apache2 폴더의 htdocs에 들어가면 index.html이 기본적으로 설정되어 있고 이 페이지가 로컬호스트 접속 시 자동으로 나오는 것이다. 나는 환경설정에 삽질을 5시간정도 한 후 그냥 htdocs 폴더에서 페이지를 개발하기로 했다. 

728x90