전체 글 (157) 썸네일형 리스트형 authorization 5 step 1) 주어진 계정으로 로그인 후, 공지글을 확인하기 위해 공지사항에 접속한다. step 2) 공지사항에 접속해 보니, 관리자 계정이 작성한 글을 확인할 수 있었다. step 3) 해당 게시글에 접근 시, 권한이 없다는 알림창이 뜨며 접근에 실패하는 모습을 볼 수 있다. step 4) 서버의 응답 패킷을 확인해 보니, 서버에서 권한에 대한 검증이 이뤄지고 권한이 없다는 알림창이 전달되는 것을 확인할 수 있었다. 이를 통해 notice_read.php의 파라미터를 변조하여 게시글을 읽도록 우회하는 시도는 그만두었다. step 5) 이후 주어진 sfUser 계정으로 게시글을 작성한 뒤 step 6) 작성된 글을 수정하는 notice_update.php 페이지에 접근했다. step 7) 관리자 계정의.. authorization 4 step 1) 주어진 계정으로 로그인 후, 글을 작성하기 위해 공지사항에 접속한다. step 2) 공지사항 페이지 확인 시, 글쓰기 버튼이 보이지 않는다. 일단 관리자가 작성한 공지사항에 접근해 봤다. step 3) 게시글을 읽는 페이지는 notice_read.php 인 것을 확인할 수 있다. step 4) 게시글을 작성하는 페이지를 notice_write.php로 유추하여 guessing 공격?을 진행해 보니, 게시글을 작성할 수 있는 페이지임을 확인할 수 있었다. step 5) 이후 테스트 글을 작성했다. step 6) 글이 작성되면서 알림창에 FLAG가 출력되는 것을 확인할 수 있었다. authorization 3 step 1) 주어진 계정으로 로그인 후, 메인 페이지에서 미사일 발사 버튼을 확인할 수 있다. step 2) 발사 버튼 클릭 시, 권한이 없다는 알림창을 확인할 수 있다. step 3) 해당 알림창을 추적해 보니, 버튼을 누를 때 따로 서버에 요청을 하고 서버에서 해당 알림창을 응답해주는 것이 아니라, 클라이언트의 goMenu() 라는 함수가 동작하는 것을 확인할 수 있다. step 4) Console 창을 이용해 goMenu() 함수를 확인해 보니, 사용자 권한이 admin이면, 자바스크립트로 난독화된 주소로 리다이렉트하는 것을 확인할 수 있다. step 5) goMenu() 함수가 있는 user.js 파일에 접근해 난독화된 주소를 복사했다.location.href=(function(){var J=A.. authorization 2 step 1) 주어진 계정으로 로그인 후, 메인 페이지에서 미사일 발사 버튼을 확인할 수 있다. step 2) 발사 버튼 클릭 시, 권한이 없다는 알림창을 확인할 수 있다. step 3) 해당 알림창을 추적해 보니, 버튼을 누를 때 따로 서버에 요청을 하고 서버에서 해당 알림창을 응답해주는 것이 아니라, 클라이언트의 goMenu() 라는 함수가 동작하는 것을 확인할 수 있다. step 4) Console 창을 이용해 goMenu() 함수를 확인해 보니, 사용자 권한이 admin이면, fire_nuclear_attack.php 페이지로 리다이렉트 되는 것을 확인할 수 있다. step 5) fire_nuclear_attack.php 페이지로 직접 접근해 보니, 핵 발사 버튼이 눌리면서 FLAG를 얻을 수 .. authorization 1 step 1) 주어진 계정으로 로그인한다. step 2) 미사일 발사 버튼은 관리자만 이용 가능하다고 한다. step 3) index.php 페이지 요청·응답 패킷 확인 시, 발사 버튼이 주석처리 돼 있는 것을 발견할 수 있다. 그리고 발사 버튼을 누르면 fire_attack_danger.php 페이지로 이동하는 것을 확인할 수 있다. step 4) fire_attack_danger.php 페이지 직접 접근 시, 발사 버튼이 눌리면서 FLAG를 얻을 수 있었다. Get Flag File 2 1. 파일 다운로드 포인트파일을 다운로드하는 요청을 찾기 위해 게시판에 들어갔다.게시글을 작성하는 곳에서 정상적인 이미지 파일을 업로드했다.작성한 게시글에 들어가파일을 다운로드했다.HTTP 통신 패킷을 확인해 보면,파일 다운로드 로직이 구현된 download.php 파일의 파라미터로 다운로드할 파일의 경로가 들어가는 것을 알 수 있다.해당 경로를 수정해 index.php 파일 다운로드를 시도해 봤지만,GO 라는 응답이 돌아왔다.해당 응답은 유저가 업로드한 파일이 저장되는 files 경로에 접근 시 출력되는 문자이다.이를 통해 생각해 보면, 상위 디렉토리로 이동하는 ../ 명령어가 동작하지 않는 것을 유추할 수 있다.../ 문자열이 필터링되고 있을 때, 이를 우회할 수 있는 페이로드를 입력해 보니,inde.. Get Flag File 1. 파일 다운로드 포인트파일을 다운로드하는 요청을 찾기 위해 게시판에 들어갔다.게시글을 작성하는 곳에서 정상적인 이미지 파일을 업로드했다.작성한 게시글에 들어가파일을 다운로드했다.HTTP 통신 패킷을 확인해 보면,파일 다운로드 로직이 구현된 download.php 파일의 파라미터로 다운로드할 파일의 경로가 들어가는 것을 알 수 있다.해당 경로를 수정해 index.php 파일을 다운로드해 보니,index.php 페이지의 소스코드가 출력되면서, 그 사이에 주석으로 처리된 FLAG를 얻을 수 있었다.이후 다른 페이지의 소스코드를 확인해 봤을 때,DB 연결 정보와 sql 쿼리가 작성된 부분을 확인할 수 있었다. Web Shell 3 해당 홈페이지에서는 게시판과 인사말 페이지를 확인할 수 있었다.1. LFI 취약점 포인트인사말 페이지에서는 언어에 따라 인사말을 화면에 출력해주고 있었고,주목할 점은 greet.php 파일의 파라미터 값으로 php 파일을 받고 있다는 것이었다.해당 로직은 언어 선택에 따라 언어에 맞는 php 파일을 내부에서 가져와 화면에 실행(출력)하는 것 같다.(※ LFI 취약점 포인트)2. 파일 업로드 포인트인사말 페이지의 LFI 취약점을 활용하여 웹 쉘을 실행할 계획으로 웹 쉘을 .jpg 확장자로 업로드했다.업로드된 파일의 경로를 확인했다.3. 웹 쉘 실행LFI 취약점이 있는 인사말 페이지에서 greet.php 파일의 파라미터 값으로 업로드한 웹 쉘의 경로를 전달했다.웹 쉘이 실행된 모습을 확인할 수 있었다.웹 쉘.. 이전 1 2 3 4 5 6 7 8 ··· 20 다음