1) SQL Injection이란 무엇인가?SQL은 RDBMS에서 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어다.클라이언트와 웹 어플리케이션이 통신할 때 사용자 입력값에 SQL 구문 삽입을 통해 변조된 SQL 구문을 질의함. 이를 통해 데이터 조회, 삭제 등의 다양한 공격이 가능하다. 2) 취약점 발생 원인1. 공격자는 취약한 웹 어플리케이션을 대상으로 SQL 구문을 삽입한다.2. Server-Side Script에서 사용자 입력값을 받게되며, 미완성된 SQL 구문이 사용자 입력값을 통해서 완성된 SQL 구문으로 만들어진다. → 취약점 발생(입력 값 검증 없이 구문 조합하게 되는 경우)3. 완성된 SQL 구문으로 DB에 질의를 요청하게 된다.(변조된 SQL로 질의)4. DB는 질의에 대한..
버프 스위트(Burp Suite) 설치 및 프록시 설정구글에 burp suite download 검색 후 공식 홈페이지 접속하여 설치Pro 버전은 스캐너가 추가된 것이며, 무료 버전인 Community 버전을 사용한다.https://portswigger.net/burp/communitydownload 위 홈페이지 접속 후 Go straight to downloads를 클릭하여 바로 다운로드 페이지로 이동한다. Community Edition 선택 후 Download 버튼 클릭하여 다운로드 받는다. 다운로드 후 next 를 클릭하여 설치 완료한다.웹 브라우저에서 프록시로 향하는 통신을 설정해줘야 한다. 프록시 설정 방법1) 인터넷 옵션2) 웹 브라우저 확장 프로그램 설치 통신 방향은 다음과 같다. 클라이언..
웹 해킹이란 무엇인가?웹 서비스 상에서 발생될 수 있는 모든 보안 허점을 이용해 악의적인 행위를 하는 것= 웹 어플리케이션 해킹 웹 어플리케이션이란? = 웹 프로그래밍 언어(JSP, PHP, ASP 등)로 작성된 프로그램, 어플리케이션= 웹 브라우저를 통해서 방문하는 웹 사이트 해커들의 타겟, 웹 서비스방화벽 도입 후 웹 해킹 빈도가 높아졌다.방화벽은 IP와 Port를 기반으로 패킷을 필터링 한다. → OSI 7계층의 3,4계층 웹 서비스(대외 서비스) : HTTP(80), HTTPS(443)그 외 서비스: SSH(22), Telnet(23), FTP(21) 등웹 서비스를 제외한 나머지 서비스는 굳이 필요하지 않으므로 방화벽에서 차단한다.그러므로 웹 서비스에 대한 공격이 들어올 수 밖에 없고, 그에 ..
취약 환경 구축기존에 XAMPP를 APM Setup 대신 사용하여 MySQL 실습을 진행하였으나, XAMPP로 취약 환경 구축 시 강의와 환경이 달라 에러가 발생하여, 강의와 동일한 환경 구축을 위해서 APM Setup으로 환경 구축을 다시한다.설치 후 C:\APM_Setup 경로의 php.ini 파일 내 magic_quotes_gpc 를 Off 로 변경해준다.magic_quotes_gpc는 GET, POST, 쿠키 등 사용자 입력값을 이스케이프 처리를 해준다는 의미다.' 를 입력하면 \' 가 출력된다는 의미이다. magic_quotess_gpc = Off 로 변경 후 Apache를 재기동한다.APM Setup 콘솔 Server status의 Apache를 Stop 후 다시 Start 한다. Apache..
SQL 기본 문법을 알아야 하는 이유취약점 진단 시 성공적인 SQL 인젝션 공격을 위해서는 SQL 기본 문법에 대한 이해는 필수다! 데이터베이스란 무엇인가?데이터를 구조적으로 모아둔 데이터 집합소 관계형 데이터베이스(Relational Database: RDB)- 데이터를 열과 행을 가진 테이블 형태로 표현하며, 구조적으로 데이터 관리를 한다. 데이터베이스 용어(A) = 데이터의 집합 → 테이블(B) = 행 → 레코드(C) = 열 → 컬럼 관계형 데이터베이스 관리 시스템(RDBMS)관계형 데이터베이스를 관리하는 시스템을 RDBMS라고 부른다.주요 기능은 데이터 추가, 수정, 삭제, 조회, 데이터 무결성 유지, 트랜잭션 관리, 백업 및 복원, 보안 등이 있다.대표적인 관계형 데이터베이스는 Oracl..