본문 바로가기
Hacking/WebHacking.kr

Webhacking.kr : old-41 (250 pt)

by newbie22 2021. 1. 27.

 

문제에 접속하면 다음과 같은 화면이 나타납니다.

< 문제 모습 >

-> 파일 업로드 관련 문제입니다.

-> source가 주어집니다.

 

코드는 다음과 같습니다.

< source >

-> error을 출력해줍니다.

-> 파일 이름에서 .  <  >  \ 을 필터링합니다.

-> error 출력을 통하여 $upload_dir을 추출해야 하는 문제 같습니다.

 

 

-> 파일 선택 없이 그냥 upload를 클릭하면 위처럼 에러 문구가 발생하였습니다. 

 

따라서 php copy error를 검색했습니다.

-> stackoverflow.com/questions/5175244/php-copy-error

 

PHP copy() error

I'm getting error while using php function copy() Warning: copy() [function.copy]: Couldn't resolve host name in Warning: copy(http://www.foodtest.ru/images/big_img/sausage_3.jpg) [

stackoverflow.com

failed to open stream : ~~ 에러가 발생하면 디렉터리를 출력해줄 거라고 생각하였습니다. 

 

php copy warning, php copy failed to open stream 종류 등등 검색해보았지만 file 또는 directory 문제이거나 권한 문제에 대해 이야기하고 있었습니다. 

-> 이 것들은 어떻게 할 수 없는 부분이라 다른 방식으로 검색어를 바꿨습니다.

 

"리눅스 파일 이름 제한"으로 검색하였습니다.

webdir.tistory.com/460

 

크로스 플랫폼을 위한 파일이름 규칙

대부분의 경우 다른 드라이브 포맷 및 운영 체제와 파일을 공유할 때 아무 문제도 나타나지 않습니다. 예를 들어 OS X은 호환성을 높이기 위해 파일 이름에 파일 확장자를 자동으로 추가하기도

webdir.tistory.com

 

해당 글에 따라 특수문자로 했을 때 에러 발생하지 않고 단순히 Done~~!! 문구만 나타났습니다.

 

따라서 길이 제한을 이용하여 시도해보았습니다.

 

< 획득 >

-> 피들러로 패킷을 잡아서 파일 이름을 a*769으로 바꿔서 보냈습니다. (파일 길이 255자 제한이라고 했지만 혹시나 해서 엄청 크기 해서 보냈습니다.)

-> $upload_dir 값을 획득하게 되었습니다.

 

따라서 이번에 정상적인 파일의 이름을 업로드 후에 해당 파일로 이동하였더니 flag를 획득하였습니다.

 

 

 

끝~~

 

 

'Hacking > WebHacking.kr' 카테고리의 다른 글

Webhacking.kr : old-51 (250 pt)  (0) 2021.02.08
Webhacking.kr : old-43 (250 pt)  (0) 2021.01.28
Webhacking.kr : old-21 (250 pt)  (0) 2021.01.27
Webhacking.kr : old-12 (250 pt)  (0) 2021.01.27
Webhacking.kr : old-10 (250 pt)  (0) 2021.01.27