Psalm

파일 업로드시 enctype으로 인코딩하면 안되는 이유 본문

보안공부/웹 해킹

파일 업로드시 enctype으로 인코딩하면 안되는 이유

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

만약 <form> 태그에 enctype 속성으로 application/x-www-form-urlencoded값으로 설정해 파일을 전송시키면 파일 데이터가 손상될 수 있다. 

 

application/x-www-form-urlencoded는 URL 인코딩 방식으로 변환한다. 공백은 ‘+’문자로 특수 문자는 16진수 형식으로 변환된다.

 

파일 데이터는 단순 텍스트가 아닌 다양한 바이너리 데이터가 포함되어 있기 때문에 URL 인코딩 방식을 사용하면 데이터가 손실될 수 있다.

 

파일 업로드 할 때 파일에 대한 메타 데이터도 함께 전송되는데,인코딩 되기 때문에 이런 메타데이터를 전송할 수 없다.



 

 

form 태그 속성으로 enctype에  application/x-www-form-urlencoded 값을 넣어주고, 진행을 해봤더니 서버에서 인식할 수 없었다.

 

multipart/form-data 속성으로 정상적으로 파일을 업로드하면 아래와 같이 바운더리 별로 업로드한 파일의 데이터가 표시된다.


반응형

'보안공부 > 웹 해킹' 카테고리의 다른 글

xss filtering bypass - 활성 하이퍼링크  (0) 2024.06.06
xss-filtering-bypass 실습  (0) 2024.06.05
fileupload 취약점  (0) 2024.05.25
flask activate python debugger(dreamhack XSS-1)  (0) 2024.05.25
CSRF & XSS 차이  (0) 2024.05.25
Comments