작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
102
·
수정됨
0
안녕하세요 크리핵티브님 다름이 아니라, 실무 사례 분석 - upload_prob 7 강의 들으면서 궁금한 게 있어 질의드립니다.
$uploadFile = $_POST["oldfile"];
의 값을 파일 다운로드 취약점 값 변조하여 다운로드 받는 것 까진 이해되었습니다.
이 때 궁금한 점은
$query = "update {$tb_name} set title='{$title}', writer='{$writer}', content='{$content}', file='{$uploadFile}', regdate=now(), gubun='{$gubun}' where idx={$idx}";
action.php에서 ../../index.html이 수정 페이지에서 요청한 writer, content으로 update 되어진 index.html이 다운로드가 아닌 기존 index.html이 다운로드 되는 이유가 무엇인지 궁금합니다!
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 초보안님 질문에 답변 드리겠습니다.
질문하신 부분은 SQL 쿼리와 파일 다운로드 관련한 두 가지 측면에서 볼 수 있습니다. 기존의 index.html
파일이 다운로드된다는 것은, update
쿼리 실행 후에 해당 파일이 바로 업데이트되지 않았기 때문일 가능성이 높습니다. 이는 여러 가지 이유에서 발생할 수 있습니다.
쿼리의 즉시성 여부: update
SQL 쿼리가 실행되었지만, 그 결과가 파일시스템에 바로 반영되지 않을 수 있습니다. 데이터베이스의 내용이 변경되었더라도 파일 시스템의 파일은 데이터베이스 변경 이후 다시 생성되거나 수정이 필요합니다. 이 경우 파일 시스템 리프레시가 필요할 수 있습니다.
캐싱 문제: 웹 서버나 브라우저 수준에서 어떤 캐싱이 되어 있을 경우에도 이전 상태의 파일이 제공될 수 있습니다. 따라서 브라우저의 캐시를 비우거나, 서버 캐시가 설정되어 있으면 해당 설정을 점검해보시기 바랍니다.
잘못된 경로 지정: 업데이트된 파일이 저장될 경로가 잘못 지정되어 있을 수 있습니다. 데이터베이스와 연동되는 쿼리에서 파일 경로가 올바르게 지정되어 있는지 확인이 필요합니다.
관련된 질문을 다룬 유사한 게시물을 몇 개 첨부드립니다:
PHP 파일 업로드 및 다운로드 예제: 이 질문은 PHP에서의 파일 업로드와 다운로드 시에 발생할 수 있는 일반적인 문제점과 해결책을 다룬 사례입니다.
파일 다운로드 취약점: 이 질문에서는 전체적인 파일 다운로드 취약점에서 발생할 수 있는 문제를 설명합니다.
위의 링크를 통해서 각 상황에 맞는 해결 방안을 찾아볼 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.