본문 바로가기

Web/Theory

(29)
Web Cache Deception 선수 학습 Web Cache WorkWeb Cache?서버와 클라이언트 사이에서 응답의 사본을 저장하고 전달하는 역할을 한다.트래픽 분산으로 인한 서버 부하 감소와 빠른 응답을 목적으로 만들어졌다.Web Cache Works?1. 캐시 서버는 클라velvetviolet1024.tistory.comWeb Cache Deception피해자의 중요 정보가 담긴 페이지를 캐시에 저장되도록 만든 후, 그 페이지를 공격자가 가져가는 공격 기법Rewrite서버의 Rewrite 기능이란?웹 서버가 클라이언트의 요청 URL을 다른 URL로 변경(매핑)하거나, 서버 내부에서 리디렉션을 처리하는 기능 클라이언트 요청// 마이페이지 요청vuln.com/main/mypage웹 서버의 Rewrite 응답// 마이페이지를 찾아서 ..
인증(Authentication) & 인가(Authorization) 취약점(Vuln) * 인증(Authentication) : 사용자 자신이 주장하는 본인이 맞는지 확인하는 작업.인증과정에서 발생하는 취약점.인증 절차를 우회하는 공격.* 인가(Authorization) : 특정 권한을 부여하는 것. (접근할 수 있는 리소스 권한)원래 못해야 하는 것을 하는 것.IDOR(Insecure Direct Object Reference) 취약점 -> 파라미터 변조 / URL 직접 접근* Authentication Vuln Case1. 클라이언트 측 정보(쿠키)를 통해 인증하는 경우클라이언트 측 정보로 인증하는 장소에서 발생 Get Admin해당 문제에 접속하여 주어진 계정으로 로그인해 보니서버에서 로그인한 사용자의 ID 값을 평문으로쿠키 값에 세팅하여 주는 것을 볼 수 있다.이후 클라이언트가 서버..
File Download Vuln * 파일 다운로드 취약점이란?공격자가 권한에 벗어난 서버의 파일을 다운로드 받을 수 있는 취약점.* 발생 위치파일을 다운로드 할 수 있는 모든 곳* 파일 다운로드 취약점의 특징소스코드 실행 불가능하지만 덕분에 소스코드를 다운로드 할 수 있다.서버의 소스코드를 다운하여 취약점을 추가로 찾을 수 있다.때문에 공격자 입장에서 파일 다운로드 취약점을 발견했을 시, 서버의 소스코드를 찾는다.* 취약점 시연마이페이지의 소스코드를 다운받아DB 정보, SQL 사용 정보 등을 확인할 수 있는 모습이다.* PoC 파일파일 다운로드 취약점 발견 시, 아래와 같은 파일로 PoC 증명을 추천한다./etc/passwd/boot.ini/winnt/win.ini* 대응 방안파일 업로드 공격과 동일하다. File Upload Vuln..
LFI(Local File Include) Vuln include 란?다른 파일의 내용을 현재 파일에 "포함" 시키는 것!!// dbconn.php// login.php// login.phpLFI(Local File Include) 취약점?동적 페이지에서 다른 동적 페이지의 소스코드를 include 하는 기능이 있을 때,해당 기능을 악용해서 임의의 소스코드를 Include 하도록 유도하는 공격이 가능함.서버에 존재하는 임의의 파일을 가져올 수 있다.소스코드는 가져올 수 없다. (★동적 코드는 실행돼서 출력되기 때문!!!★)취약점 시연인사말 : LFI 취약점 존재게시판 : 파일 업로드 기능 존재인사말 서비스에 접속해보면,언어 선택 시, 해당 언어로된 문자열이 lang 파라미터의 php 파일(ko.php)을 통해 출력되고 있다.여기서 주목할 포인트는 gree..
File Upload ByPass 1. MIME Type 변조1.1. Content-Type 제한 우회if (Content-Type != "image/jpeg"){ print("이미지만 업로드 가능!!")}업로드하는 컨텐츠의 타입이 이미지가 아닌 경우,업로드를 제한하는 로직이 설정돼 있는 케이스가 있다.Proxy 툴을 이용해Content-Type 속성 값을 이미지로 변경해 주면파일 업로드 우회가 가능하다.2. 블랙리스트 기반 파일 확장자 필터링2.1. 대소문자업로드되는 파일명에서 확장자를 확인하고,php, jsp 등의 확장자를 제한하는 경우가 있다.pHp, PhP 등 대소문자를 혼잡하여 확장자 필터링을 우회할 수 있다.2.2. 같은 백엔드 언어의 다른 확장자 사용또한, WAS 서버에서 php 언어로 동작하는다른 확장자를 사용하는 방..
Web Cache Poisoning 선수 학습 Web Cache WorkWeb Cache?서버와 클라이언트 사이에서 응답의 사본을 저장하고 전달하는 역할을 한다.트래픽 분산으로 인한 서버 부하 감소와 빠른 응답을 목적으로 만들어졌다.Web Cache Works?1. 캐시 서버는 클라velvetviolet1024.tistory.comindex.php (요청받을 Header 추가한 코드)더보기 Alioth's Web Page 게시판 $name"."님"; ?> | 로그아웃 로그인 | 회원가입 Web Cache Poisoning공격자가 캐시 서버로 나쁜 응답이 캐시 되게 만들고, 이용자들이 해당 캐시를 가져가게 만드는 공격unkeyed 헤더 값 요청이 Self-XSS를 만들어 내는지 확..
Web Cache Work Web Cache?서버와 클라이언트 사이에서 응답의 사본을 저장하고 전달하는 역할을 한다.트래픽 분산으로 인한 서버 부하 감소와 빠른 응답을 목적으로 만들어졌다.Web Cache Works?1. 캐시 서버는 클라이언트의 요청에 대한 응답 사본이 캐싱돼 있는지 판단한다.2. 만약 캐싱돼 있는 사본에 대한 요청이라면 캐시 서버가 사본을 전달한다.3. 캐시 서버에 사본이 없으면 원본 서버에서 요청에 대한 응답 페이지를 가져와 클라이언트에게 전달하고, 해당 페이지를 캐시 서버에 사본으로 저장한다. 그렇다면 캐시 서버는 클라이언트의 요청에서 어떤 정보를 확인하고 캐싱된 응답이 있는지 판단할까?Cache Keys캐시 서버에서는 똑같은 파일을 요청하는지 식별하는 방법으로 Cache Key를 사용한다.Cache key..
File Upload Vuln 더보기클라이언트 측 공격서버 측 공격XSSSQL InjectionCSRFWeb Shell파일 업로드 공격에 경우클라이언트 측 공격(Stored XSS, 피싱 등)과 서버 측 공격(Web Shell 업로드 등)이 모두 가능함보통은 웹 쉘을 올리기 때문에 서버 측 공격으로 부르는 경향이 있음* 파일 업로드 공격이란?공격자가 원하는 임의의 파일을 업로드하는 공격.* 발생 원인파일을 업로드 받을 때, 검증·검사를 하지 않기 때문에* 발생 위치파일을 업로드 할 수 있는 모든 곳* 공격 시나리오1. 서버 측 실행 파일 업로드1.1. 웹 쉘(Web Shell) 업로드서버 측에서 실행 가능한 파일을 업로드할 수 있는 공격.1.1.1. 동작하고 있는 WAS 서버 파악(=사용중인 백엔드 언어 파악)더보기Server Sid..