본문 바로가기

반응형

old/Cyber Security

(63)
웹 해킹 예제: 쿠키 변조, 디렉토리 명 추측, 세션 하이재킹, 인증 우회, 브루트 포스 공격 웹 해킹은 공격자가 웹 어플리케이션의 취약점을 이용하여 공격하는 일반적인 기술입니다. 이 글에서는 쿠키 변조, 디렉토리 명 추측, 세션 하이재킹, 인증 우회, 브루트 포스 공격과 같은 일반적인 웹 공격 유형을 살펴보겠습니다. 쿠키 변조(Cookie Tampering) 정의 웹 애플리케이션에서 사용하는 쿠키값을 악의적으로 변경하는 것을 말합니다. 사용이유 쿠키는 클라이언트 측에서 저장되며, 서버와 클라이언트 간의 상태(클라이언트와 서버 간의 인증, 세션 관리, 사용자 식별 등)를 유지하기 위해 사용됩니다. 방지법 쿠키에 대한 인증과 암호화 입력 값에 대한 필터링 및 검증 출력 값 필터링 쿠키 사용의 목적과 기간을 고려한 적절한 쿠키 설정 예제 Burp Suite를 사용함 정상적으로 로그인하는것을 확인해봅시..
사이버 보안: Burp Suite이란 Burp Suite 정의 클라이언트와 서버 사이에 있는 웹 프록시 프로그램 (패킷 조작 프로그램). 이를 이용해서 중간에 요청되는 데이터를 볼수 있으며(인터셉트 프록시), 웹 애플리케이션의 스캐너같은 다양한 취약점 검사 및 인터페이스 분석 도구 등을 제공합니다. 사용 용도 웹 애플리케이션의 취약점을 탐지 보안 결함을 수정 웹 애플리케이션의 인터페이스 분석 우분투에 설치법 자바 설치 sudo apt-get install openjdk-8-jre Burp Suite 커뮤니터버전 다운 https://portswigger.net/burp/communitydownload 설치 파일 실행 다운 폴더에서 터미널 열기 sudo bash burpsuite_community_linux_v2021_9_1.sh 기본 설치 위..
OAuth 2.0까지의 인증 방식의 진화 HTTP와 로그인 인증 기술의 필요성 인터넷이 생겨나던 당시에 생겨난 HTTP프로토콜은 당시에 빠르게 정보를 주고 받기 위한 일종의 구칙이였습니다. 서버에서는 클라이언트의 정보를 보관하지 않고, 그저 요청이 들어오는데로 데이터를 준비해서 응답을 하는 단순한 일만 하는것이 서버였습니다. 이렇게 클라이언트의 정보를 저장하지 않는 특성을 stateless라고 부릅니다. 하지만 시간이 지나고 기술이 발전함에 따라서 서버에서는 클라이언트가 누군지 구분해야 할 필요성이 생겨났습니다. 클라이언트가 쇼핑몰에서 장바구니에 넣은 물건들이 뭔지 클라이언트마다 다르게 표기해야 했기 때문입니다. 이를 위해서 여러가지 로그인 인증 기술이 탄생하게 되었습니다. Cookie 가장 최초로 나온 로그인 인증기술인 쿠키는 아이디와 비밀번..
http에서 데이터 전달하는 두가지 방법: GET, POST 목적 Http 프로토콜에서 데이터를 보내는 방법은 두가지. GET과 POST를 사용한다. 장단점과 차이점을 알아보자. HTTP Request 구성요소 [Scheme]://[Host]:[Port][Path]?[Query]#[Fragment] [Header] HTTP URI 구성요소 예제 http://www.example.com:1030/software?id=test#section-4 scheme Host Port Path Query Fragment http ://www.example.com :1030 /software ?id=test #section-4 GET으로 데이터 보내기 HTTP URI에서 쿼리 부분에 파라미터를 선언하여 데이터를 넣어 보내는 방식이다. GET 예제 http://www.example..
APM에서 MySQL: 기초 사용법과 설정 mysql 서버 실행 service mysql start mysql 사용자로 db생성 사용자 이름: root db이름: test mysqladmin -u root create test -p 비번을 물어볼텐데, 기본 비번이 없으므로 그냥 엔터 root 계정 비번 설정 계정이름: root 비밀번호: 1234 use mysql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234' mysql 사용자 접속 사용자 이름: root 제대로 되었다면 시작 부분이 mysql>로 변경됨 mysql -u root -p db 리스트 확인 show databases; 사용 디비 설정 use test; 테이블 생성 테이블 이름: users cr..
HTTP 상태 코드: 요청-응답 과정에서 발생하는 상태 코드 정리 정의 HTTP 상태 코드(HTTP status code)는 클라이언트가 서버에 요청을 보내고 서버가 클라이언트에 응답하는 과정에서 발생하는 상태 코드입니다. HTTP 상태 코드 status code 1xx (Informational) : 요청이 수신되어 처리중인 상태 100 Continue : 클라이언트가 서버에게 전송한 요청 메시지를 서버가 받아들였으며, 클라이언트가 계속해서 메시지를 전송해도 된다는 것을 나타냅니다. 101 Switching Protocols : 클라이언트가 요청한 업그레이드를 수락하고 프로토콜을 변경합니다. 2xx (Successful) : 요청이 성공적으로 처리되었음 200 OK : 요청이 성공적으로 처리되었으며, 클라이언트가 요청한 콘텐츠가 포함된 응답을 반환합니다. 201 Cr..
HTTP 프로토콜 요청과 응답: 클라이언트와 서버의 통신 방식 정의 HTTP(HyperText Transfer Protocol)는 인터넷 상에서 데이터를 주고받기 위한 통신 프로토콜 중 하나입니다. HTTP는 웹 브라우저와 웹 서버 간의 통신을 담당하며, 클라이언트가 서버에게 데이터를 요청(request)하고, 서버는 클라이언트에게 응답(response)합니다. 작동방식 HTTP는 요청-응답(request-response) 방식으로 작동하며, 일반적으로 클라이언트가 웹 페이지를 요청하면, 서버는 해당 페이지를 포함한 HTML 파일, 이미지, 동영상 등의 리소스를 클라이언트에게 전송합니다. HTTP 프로토콜의 구성 요소 HTTP 메소드(Method): 클라이언트가 서버에게 요청을 보낼 때 사용되는 메소드입니다. 대표적인 HTTP 메소드로는 GET, POST, PUT,..
Assignment: DB 연결 테스트. : DB에 데이터 넣고, 화면에 출력해보기. test db 생성 / test table 생성 후 아무 데이터 넣기. 과제 service mysql start mysqladmin -u root create test -p root계정. 비번없음. 그냥 엔터 test이름을 가진 db생성 mysql -u root -p root계정 접속 show databases; 디비 확인 use test test디비 사용 create test(id int primary key, name varchar(255)); desc test; 로 테이블 성성 확인 데이터 넣기 insert into test (id) values (4); insert into test (id, name) values (1, “Han”); insert into test (id) values (2,”K..

반응형