[모의해킹 프로젝트] First Board : 증적 사진 분류 001, 002, 003 #2-1

2024. 3. 13. 19:26normaltic 취업반 5기/모의해킹 프로젝트

 

001 SQL Injection

 

1) Blind SQL Injection

 

[1] 자유게시판 게시글 검색 기능

 

설명

자유게시판 페이지에서 게시글 검색 시 사용되는 catgo 파라미터에서 SQL 명령어 삽입 가능한 취약점 발견

 

위치

URL : http://ctf.segfaulthub.com:5498/search_result.php?catgo=&search=

파라미터 : catgo  

 

취약점 검증 방법

catgo 파라미터에 '1'='1' and와 '1'='2' and를 입력했을 때 참일 경우 게시글이 출력되고 거짓일 경우 게시글이 하나도 출력되지 않는 것으로 보아 참과 거짓의 결과를 판단할 수 있어 Blind SQL Injection 공격으로 DB 데이터 추출이 가능함

 

증적 사진

 

[2] 로그인 

 

설명

로그인 페이지에서 userid 파라미터에 SQL 질의문 삽입 가능한 취약점 발견

 

위치

URL : http://ctf.segfaulthub.com:5498/login_search.php

파라미터 : userid

 

취약점 검증 방법

userid 파라미터에 ' and '1'='1와 ' and '1'='2를 입력했을 때 참일 경우 리다이렉트 코드가 실행되고 거짓일 경우 아이디/비밀번호가 틀렸다는 코드가 실행되는 것으로 보아 참과 거짓의 결과를 판단할 수 있어 Blind SQL Injection 공격으로 DB 데이터 추출이 가능함

 

증적 사진

 

 

2) Union Based SQL Injection

 

[1] 자유게시판 게시글 검색 기능

 

설명

자유게시판 페이지에서 게시글 검색 시 사용되는 search 파라미터에서 SQL 명령어 삽입 가능한 취약점 발견

 

위치

URL : http://ctf.segfaulthub.com:5498/search_result.php?catgo=&search=

파라미터 : search

 

취약점 검증 방법

search 파라미터에 %' #를 입력하여 SQL 명령어를 삽입 가능하다는 것을 확인하고 %' union select 1,2,3,4,5,6,7,8 #를 입력했더니 게시글에 출력되는 것으로 보아 Union Based SQL 공격으로 DB 데이터 추출이 가능함

 

증적 사진

 

 

002 악성파일 업로드

 

1) 게시글 작성 기능

 

설명

자유게시판 게시글 작성 페이지에서 Server Side Script 파일을 업로드하여 웹상에서 실행시킬 수 있는 취약점 발견

 

위치

URL : http://ctf.segfaulthub.com:5498/write_ok.php

파라미터 : SelectFile

 

취약점 검증 방법

자유게시판 게시글 작성할 때 첨부 파일 등록 시 SelectFile 파라미터 값에서 Server Side Script 파일의 확장자를 검증하지 않아 Server Side Script 파일을 업로드 가능하며 파일을 등록한 게시글의 다운로드 버튼 위로 커서를 올리면 첨부한 파일의 저장된 경로를 알 수 있고 이를 이용하여 업로드한 Server Side Script 파일을 웹상에서 실행시킬 수 있다.

 

증적 사진

 

 

2) 게시글 수정 기능

 

설명

자유게시판 게시글 수정 페이지에서 Server Side Script 파일을 업로드하여 웹상에서 실행 시킬 수 있는 취약점 발견

 

위치

URL : http://ctf.segfaulthub.com:5498/update.php

파라미터 : SelectFile

 

취약점 검증 방법

자유게시판 게시글 수정할 때 첨부 파일 등록 시 SelectFile 파라미터 값에서 Server Side Script 파일의 확장자를 검증하지 않아 Server Side Script 파일을 업로드 가능하며 파일을 등록한 게시글의 다운로드 버튼 위로 커서를 올리면 첨부한 파일의 저장된 경로를 알 수 있고 이를 이용하여 업로드한 Server Side Script 파일을 웹상에서 실행시킬 수 있다.

 

증적 사진

 

 

003 부적절한 이용자 인가 여부

 

1) 공지사항 게시글 작성

 

설명

공지사항에 게시글을 작성할 권한이 없는 사용자가 게시글을 작성할 수 있는 취약점 발견

 

위치

URL : http://ctf.segfaulthub.com:5498/write_ok.php

파라미터 : board_id

 

취약점 검증 방법

자유게시판에서 글쓰기 버튼을 눌러 글 작성 페이지로 들어간다. 제목과 내용에 임의의 내용을 입력하고 프록시툴에서 인터셉트를 대기시켜 놓고 글 작성 버튼을 클릭한다. 그러면 프록시툴에서 인터셉트한 파라미터 중 board_id 파라미터 값을 notice로 변경하면 공지사항에 작성한 게시글이 등록된다.

 

증적 사진

 

 

2) 자유게시판 게시글 수정

 

설명

자유게시판 게시글 작성한 사용자가 아닌 임의의 사용자가 해당 게시글의 제목과 내용을 수정할 수 있는 취약점 발견

 

위치

URL : http://ctf.segfaulthub.com:5498/update.php

파라미터 : idx

 

취약점 검증 방법

자유게시판에서 글쓰기 버튼을 눌러 테스트용 게시글 하나를 작성한다. 그리고 본인이 작성한 자유게시판 게시글 상세정보 페이지로 들어가서 수정 버튼을 클릭 후 변경할 내용을 입력한다. 프록시툴로 인터셉트 대기 시켜놓고 수정 완료 버튼을 눌러준다. 그러면 프록시툴에서 인터셉트한 파라미터 중 idx 파라미터 값을 수정하고 싶은 게시글의 idx로 변경하면 변경한 idx를 가진 게시글의 내용이 수정된다.

 

증적 사진

 

 

3) 자유게시판 게시글 삭제

 

설명

게시글 작성한 사용자가 아닌 임의의 사용자가 해당 게시글을 삭제할 수 있는 취약점 발견

 

위치

URL : http://ctf.segfaulthub.com:5498/delete.php?idx=&board_id=board

파라미터 : idx

 

취약점 검증 방법

자유게시판에서 글쓰기 버튼을 눌러 테스트용 게시글 하나를 작성한다. 그리고 프록시툴로 인터셉트 대기 시켜놓고 본인이 작성한 게시글 상세정보 페이지로 들어가서 삭제 버튼을 클릭한다. 그러면 프록시툴에서 인터셉트한 파라미터 중 idx 파라미터 값을 삭제하고 싶은 게시글의 idx로 변경하면 변경한 idx를 가진 게시글이 삭제된다.

 

증적 사진

 

 

4) 공지사항 게시글 삭제

 

설명

공지사항 게시글 작성한 사용자가 아닌 임의의 사용자가 해당 게시글을 삭제할 수 있는 취약점 발견

 

위치

URL : http://ctf.segfaulthub.com:5498/delete.php?idx=&board_id=notice

파라미터 : idx

 

취약점 검증 방법

자유게시판에서 글쓰기 버튼을 눌러 테스트용 공지사항 게시글 하나를 작성한다. 그리고 프록시툴로 인터셉트 대기 시켜놓고 본인이 작성한 게시글 상세정보 페이지로 들어가서 삭제 버튼을 클릭한다. 그러면 프록시툴에서 인터셉트한 파라미터 중 idx 파라미터 값을 삭제하고 싶은 게시글의 idx로 변경하면 변경한 idx를 가진 게시글이 삭제된다.

 

증적 사진