강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Phân tích các kỹ thuật tấn công vào lỗ hổng khi tải tệp lên và các trường hợp thực tế được giảng dạy bởi một học viên hack giả: PHẦN 1

[Thực hành 5-7] Phân tích các trường hợp thực tế-7

실무 사례 분석 - upload_prob 7 궁금사항 질문

Viết

·

127

·

Đã chỉnh sửa

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이 다운로드 되는 이유가 무엇인지 궁금합니다!

 

 

 

 

모의해킹

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴입니다. 초보안님 질문에 답변 드리겠습니다.

질문하신 부분은 SQL 쿼리와 파일 다운로드 관련한 두 가지 측면에서 볼 수 있습니다. 기존의 index.html 파일이 다운로드된다는 것은, update 쿼리 실행 후에 해당 파일이 바로 업데이트되지 않았기 때문일 가능성이 높습니다. 이는 여러 가지 이유에서 발생할 수 있습니다.

  1. 쿼리의 즉시성 여부: update SQL 쿼리가 실행되었지만, 그 결과가 파일시스템에 바로 반영되지 않을 수 있습니다. 데이터베이스의 내용이 변경되었더라도 파일 시스템의 파일은 데이터베이스 변경 이후 다시 생성되거나 수정이 필요합니다. 이 경우 파일 시스템 리프레시가 필요할 수 있습니다.

  2. 캐싱 문제: 웹 서버나 브라우저 수준에서 어떤 캐싱이 되어 있을 경우에도 이전 상태의 파일이 제공될 수 있습니다. 따라서 브라우저의 캐시를 비우거나, 서버 캐시가 설정되어 있으면 해당 설정을 점검해보시기 바랍니다.

  3. 잘못된 경로 지정: 업데이트된 파일이 저장될 경로가 잘못 지정되어 있을 수 있습니다. 데이터베이스와 연동되는 쿼리에서 파일 경로가 올바르게 지정되어 있는지 확인이 필요합니다.

관련된 질문을 다룬 유사한 게시물을 몇 개 첨부드립니다:

위의 링크를 통해서 각 상황에 맞는 해결 방안을 찾아볼 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Đặt câu hỏi