전체 글

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

SQL Injection

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) 설치 및 프록시 설정구글에 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 기본 문법과 활용

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

Security Engineer
IT-log