php (14) 썸네일형 리스트형 [File Vuln] CTF - Get Flag File2 문제풀이 확장자를 png로 하는 웹쉘을 업로드한 후 해당 게시글에 접근해서 코드를 확인해보니 [File Vuln] CTF - Get Flag File 문제풀이 게시글에 임의의 파일을 업로드하고 다운로드 링크 주소 복사를해서 확인해보니 아래와 같이 filePath로 파일이 저장된 일부 경로를 받아서 download.php 페이지를 이용하여 다운로드 하고 있었다. filePath 경로를 조작해서 php의 기본 파일인 index.php을 찾아갔다. 소스코드를 확인해보니 플래그가 주석처리 되어있었다. 추가로 리눅스의 중요 파일인 passwd 파일을 받기 위해 경로를 조작해봤다. (../ 를 계속 추가해서 경로를 거슬러 올라감) 시스템 사용자 정보도 획득했다. 경로 조작으로 쉽게 소스코드 탈취가 가능했다. 이 경우 생각해볼 수 있는 보안 방법은 ../ 필터링을 하거나 아니면 더 확실하게 파일을 웹 서버가 아닌 DB에 저장해두는 방법이 있다. 파일 업로드 취약점이란? (정의, 발생 원인, 발생 위치, 공격 핵심, 우회 방법 ) 파일 업로드 취약점이란? : 웹 페이지의 파일 업로드 기능을 이용해서 공격자가 원하는 임의의 파일을 업로드할 수 있는 취약점 공격자는 서버 측 스크립트(php, asp, jsp 등)를 이용해서 웹쉘을 제작하여 업로드한다. 이를 이용하여 서버에 침투하여 권한을 상승하고 서버를 장악할 수 있다. 이 공격도 역시 주요정보통신기반시설 취약점 점검 가이드에서 찾아볼 수 있다. 1. 발생 원인 서버에서 파일을 업로드 받을 때 확장자를 검증하지 않음 2. 발생 위치 파일을 업로드할 수 있는 모든 곳 ex) 게시판, 프로필 사진, 서류 제출란 등 3. 파일 업로드 공격의 핵심 이 공격의 가장 핵심은 서버에 우리가 원하는 코드를 실행할 수 있다는 것이다. 그러기 위해서는 1) 웹 서버 측 실행 코드를 업로드할 수 있어야.. [php/mysql] 마이페이지 구현하기 (+ 개인정보 수정) 구현된 마이페이지 [mypage.php] [php/mysql] 게시판 글 삭제 구현하기 가장 간단한 삭제 페이지다 이제야 비로소 글 작성, 보기, 수정, 삭제 모두 구현이 완료되었다 [delete.php] [php/mysql] 게시판 글 수정 구현하기 글 수정 페이지는 글 작성 페이지와 구현이 비슷하니 참고하면 좋을 듯 하다! [php/mysql] 게시판 글 작성 구현하기 게시글을 저장하기 위한 db의 board 테이블이다. 간단히 인덱스 번호, 작성자 이름, id, 제목, 내용, 작성 날짜만 저장되도록 했다. [blank.js] function ch_blank() { const title = document.getElementById("title"); const studysteadily.tistory.com [modify.php] 게시글 수정 작성자 제목 [php/mysql] 게시판 글 읽기 구현하기 글 읽기 구현은 생각보다 간단했다. 따로 데이터를 처리하는 php 파일이 필요 없고, 기존의 로그인과 회원가입 페이지에서 썼던 css만 조금 수정을 해주었다. 코드는 여기 를 참고했다. [read.php] 작성자 목록 [php/mysql] 게시판 글 작성 구현하기 게시글을 저장하기 위한 board 테이블이다. [write.php] 게시글 작성 작성자 제목 내용 이전 1 2 다음