전체 글

IT 공부
웹 해킹/웹 해킹 및 시큐어 코딩 기초

취약 환경 구축

취약 환경 구축기존에 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 기본 문법과 활용

CREATE, DROP 구문CREATE 구문 - 데이터베이스 생성CREATE DATEABASE [DB_NAME];CREATE DATABASE test_db;  CREATE 구문 - 테이블 생성CREATE TABLE [NAME] ([COLUMN_NAME] [DATA_TYPE]);CREATE TABLE test_tb (name char(20), age int); DROP 구문 - 데이터베이스/테이블 삭제DROP [DATABASE/TABLE] [NAME];DROP TABLE test_tb;  실습XAMPP 컨트롤 패널 열고 MySQL의 Start 버튼 클릭하여 시작 후 우측의 Shell 클릭하여 CMD 창 열기  mysql -u root -p 입력 후 비밀번호 입력 창에서 엔터 눌러서 로그인(비밀번호 없으므로..

웹 해킹/SQL 기본

SQL Injection을 위한 데이터베이스 기초

SQL 기본 문법을 알아야 하는 이유취약점 진단 시 성공적인 SQL 인젝션 공격을 위해서는 SQL 기본 문법에 대한 이해는 필수다!   데이터베이스란 무엇인가?데이터를 구조적으로 모아둔 데이터 집합소 관계형 데이터베이스(Relational Database: RDB)- 데이터를 열과 행을 가진 테이블 형태로 표현하며, 구조적으로 데이터 관리를 한다.  데이터베이스 용어(A) = 데이터의 집합 → 테이블(B) = 행 → 레코드(C) = 열 → 컬럼  관계형 데이터베이스 관리 시스템(RDBMS)관계형 데이터베이스를 관리하는 시스템을 RDBMS라고 부른다.주요 기능은 데이터 추가, 수정, 삭제, 조회, 데이터 무결성 유지, 트랜잭션 관리, 백업 및 복원, 보안 등이 있다.대표적인 관계형 데이터베이스는 Oracl..

웹 해킹/웹 기초 지식

Cilent-Side Script, Server-Side Script에 대한 이해

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..

웹 해킹/웹 기초 지식

쿠키와 세션

상태 유지 및 관리의 필요성최초의 웹은 단순히 문서를 전달 받고 정보를 공유하는 목적으로 사용되었으며, 이 경우에는 상태 유지 및 관리가 굳이 필요하지 않다. 그러나 오늘날의 웹은 쇼핑몰에서 원하는 상품을 장바구니 혹은 카트에 담고 쇼핑이 완료되면 결제하고 결제가 완료되면 정상적으로 결제가 되었는지 확인을 하며, 예상 도착일을 본다. 또한 한번의 로그인을 통해 다른 페이지 접근 시 나에 대한 상태 정보가 유지 된다. 이러한 상태 유지 및 관리를 위해서는 쿠키가 사용된다.   쿠키쿠키를 통해 사용자 식별 및 세션 유지를 통해 클라이언트와 서버 간의 상태 관리를 한다.웹의 중요한 기술중의 하나로 현재 가장 많이 사용되고 있는 인증 방식이다.쿠키의 종류는 지속 쿠키, 세션 쿠키가 있다.쿠키 → 지속 쿠키(Pe..

Security Engineer
IT-log