본문 바로가기

모의해킹 공부

(36)
[0601 Day10] File Upload File Upload File Upload : 공격자가 원하는 임의의 파일을 올릴 수 있는 공격 파일업로드 공격으로 웹 서버의 자원 고갈 공격이 가능하고, 웹 셸을 올려서 서버 시스템의 명령어로 코드를 탈취 할수도있고, 웹 서버를 장악할수도 있다 Web Shell : 웹 페이지에서 공격할 웹서버 의 시스템 명령어를 실행할 수 있는 코드(프로그램) (WEB + Shell) 파일 업로드 취약점 찾기 파일 업로드 취약점을 찾기 위해서는 [1] 웹 서버에서 실행할 수 있는 파일이 웹 페이지에 올라가야한다 [2] 올라간 파일이 실행 할 수 있어야한다 [3] 파일을 실행하기 위해서 파일이 업로드된 경로를 알아내야한다 [3-1] 올린 파일을 다운로드를 하면서 프록시툴로 경로를 알아낸다 [3-2] 올린 파일 다운로드 ..
파일 업로드(File Upload) 취약점 파일 업로드 취약점 웹 페이지의 파일 업로드 기능을 이용하여 웹셸악성코드를 업로드 하는 취약점이다 공격자는 웹셸을 통해 서버에 공격자 권한을 상승시키고 서버를 장악하고 서버를 변조시킬 수 있다 ※ Web Shell : 웹에서 쉘을 이용하여 시스템에 명령을 직접 내릴 수 있는 코드이고 파일 업로드 취약점으로 사용된다 Web Shell 확장자(조심해야할 확장자) 언어 확장자 php php, phtml, php3, php4, php5, inc, html jsp jsp, jspx, jsw, jsv, html 공격방법 01. 파일 업로드 위치 파악 기본 이미지 파일을 올려서 이미지 파일이 업로드 되는 위치를 파악한다 02. 웹 셸 코드를 업로드한다 [1] GET 메서드 방식으로 cmd 파라미터를 입력받는다 [2]..
[9주차 과제-3] 게시글 정렬 기능 구현 구현에 사용된 프로그램 OS Proxmox-ve-7.3-1 lubuntu-22.04.2 Apache2 : Apache/2.4.52 (Ubuntu) PHP : PHP 8.1.2-1ubuntu2.11(cli) MySQL : mysql Ver 8.0.32-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu)) 00. 기존 게시글들을 정렬하기 위해 boardIndex.php 업데이트 00-1) 정렬을 선택할 수 있는 Form 태그와 Select 태그 생성
[0525 Day09] CSRF & SSRF CSRF(Cross Side Request Forgery) CSRF : 피해자가 자도 모르게 서버에게 피해자의 세션을 이용한 임의의 요청을 보내게 만드는 공격 CSRF 공격은 피해자의 세션이 성립 된 상태에서 모든 요청이 일어나는 곳에서 공격이 일어날 수 있다 주로 피해자의 민감한 정보를 수정, 삭제가 이뤄지는 페이지를 취약점으로 판단할 수 있다 ★★ XSS 공격 vs CSRF 공격 차이 XSS 공격은 악의적인 스크립트가 클라이언트에서 실행되는 공격이고, CSRF 공격은 악의적인 스크립트가 서버에 요청이되는 공격이다 CSRF 공격 기법 [1] GET Method 취약점 페이지가 GET 메서드 방식의 페이지 일 경우 [1-1] URL 파라미터에 공격자가 원하는 공격 코드를 삽입한다 [1-2] 공격자가 만든..
[9주차 과제-2] 게시글 추천 & 비추천 기능 구현 구현에 사용된 프로그램 OS Proxmox-ve-7.3-1 lubuntu-22.04.2 Apache2 : Apache/2.4.52 (Ubuntu) PHP : PHP 8.1.2-1ubuntu2.11(cli) MySQL : mysql Ver 8.0.32-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu)) 00. 게시글 추천과 비추천 기능을 위한 DB 테이블 생성 00-1) 기존 userBoardTB 테이블에 추천수와 비추천수를 체크할 수 있는 컬럼을 추가해준다 alter table userBoardTB add boardGood int not null default 0; alter table userBoardTB add boardBad int not null default 0..
CSRF3 공격 시나리오 2023.05.27 - [모의해킹 공부/과제] - CSRF01 & CSRF02 공격 시나리오 00. 공격할 페이지의 탐색 URL : http://ctf.segfaulthub.com:7777/csrf_3/index.php 00-1) 사이트 용도 이 사이트도 csrf_1, csrf_2 와 같이 회원가입, 게시글을 작성, 개인 정보 수정을 할 수 있는 사이트다 또한 이 사이트도 민감한 정보(개인정보 수정)를 다루기 때문에 CSRF 공격을 이용한다 00-2) 개인정보를 수정시 어떤 메서드를 사용하는지 파악한다 1 - GET 메서드가 사용 가능한지 파악 2 - GET 메서드 사용 불가시 POST 메서드 방식으로 공격 실행 위 사이트도 프록시 툴을 이용해서 GET 메서드 방식을 실패하고 POST 메서드 방식 만으로..
CSRF01 & CSRF02 공격 시나리오 2023.05.23 - [모의해킹 공부/과제] - CSRF_1 문제 풀이 2023.05.24 - [모의해킹 공부/과제] - CSRF_2 문제 풀이 지난 풀이에서는 회원정보 수정(alert)창이 나와서 관리자에게 들키는 문제가 생겨서 관리자가 알지 못하게 다시 공격을 실행한다 sandbox : 요소에 보일 콘텐츠에 대한 추가적인 제한 사항들의 집합을 명시한다 속성값 설명 " " 모든 제한 사항을 적용 allow-forms 리소스가 폼 데이터를 제출할 수 있도록 허용 allow-modals 리소스가 모달 윈도우를 열 수 있도록 허용 allow-scripts 리소스가 스크립트를 실행 할 수 있도록 허용하지만, 팝업창 생성 하지 못한다 00. 공격할 페이지의 탐색 URL : http://ctf.segfaulth..
[9주차 과제-1] 게시글 날짜 지정 검색 구현 구현에 사용된 프로그램 OS Proxmox-ve-7.3-1 lubuntu-22.04.2 Apache2 : Apache/2.4.52 (Ubuntu) PHP : PHP 8.1.2-1ubuntu2.11(cli) MySQL : mysql Ver 8.0.32-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu)) 00. 게시글을 날짜로 검색하기 위해 boardIndex.php 업데이트 00-1) 날짜 지정 input 태그를 form 태그 안에 추가하기 → .... 1. 검색할 처음 날짜(preDate)와 마지막 날짜(postDate)를 입력받아 전달한다 2. javascript를 이용하여 날짜의 디폴트 값을 오늘 날짜로 출력한다 00-2) curDate.js Javascript 추가..