Get Flag File 2편 풀이

황인환·2024년 7월 31일

취약페이지

URL
http://URL/download_2/download.php

취약점 종류

파일다운로드 취약점
http://URL/download_2/download.php?filePath=/sss/test.png에서 dowload.php로 어떤데이터를 전달해주는 웹요청 발견

취약점 찾기

1. 다운로드 경로파악

1.1 파일업로드

평범한 png파일 업로드

업로드결과

1.2 경로확인

우클릭 경로확인붙여넣기

1.3 Burp Suite에서 확인

Burp Sutie

2. 파일다운로드 TEST

download.php에 특정 파라미터 값을 보내주고 있음

2-1 현재폴더에서 index.php다운로드

결과

2-2 상위폴더에서 index.php다운로드

결과

-상위폴더와 하위폴더의 차이가 없음 필터링예상

3. Filtering 우회

../상위 폴더로 가는 명령어 필터링 예상
필터링 예상하여 /.../...//index.php

결과
  • index.php 불러오기 성공

4. flag찾기

검색에서 flag입력

결과
  • flag찾기 성공

5. 각종실패모음

5-1 URL인코딩

/../../를 URL인코딩하여 %2F..%2F..%2Findex.php입력

결과

-> 실패 ->url인코딩은 똑같이 받아드린다 -> 의미없음

5-2 웹쉘업로드

<?php system($_GET['cmd']); ?> 를 포함한 test.php 업로드

test.php결과

-> 실패 -> 스크립트 측 실행언어 필터링예상

5-3 확장자변경

확장자의 이름을 대소문자로 바꾸거나 유사한 기능을하는 확장자로 변경

test.pHp결과
test.Phtml

-> 부분 모두 필터링예상

5-4 Stored XSS

form태그 삽입

-> 우클릭 inspect로 html참고
-> xss 취약점 찾는 것은 생략
스크립트

<form action="notice_write_process.php" method="POST" enctype="multipart/form-data">
<input type="text" value="XSS" name="create_title">
<input type="text" value="XSS" name="create_body">
<input type="file" name="upload_file">
<input type="submit" value="submit">
</form>
코드삽입
코드삽입후 게시글

test.php 업로드

-> form태그 삽입할때 form태그자체 필터링제거 했기 때문에 가능

업로드결과

-> 업로드 성공

업로드 결과를 Burp Suite에서 명령어와 함께 확인

결과
  • 실패
    -> 저장폴더에 권한이 없는 것으로 추정

상위폴더에 저장

../를 사용하여 상위 폴더에 저장

파일이름을 /../로 변경
경로확인
  • 실패 -> 경로가 바뀌지 않았음

0개의 댓글