웹 해킹이란 무엇인가?웹 서비스 상에서 발생될 수 있는 모든 보안 허점을 이용해 악의적인 행위를 하는 것= 웹 어플리케이션 해킹 웹 어플리케이션이란? = 웹 프로그래밍 언어(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..
Client-Side Sciprt와 Server-Side Script에 대한 이해해당 실습을 진행하기 전 XAMPP를 설치해야 하는데, XAMPP 설치는 여기를 참고한다.XAMPP 설치 후 C:\xampp\htdocs\example 경로에 test1.php 파일을 생성한다.test1.php는 서버 측에서 실행되는 Server-Side Script로 만들어진 파일이다. 해당 파일의 코드를 작성 후 127.0.0.1/example/test1.php 접속 시 웹 브라우저에서 아래와 같이 확인이 가능하다.test1.php 동적 자원을 호출하였더니, test 라는 문자열이 출력되었다.소스 보기를 통해 확인해도 test 라는 문자열만 확인이 된다. test1.php에는 echo "test"라는 코드를 작성하였는..
웹 아키텍처일반적인 웹 아키텍처는 클라이언트 - 웹 서버 - 데이터베이스의 형태로 구성되어 있다.영역별로 프론트 엔드(Front-End)와 백 엔드(Back-End)로 나뉜다.웹 개발자들은 프론트 엔드 개발자와 백 엔드 개발자로 나뉘며, 두개를 전부하는 풀스택 개발자도 있다.아래는 웹 아키텍처는 웹을 단순화 시킨 구조로 실제 환경은 이보다 훨씬 복잡하다.취약점 진단에 앞서서 웹 아키텍처에 대한 이해는 필수이다.프론트 엔드 = HTML, CSS, JavaScript백 엔드 = PHP, JSP, ASP 웹 아키텍처 동작 원리 분석클라이언트 측에서 사용자가 웹 브라우저를 통해 사이트 접속을 하게 된다.그러면 웹 브라우저에서는 가장 먼저 도메인에 따른 IP 변환 작업을 한다.이유는 데이터 전송을 위해서는 I..