웹 해킹 & 보안 완벽 가이드 정리(8)
-
웹 해킹 & 보안 완벽 가이드 12장 정리
12 사용자 공격: XSS (Cross Site Scripting) 1. XSS 란? (Cross Site Scripting) 의 약자로 악의적인 목적을 가진 공격자가 악성 스크립트를 삽입하여 쿠키 탈취 또는 악성 프로그램 다운로드 유도 등을 할 수 있는 취약점입니다. 2. XSS 종류 2-1 Reflected XSS 웹 사이트 악성 스크립가 담긴 URL을 사용자에게 전달하는 방식 2-2 Stored XSS 서버 (게시판 글쓰기 등) 악성 스크립트를 삽입하고 저장하여 공격하는 방식 2-3 DOM-based XSS 악성 스크립트를 삽입해 DOM 객체를 제어해서 공격하는 방식. what is DOM? 웹페이지를 여는 즉시 생성되는 문서 객체 모델 2-4 Universal XSS (보편 XSS) 브라우저, 플..
2024.01.31 -
웹 해킹 & 보안 완벽 가이드 10장 정리
10 백엔드 컴포넌트 공격 컴포넌트란? 재사용이 가능한 각각의 독립적으로 생성된 모듈 OS Command Injection 사용자의 입력값에 의해 시스템 명령어가 실행되는 취약점 PHP exec함수 eval함수 && 첫 번쨰 명령이 성공했을 경우메나 두 번쨰 명령을 실행 || 첫 번쨰 명령 성공 여부 상관없이 두 번쨰 명령 실행 Path Traversal 취약점 ../ 상위 디렉토리 ex) ../../flag.txt 절대경로: / -> 최상위 디렉터리를 기준으로 찾음 상대경로:./ -> 현재 디렉터리를 기준으로 찾음 File Inclustion 취약점 RFI(Remote File Inclusion) 외부의 서버로부터 웹쉘을 가져옴 EX) index.php?color=http://123.123/backdo..
2024.01.15 -
웹 해킹 & 보안 완벽 가이드 09장 정리
09 데이터 저장소 공격 SQL Injection 악의적인 사용자가 SQL을 주입해서 데이터베이스가 비정상적인 행동을 유도하는 공격 기법 Error based SQL Injection 에러 발생 시 에러 페이지에 중요 정보 노출시 중요 정보를 바탕을 sqli 를 합니다. ex) ‘having 1=1 — 테이블 명 및 1번쨰 컬럼 이름 추출 Union based SQL Injection SQL UNION 연산자를 이용해 2개 이상의 쿼리를 요청해 비정상적인 행동을 수행. Time based SQL Injection 서버로부터 에러가 노출되지 않을떄 참 거짓 응답을 통한 시간 지연으로 정보를 유추하는 기법 sleep() benchmark() Blind SQL Injection 참 거짓 에 따른 서버의 응답을..
2023.11.18 -
웹 해킹 & 보안 완벽 가이드 06장 정리
06 인증 무력화 안전하지 않은 비밀번호 매우 짧은 비밀번호나 추측할 수 있는 비밀번호, 기본값 비밀번호 무차별 대입 공격이 가능한 로그인 EX) failedlogins=1이라는 쿠키를 써서 시도 횟수를 기록한다면 쿠키 임의 수정을 통해서 무차별 대입을 진행할 수 있다. 무차별 대입 공격 차단 인증을 위한 질문을 하는 페이지나 기능에는 모두 자동화된 공격을 차단해야 한다. recaptcha 도입, 로그인 n번 실패 시 n 분 locked 불필요하게 상세한 로그인 페이지 로그인 시 user not found 처럼 사용자이름이 추측할 수 있는 에러 메시지를 출력하지 않는다. 로그인 정보의 취약성 HTTPS를 통해 로그인한다고 하더라도 제대로 처리하지 못한다면 여전히 유출될 수 있다. 많은 곳에서 인증이 필요..
2023.10.16 -
웹 해킹 & 보안 완벽 가이드 05장 정리
05 클라이언트 측 통제 우회 숨겨진 폼 필드 웹 사이트 안에 input 태그 속성이 hidden이고 임의의 값을 전송해주는 필드가 있다면 간단하게 값을 사용자가 수정 후 값을 전송할 수 있다. hidden 안전하지 않다. 변조 쉽다. HTTP 쿠키 프록시를 이용해서 쿠키값을 조작해서 얼마든지 조작된 쿠키를 전송할 수 있다. URL 매개변수 매개변수를 담고 있는 URL이 주소창에 노출이 된다면 얼마든지 매개변수의 값을 조작 할 수 있다. Refer 헤더 브라우저들은 대부분의 HTTP 요청에 Refer 헤더를 포함하고 있다. 이는 해당 URL에 대한 요청이 어떤 URL에서 온 것인지를 나타내기 위해 쓰인다. Refer 헤더를 조작해서 서버로 전송할 수 있다. 번형된 데이터 떄로는 클라이언트를 통해 전송되는..
2023.10.16 -
웹 해킹 & 보안 완벽 가이드 03장 정리
03 웹 어플리케이션 기술 HTTP WWW에서 쓰이는 핵심 통신 프로토콜로 오늘날 거의 모든 웹에서 사용된다. 클라이언트가 request를 보내고 서버가 response보내는 방식이다. HTTPS 기존의 HTTP를 암호화된 버전 SSL에서 TLS로 발전됨. HTTP 메소드 GET : 입력값이 URL 파라미터에 노출됨. (어떠한 정보를 가져와 조회할 때 쓰임) POST : 입력값이 URL에 노출이 되지 않아 보안 측면에서 안전함? (데이터를 서버로 전송함) PUT : 서버에 특정 자원을 올릴 때 사용. URL 프로토콜://호스트명:포트번호/경로/파일명?para=값 REST WWW 과 같은 시스템을 위한 아키텍처의 한 형식 쿠키 저장 위치 : 클라이언트 세션보다 취약 세션 저장 위치 : 서버 쿠키보단 보안 ..
2023.10.08