반응형

You must upload webshell and cat /flag라는 메세지와 함께 파일을 업로드 할수있다.


대놓고 shell파일을 올려 cat /flag를 실행하고 한다.


php파일로 만들어준다


<?php

system("cat /flag");

?>


올려본다.


wrong type이라는 메세지와 함께 타입이 잘못됫다고 나온다.


burp suit를 이용해 패킷을 잡아보자


Content-Disposition: form-data; name="file"; filename="test.php"

Content-Type: application/octet-stream



패킷을 잡아보면 content-type 부분도 같이 보내고 있다.


content-type에 대한 설명

https://dololak.tistory.com/130


옥텟 스트림은 이름에서처럼 8비트 단위의 바이너리 데이터를 의미합니다.

특별히 표현할 수 있는 프로그램이 존재하지 않는 데이터의 경우 기본값으로 octet-stream을 사용합니다.

Content-Disposition 헤더를 attachment 로 줌으로써 해당 데이터를 수신받은 브라우저가 파일을 저장 또는 다른이름으로 저장 여부를 설정하게 할 수 있습니다.

그러나 모든 데이터에 대해 octet-stream 타입을 남용하는 것은 권장하지 않는다라고 위사이트에서는 말하고 있다.


content-type부분을 필터링 하고있는거 같고 우리가 패킷을 조작할수 있다


Content-Type: 이부분에 아무거나 넣어보자 위에 사이트를 참조하여 넣을수도 있지만 화이트리스트 방식은 아닐거같다. 예상대로 아무값이나 넣어도 업로드 되는것을 알수있다.


이제 업로드한 파일을 실행시켜보면 Flag 값을 얻을수 있다. 


flag 값을 복사하여 auth창에 입력하면 성공!










반응형

'보안 > webhacking' 카테고리의 다른 글

webhacking.kr old-45  (0) 2019.12.06
webhacking.kr old-44  (0) 2019.12.05
webhacking.kr old-42  (0) 2019.12.05
webhacking.kr old-41  (0) 2019.12.05
webhacking.kr old-40  (0) 2019.12.03
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기