Psalm

fileupload 취약점 본문

보안공부/웹 해킹

fileupload 취약점

hkhkhkh 2024. 5. 25. 23:43
반응형

 

flask로 파일 업로드 할 수 있는 사이트를 간단히 구축

 

 

이렇게 원하는 파일을 서버에 업로드 할 수 있음

 

취약점: ./uploads/ + f.filename 코드처럼 파일 이름에 대한 검증이 없어 취약점이 발생. 만약 파일 이름에 “../” 이런 문자가 들어가면 원하는 경로에 파일 업로드 가능

 

 

처음에 파일 이름에 “../” 문자를 집어 넣으려 했지만, 운영체제 자체에서 막음

그래서 burp suite로 요청 패킷을 가로채 거기서 수정

 

<수정전>

<수정후>

 

 

파일 업로드가 끝나고, 로컬에서 보면 

 

 

이렇게 uploads 경로가 아닌 home 경로에 파일이 생긴걸 확인할 수 있음

 

취약점 예방 방법:

 

먼저 파일 이름에 메타 문자가 들어갈 수 없게 제한시켜야하고, 메타문자가 포함되어 있으면 서버에서 막을 수 있도록 해야한다. 또한 업로드 된다 해도 특정 경로에만 파일을 업로드할 수 있게 설정해야한다.(물론 특정 경로에 파일을 덮어씌울 수 없게도 해야하고, 중요한 파일이 없어야됨)



반응형
Comments