일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 가상머신 os
- ModuleNotFoundError: No module named ‘requests’
- UTM
- btmp
- docker compose
- utmp
- Error Based SQL Injection
- Kail Linux
- mocOS
- goblin 3번
- SQL i
- sqli
- 1819 (HY000):
- Lord of SQLinjection
- 우분투
- Lord of SQL Injection
- LOS 5번
- los.rubiya.kr
- SQLi wargame
- No module named ‘requests’
- str_replace함수
- Union SQL Injection
- 2002(HY000)
- XAVIS
- blind SQLi
- sql injection
- M2
- ubuntu
- MySQL
- Python requests 설치
- Today
- Total
klaus
[week_9] 파일 업로드(File Upload) 취약점 본문
0. 들어가기
오버로딩 : 같은 이름의 함수(메서드)를 여러 개 정의하고 매개변수의 유형과 개수를 다르게 설정하여 다양한 유형의 호출 응답을 가질 수 있도록 하는 기술 (== 새로운 메서드 정의)
오버라이딩 : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용하는 기술(==상속받은 메서드의 내용만 변경)
1. 파일 업로드 취약점
공격자가 웹사이트의 파일 업로드 기능을 악용하여 인가받지 않은 파일을 서버에 임의로 업로드할 수 있는 취약점
[-] 발생 가능한 위치
게시판, 서류제출, 프로필 사진 및 업데이트
==> 파일을 선택하고 올릴 수 있는 모든 곳에서 발생 가능
[+] 공격 시나리오
1. 웹 서버에 실행 가능한 파일 업로드(웹 셀)
2. deface 공격
<?php echo system($_GET['cmd']);?>
링크 경로 확인 방법
1) 마우스 오른쪽 클릭하여 주소 확인
2) 마우스를 업로드한 파일 위에 올려놓을 경우 하단에 표기됨(일부 웹 브라우저에서만 확인 가능)
3) 프로그램(Burp Suote)을 활용하여 경로 확인 가능
4) 크롬의 경우 개발자 도구(option+command+i)
2. 우회 기법
1) 파일 검증 우회
Content type을 확인해서 확장자 변경
2) 확장자 검증
개발자들이 막아놓은 파일 확장자를 우회!
구글에서 web shell (언어)를 검색
PHp처럼 대소문자 구분도 가능
.php%00.jpg와 같은 특수문자를 사용
(%00,%zz)는 종단 문자(\0,NULL)이며, 파일 서버가 리눅스 시스템일 경우 우회하는 기법으로 사용된다고 합니다.
파일 업로드시 서버에서 확장자 체크를 할 때 종료문자로 인식하여 뒷부분을 날려버림!
즉, 주석처리와 비슷한 방법
3) 서버측 파일 오버라이드
.htaccess활용
.htaccess이란?
먼저 , .이 있다는 것은 시스템파일 또는 숨김파일이라고 할 수있다.htaccess는 hypertext acces의 약자
4) 파일 시그니쳐
파일마다 헤더 값이 있는데 헥스에디터를 사용하여 확인가능
5) 파일 업로드를 따른 매서드를 이용
6. 개발자의 실수 + 클라이언트 측에서 검증할 경우 발생!!!.
'수업 > 모의해킹' 카테고리의 다른 글
[week_10] File Include VS File Download 취약점 (0) | 2022.12.17 |
---|---|
[week_8] CSRF - 2 (feat. 문제풀이) (0) | 2022.12.12 |
[week_7] CSRF-1 (0) | 2022.12.11 |
[week_6] XSS (0) | 2022.11.25 |
[week_5] ClientSide : XSS (Cross Site Scripting) (0) | 2022.11.13 |