SQL Injection
SQL Injection - 모의 해킹 사이트 구축(2)
이제 SQL Injection이 가능한 취약한 웹 사이트를 만들 차례다. 취약한 사이트를 만들려면 사용자의 입력을 전혀 필터링하지 않고 작동만 하도록 만들면 된다. 나는 간단한 자유 게시판 사이트를 만들었다. 로그인 페이지, 게시판 페이지 두 개가 존재한다. 이왕이면 보기 좋게 만들고 싶어서 css도 조금 작성했다. 로그인 페이지 우선 로그인 페이지다. 작동 방식은 간단하다. 사용자가 로그인을 시도했을 때 사용자 DB에 저장되어 있는 ID/PW이면 로그인에 성공해 게시판 페이지에 접속할 수 있다. 사용자 DB에 저장되어 있지 않은 ID/PW이면 로그인에 실패한다. DB 구축 앞서 설치한 Bitnami 폴더에 mariaDB 폴더가 있을 것이다. cmd에서 C:\Bitnami\wampstack-8.1.12-..
SQL Injection - 모의 해킹 사이트 구축(1)
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/..
SQL Injection
SQL Injection은 매년 OWASP Top 10 공격 유형에 들어가는 대표적인 공격 기법이다. 클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격하는 방식으로 공격의 난이도는 쉬운 편이다. 누구나 쉽게 시도할 수 있는 공격이지만, 사용자가 입력한 데이터를 제대로 처리하지 않은 사이트의 경우 매우 큰 피해를 입을 수 있어 시큐어 코딩을 하는 개발자라면 필수적으로 알아야 하는 공격 기법이다. SQL Injection을 실습해 볼 수 있는 모의 해킹 사이트들이 이미 존재한다. 예전에 bWApp을 이용해서 SQL Injection 공격을 해 본 적 있다. 이번에는 공격 실습만 해보는게 아니라 직접 방어까지 해보려고 한다. 그러기 위해서는 공격이 가능한 취약한 웹 페이지를 직접 만들어야 했는데, ph..