인프런 커뮤니티 질문&답변

김동욱님의 프로필 이미지
김동욱

작성한 질문수

모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1

[실습4-6] Null Byte 문자를 통한 다양한 환경에서의 검증 로직 우회 기법 실습

NULL 바이트 질문 드립니다.

해결된 질문

작성

·

629

1

POST ~/upload.php?gubun=aa.php%00 HTTP/1.1

~멀티파트

Content-Disposition: form-data; name="userfile"; filename="test.txt"

위처럼 요청을 보냈는데, 아래와 같이 에러가 발생합니다.

move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move 'C:\APM_Setup\temp\phpF6F8.tmp' to './upload/aa.php\0_test.txt' in <b>C:\APM_Setup\htdocs\file_upload\null_ex1\upload.php

:  move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move 'C:\APM_Setup\temp\php5861.tmp' to './upload/file.php\0_test.txt' in <b>C:\APM_Setup\htdocs\file_upload\null_ex1\upload.php

테스트 해본 결과 gubun에 널바이트(%00)를 삽입 시 에러가 발생합니다.  최근 move_uploaded_file() 함수가 업데이트 되어 널바이트를 에러로 탐지하는 것인지.. 아니면 다른 이유가 있는지 질문드립니다.  

답변 4

1

크리핵티브님의 프로필 이미지
크리핵티브
지식공유자

해결되셨다니 다행입니다!

그리고 빠진 설명을 알게해주셔서 너무 감사합니다!

영상을 채워넣어야 겠네요 ㅎㅎ

1

김동욱님의 프로필 이미지
김동욱
질문자

답변 감사합니다! magic_quotes_gpc=Off 설정으로 해결했습니다.

1

크리핵티브님의 프로필 이미지
크리핵티브
지식공유자

안녕하세요!

혹시 php.ini 에서 magic_quotes_gpc = Off 이 되어 있는지 확인 부탁드립니다.

제가 환경 구축 부분에 해당 내용은 안넣은것 같은데 ,

해당 설정이 On으로 되어 있을 경우 널 바이트 인젝션이 이스케이프 처리가되서 되지 않을 수도 있습니다.

만약, php.ini 에서 magic_quotes_gpc = On 으로 되어 있다면

php.ini 에서 magic_quotes_gpc = Off 로 변경하시고 아파치 재기동을 하시면 해결이 될꺼에요 ㅎ

질문 감사합니다!

1

김동욱님의 프로필 이미지
김동욱
질문자

김동욱님의 프로필 이미지
김동욱

작성한 질문수

질문하기