본문 바로가기

보안19

Chapter 01. 웹과 HTTP 기초 '화이트해커를 위한 웹 해킹의 기술'이라는 책으로 공부한 내용을 정리하여 게시할 예정입니다. 웹 해킹 사이트에서 직접 실습을 할 수 있고, 강의를 제공하기 때문에 더 빠른 이해가 가능할 것 같아 선정하게 되었습니다. Chapter 01. 웹과 HTTP 기초 웹 아키텍처 1. 클라이언트 영역 1.1 프레젠테이션 티어 2. 서버 영역 2.1 로직 티어: HTTP 요청 처리 및 응답(ex: 웹 서버와 웹 프레임워크) 2.2 데이터 티어: 데이터 처리 및 결과 응답(ex: DBMS, DB) HTTP 요청 메시지 1. 요청 메시지의 구성 1.1 를 통해 데이터가 전송됨 1.2 데이터를 전송할 필요가 없는 경우에는 부분 없이 구성 //헤더와 바디가 구분될 때 빈 줄에 줄 바꿈을 위해 CRLFCRLF 사용되는데, C.. 2019. 2. 25.
SQL Injection 이란? - (2) 동작원리 이해SQL : Microsoft SQL Server, Oracle, MySQL, Sybase, and Informix 등의 데이터베이스 서버에 접근하기 위한 표준언어SQL Injection 취약점은 대부분 웹 개발자가 개발할 때 웹 폼, 쿠키, 입력 파라미터 등 사용자로부터 값을 입력받아 데이터베이스에 전달할 때 입력 값에 대해 검증을 하지 않아 발생(1) 동적구문생성동적구문생성은 개발자들이 SQL 구문을 동적으로 프로그램 실행 과정에서 생성하는 프로그래밍 방식이다. 동적 SQL구문은 실행과정에서 구문을 생성하기 때문에 각각의 다른 조건들로 다른 SQL 구문을 생성한다.반면 개발자들이 파라미터를 사용한 쿼리를 이용한다면 좀 더 보안적인 효과를 이룰 수 있다. 파라미터를 사용한 쿼리는 SQL 구문.. 2018. 4. 30.
SQL Injection 이란? - (1) SQL Injection : 공격자에게 어플리케이션 데이터베이스에 전달하는 구조화된 쿼리 언어, 즉 sql에 영향을 미치게 만들어 생긴 현상데이터베이스에 전달되는 내용에 영향을 미침으로써 공격자는 권한 상승을 이루게 되고, 데이터베이스에서 제공하는 함수와 데이터베이스에서 사용할 수 있는 시스템 함수를 이용해 시스템 권한과 유연성을 갖게 됨 웹어플리케이션 동작 방식의 이해웹어플리케이션이 갖는 공통적인 특징 한 가지는 사용된 언어와 관계없이 모두 클라이언트-서버가 서로 데이터를 주고받는 데이터베이스 기반이라는 것이다. 사용자가 입력한 내용에 따라 다양한 데이터를 서버 사이드 스크립트 언어를 이용해 데이터를 데이터베이스에서 가져온다.웹어플리케이션의 3계층사용자인터페이스, 비즈니스 로직, 데이터베이스 계층웹브라.. 2018. 4. 27.