본문 바로가기

전체 글

(157)
File Upload Vuln 더보기클라이언트 측 공격서버 측 공격XSSSQL InjectionCSRFWeb Shell파일 업로드 공격에 경우클라이언트 측 공격(Stored XSS, 피싱 등)과 서버 측 공격(Web Shell 업로드 등)이 모두 가능함보통은 웹 쉘을 올리기 때문에 서버 측 공격으로 부르는 경향이 있음* 파일 업로드 공격이란?공격자가 원하는 임의의 파일을 업로드하는 공격.* 발생 원인파일을 업로드 받을 때, 검증·검사를 하지 않기 때문에* 발생 위치파일을 업로드 할 수 있는 모든 곳* 공격 시나리오1. 서버 측 실행 파일 업로드1.1. 웹 쉘(Web Shell) 업로드서버 측에서 실행 가능한 파일을 업로드할 수 있는 공격.1.1.1. 동작하고 있는 WAS 서버 파악(=사용중인 백엔드 언어 파악)더보기Server Sid..
CORS(Cross-Origin Resource Sharing) SOP(Same-Origin Policy)브라우저의 보안 정책동일한 출처의 리소스만 (자바스크립트) 접근 가능동일 출처의 기준 : Scheme, Domain, Portex) http://alioth.com:1234/main/test.htmlOrigin : http://alioth.com:1234 위의 페이지에서 로드된 리소스에 접근 가능하려면동일한 출처 즉, Scheme, Domain, Port 가 전부 같은 곳에서 요청한 경우만 접근 가능하다.ex)http://a1ioth.com:1234/main/test.html -> X 도메인이 다름https://alioth.com:1234/main/test.html -> X 스키마가 다름http://alioth.com:80/main/test.html -> X 포트..
GET Admin 3 1. CSRF 포인트1) 마이페이지 접속 2) 비밀번호 변경비밀번호를 1234로 변경했다. 3) 비밀번호 변경 요청 확인인증 정보(csrf_token 파라미터)와 함께 변경할 비밀번호가 POST 요청되는 것을 확인했다. 4) 인증 정보 확인인증 정보의 경우 마이페이지에 접근 시, 태그의 hidden 속성으로 랜덤한 문자열이 생성되며이 랜덤한 문자열을 요청에 포함해 서버에서 인증 정보로 사용하는 것을 유추할 수 있다.자바스크립트를 이용해 DOM 객체에 접근하면, csrf_token 값을 가져올 수 있다.[*] CSRF 포인트 확인 POST 요청에 경우 태그에 넣어 보내야 하므로, XSS 취약점과 연계할 필요성이 있다.2. XSS 포인트1) 게시판 접속 2) 게시글 작성 페이지 접속 3) 본문에 스크립트 삽..
GET Admin 2 1. CSRF 포인트1) 마이페이지 접속 2) 비밀번호 변경비밀번호를 1234로 변경했다. 3) 비밀번호 변경 요청 확인인증 정보 없이 POST 요청으로 비밀번호가 변경되는 것을 확인했다.[*] CSRF 포인트 확인 POST 요청에 경우 태그에 넣어 보내야 하므로, XSS 취약점과 연계할 필요성이 있다.2. XSS 포인트1) 게시판 접속 2) 게시글 작성 페이지 접속 3) 본문에 스크립트 삽입 후, 글 작성 4) 스크립트 동작 확인[*] Stored XSS 포인트 확인3. XSS 공격을 활용한 CSRF 공격1) 게시글 작성 페이지 접속 2) 본문에 CSRF 공격이 담긴 POST 요청을 보내는 태그를 삽입한 뒤, 글 작성 생성--> "회원 정보 수정에 성공하셨습니다!" 팝업창이 뜨지 않도록 설정(htt..
GET Admin 1 1. CSRF 포인트1) 마이페이지 접속 2) 비밀번호 변경비밀번호를 1234로 변경했다. 3) 비밀번호 변경 요청 확인인증 정보 없이 변경할 비밀번호의 값만 pw 파라미터로 요청하고,서버에서는 해당 요청을 정상적으로 처리하는 것을 확인했다.[*] CSRF 포인트 확인해당 요청을 GET 매서드로 변경해도 서버에서 정상적으로 처리하는 것을 확인했다. 4) CSRF 공격 시도http://ctf.segfaulthub.com:7575/csrf_1/mypage_update.php?id=&info=&pw=1234비밀번호를 1234로 변경하는 GET 요청이 담긴 URL을피해자에게 전달해 누르게 유도한다면 CSRF 공격이 가능할 것이다.관리자 봇이 해당 URL에 접근할 수 있도록 링크를 전달했다.해당 링크를 전달받은 ..
CSRF(Cross Site Request Forgery) CSRF 란?인증 정보가 없이 요청이 이뤄지고 있는 모든 장소요청 정보 중 공격자가 임의로 파라미터 값을 변조변조된 요청을 피해자가 서버로 보내도록 유도하는 공격XSS 차이점?둘 다 클라이언트 측 공격!!하지만..?!● XSS브라우저에서 동작하는 스크립트를 삽입하는 공격브라우저가 갖고 있는 쿠키(세션) 탈취, 피싱 페이지 이동, 키로거 등의 공격 가능● CSRF스크립트를 사용하지 않아도 피해자에게 공격자가 변조한 요청을 보내도록 유도하는 공격요청을 유도해야 하므로 XSS 공격과 연계비밀번호 변경 등 서버의 존재하는 서비스를 요청할 때,요청을 변조해 피해자에게 전달하는 공격때문에 동작은 서버에서 동작CSRF 포인트 찾기요청을 보내는데 인증정보가 없다? => CSRF 취약점요청에 인증정보가 없는데 POST ..
Steal Info 2 0. 마이페이지 정보란 확인flag 정보가 있을 마이페이지의 정보란은 태그 안에 "info"라는 name 속성을 가지고 있으며,관리자 계정으로 접속 시, placeholder 속성에 값으로 FLAG가 출력된다는 것을 추측할 수 있다.1. XSS 포인트게시판에 HTML 특수문자를 삽입하여 글을 작성했다.본문의 특수문자는 HTML Entity로 치환되지 않고, 그대로 삽입되는 것을 확인할 수 있다.(* Stored XSS 포인트 확인)2. 스크립트 삽입2.1. 마이페이지 userInfo 데이터 추출 태그를 이용해 게시글에 마이페이지를 불러온 뒤,flag가 있을 정보란의 placeholder 값을 가져오는 스크립트를 삽입했다.스크립트가 삽입된 게시글에 접근하면,을 통해 본문에 마이페이지가 출력되는 모습을 볼 ..
Steal Info 0. 중요 정보가 있는 페이지관리자의 계정으로 접속했을 때,내 정보 아래의 "card-text"에 FLAG가 출력된다고 예측할 수 있다.1. XSS 포인트게시판에 HTML 특수문자를 삽입하여 글을 작성했다.본문의 특수문자는 HTML Entity로 치환되지 않고, 그대로 삽입되는 것을 확인할 수 있다.(* Stored XSS 포인트 확인)2. 스크립트 삽입2.1. 태그 삽입글의 본문에마이페이지를 불러오는 태그를 삽입했다.작성된 글을 확인해 보면,글의 본문에 마이페이지가 삽입된 것을 볼 수 있다.2.2. 변수에 담기var iframeTag = document.getElementById('xss');글의 본문에 onload 이벤트 핸들러를 이용해 태그가 마이페이지를 전부 불러온 후, 스크립트가 동작하도록..