인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
보안 · 네트워크

/

보안

파일 업로드 취약점 고급 공격 기법 PART2-1 : 파일 업로드 라이브러리 분석과 공격 방법론

웹 해킹의 끝판 대장! 파일 업로드 취약점 공격 기법! 파트1에 이어 파트2 '1편' 교육으로 보다 심화된 고급 기법에 대한 내용을 다룹니다.

(5.0) 수강평 3개

수강생 191명

Thumbnail

중급자를 위해 준비한
[보안] 강의입니다.

이런 걸
배워요!

  • Java 파일 업로드 라이브러리에 대한 이해

  • Java 파일 업로드 라이브러리에 대한 잠재적 보안 위협

파일 업로드 취약점, 고급 기법까지! 
어디서도 보기 힘든 핵심을 전해드립니다. 

파일 업로드 취약점 공격 강의 
드디어, 시리즈 마지막 파트!

📖 모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 시리즈

시리즈에서 배우는 내용 펼쳐보기

PART(1) : 기초 / 실무 공격 / 시큐어 코딩

파일 업로드 취약점 공격에서 가장 중요한 내용인, 기존에 알려진 방법과 전혀 다른 접근 방법의 공격 프로세스에 대해 자세히 다루는 교육이며, 공격의 기초 지식부터 실무에서 사용되는 우회 기법들과 실무 사례 분석, 그리고 다양한 대응 방안과 시큐어 코딩을 배울 수 있습니다. 이후 진행될 교육의 기본이 되는 필수 교육입니다.

PART(2) : 고급 공격 기법 / 실무 심화 분석 현재 강의

PART(1)에서 다루지 않은 고급 공격 기법들과 웹 방화벽(Web Application Firewall) 우회 기법들을 교육하며, 실무 환경에서 사용된 테크니컬한 기법들을 실습을 통해 분석하는 교육입니다. 

SKILL-UP : 웹쉘 난독화 기법

오늘날의 웹 환경에서 웹쉘 탐지 솔루션을 사용하는 곳이 점차 늘어나고 있으며, 이에 따라 진단자들은 웹쉘 탐지 솔루션을 우회하기 위한 스킬 정도는 가지고 있어야 합니다. 때문에 실무자들에게는 필수적인 교육이 될 것입니다.

파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 2

파일 업로드 취약점 강의를 마무리하는 마지막 파트!
본 강의는 ‘모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1’ 강의 다음편인 ‘Part 2’ 강의 입니다.

파일 업로드 취약점 공격 Part 2는 총 3편으로 나뉘며, 각 주제는 다음과 같습니다.

Part 2-1 현재 강의

파일 업로드 라이브러리 분석과 공격 방법론

Part 2-2

웹 방화벽 우회를 위한 기본 지식과 테크닉

Part 2-3

다양한 실무 환경에서의 공격 방법론

본 강의는 Part 2의 ‘1편’으로, ‘파일 업로드 라이브러리 분석과 공격 방법론’에 대한 주제를 다룹니다.

✅ 파일 업로드 취약점 공격 Part 1 - Part 2의 차이점

  • Part 1은 파일 업로드 취약점에 대한 개념과 동작 원리, 공격 방법, 실무 사례 예시 그리고 시큐어 코딩에 대해 다룹니다. (기본 개념 및 일반적인 이론)
  • Part 2는 파일 업로드 취약점 공격의 일반적인 공격 메커니즘을 벗어나, 특정 환경에서 발생할 수 있는 다양한 공격 방법론에 대해 살펴봅니다.

어디에서도 들을 수 없는 내용을
강의에 담았습니다!

2023년 9월 기준, 18,000+명의 누적 수강생이 
크리핵티브 웹 해킹 시리즈를 듣고 있습니다.

오늘날 웹 해킹을 배울 수 있는 다양한 경로들이 있습니다. 인프런과 같은 온라인 강의 플랫폼, 오프라인 강의를 들을 수 있는 학원 그리고 검색 엔진 등, 우리가 흔히 보는 경로에서는 대부분 일반적인 내용 위주로 다루기 마련입니다.

그러나 본 강의는 다릅니다. '어디에서도 들을 수 없는 내용'이라 자부합니다!


파일 업로드 취약점 공격 Part 2-1 
학습 내용을 확인해보세요!

💡 본 강의는 Part 2의 1편으로, '파일 업로드 라이브러리 분석과 공격 방법론'을 다룹니다.

안전하다고 알려진 업로드 검증 로직, 과연 안전할까? 

아래 소스코드는 파일 업로드 취약점으로부터 안전하다고 알려진 소스코드입니다. 그렇다면 정말 안전한 코드가 맞을까요?

...
String path = request.getRealPath("/upload");
MultipartRequest multi = new MultipartRequest(request, path, 1024*10*10, "UTF-8");
Enumeration formNames = multi.getFileNames();
while(formNames.hasMoreElements()) {
    String param = (String)formNames.nextElement();
    String uploadFile = multi.getFilesystemName(param);
    int extOffset = uploadFile.lastIndexOf(".");
    String fileExt = uploadFile.substring(extOffset+1).toLowerCase();
    if (!fileExt.equals("jpg") && !fileExt.equals("png") && !fileExt.equals("gif")) {
        File fp = new File(path, uploadFile);
        fp.delete();
        out.println(“<script>alert(‘잘못된 확장자’);history.back(-1);</script>");
        return;
    }
}
...

아닙니다. 해당 소스코드는 '취약한 소스코드'입니다.
이 코드가 취약한 이유, 그리고 이에 대한 공격 방법은 Part 2-1 강의에서 자세히 다룹니다.

더 알아볼까요? 📚

파일 업로드 라이브러리별 케이스 이해

각 파일 업로드 라이브러리에 대해 분석하며, 발생될 수 있는 잠재적 보안 위협 그리고 다양한 케이스에 대해 다룹니다.

보안 위협에 따른 방법론 및 실습

다양한 케이스에 대해 잠재적 보안 위협을 살펴보고 공격 실습을 진행합니다.


정답을 알려주는 강의가 아닙니다,
관점을 넓혀주는 강의입니다!

‘파일 업로드 취약점 Part 2’는 다양한 환경에 대한 파일 업로드 취약점 공격을 성공하기 위한 3편의 강의로 구성되어 있습니다. 그러나 정답을 알려주는 강의가 아닙니다. 본 강의를 수강한다고 해서 모든 환경에서 파일 업로드 취약점 공격에 성공하는 것이 아닙니다. 

본 강의의 목표는 정답을 알려주는 것이 아닌, 관점을 넓혀주는 강의입니다. 다양한 환경에서 취약점이 발생할 수 있다는 걸 학습하게 되면 ‘아, 이렇게도 시도해 볼 수 있구나!’라는 깨우침을 얻게 되며, 나아가 앞으로 있을 진단들에서도 다양한 환경이 존재한다는 걸 ’알고’ 분석할 수 있습니다. 이를 알고 분석하는 것과 모르고 분석하는 것은 하늘과 땅 차이입니다. 

이번 강의를 통해 웹 해킹에 대한 관점을 확실하게 바로잡고, 더 높은 수준으로 여러분의 실력을 끌어올릴 수 있는 초석을 다질 수 있기를 바랍니다!


예상 질문 Q&A 💬

Q. 강의 수강 전 알고 있어야 할 지식이 있나요?

반드시 '파일 업로드 취약점'에 대한 이해가 있으셔야 합니다. 추가적으로 Part 1에서 다루는 내용을 알고 있어야 원활하게 Part 2를 수강하실 수 있을 것 같습니다. 물론 '파일 업로드 취약점'에 대한 이해도가 높으신 분들이라면 수강에 문제가 되지 않을 것 같습니다.

Q. 수강 대상자는 어떻게 되나요?

되도록 '실무자' 분들이 수강하시는 것을 추천드립니다. 혹은 웹 해킹에 대한 이론을 충분히 학습하신 분들, 취업 준비생 분들도 수강하실 수 있습니다.

Q. '파일 업로드 취약점 공격 Part 1'를 반드시 수강해야 하나요?

수강하실 것을 추천드립니다. 파일 업로드 취약점에 대한 이해가 있더라도 파트1에 대한 이해가 없으면, 파트2 내용 중 이해가 되지 않는 부분이 있을 겁니다. 따라서 실무자 분이시더라도 파트1을 먼저 수강하신 후 파트2를 수강하시는 것을 추천드립니다.

Q. Part 2가 3편으로 나뉘던데, 모두 수강해야 할까요?

반드시 3편 모두 수강하실 필요 없습니다. 그러나 다양한 실무 환경에 대한 공격 방법론을 알고 싶을 경우 3편 모두 수강하시는 것을 '적극' 추천드립니다.

Q. Part 2는 3편 순서대로 수강해야 될까요?

꼭 그럴 필요 없이 원하는 것 위주로 먼저 수강하셔도 되긴 합니다. 다만, 3편의 강의를 순서대로 제작하였기 때문에 아무래도 순차적으로 수강하시는 것이 흐름상 좋을 것이라 판단이 됩니다.


수강 전 참고 사항 📢

본 강의는 웹 기술과 웹 해킹에 대한 이해가 있는 상태에서 수강하시는 것을 추천드립니다. 그리고 크리핵티브의 웹 해킹 강의 시리즈 중 '파일 다운로드 취약점 공격', '파일 업로드 취약점 공격 Part 1' 강의를 먼저 수강하시기를 권장합니다.

필수 시청 강의

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 현업에서 모의해킹 혹은 취약점 진단을 하고 있는 실무자

  • 취업 준비생

선수 지식,
필요할까요?

  • 웹 기술

  • 웹 해킹 기초

  • 파일 다운로드 취약점 지식

  • 파일 업로드 취약점 지식

안녕하세요
크리핵티브입니다.

수강생 수

23,483

수강평 수

1,160

강의 평점

4.9

강의 수

18

:: 국내 정보보안 솔루션 개발 기업 재직 ::
- 앱 위변조 방지 솔루션 : 미들웨어 담당 / 해킹 대회 운영진 / 국내 유명 해킹/방어 훈련장 제작

:: 국내 정보보안 전문 업체 재직 ::
- 블랙박스 모의해킹 / 시나리오 기반 모의해킹 / 웹 취약점 진단 / 모바일 취약점 진단 / 소스코드 취약점 진단 / APT 모의 훈련 / DDoS 모의훈련 / 인프라 진단 / 스마트 가전 진단
- 국내 대기업, 중소기업 다수 진단

:: 외부 교육 및 활동 ::
- 멀티캠퍼스, 국가 보안 기술 연구소(ETRI)
- 국내 정보보안 업체 : 재직자 대상 "웹 모의해킹 심화 교육" 진행중
- 해커팩토리 문제 제작

:: 취약점 발견 ::

1) Web Application Server 취약점
- TMAX JEUS : 원격 명령어 실행 취약점(Remote Command Execution Vulnerability)
- IBM WebSphere(CVE-2020-4163) : 원격 명령어 실행 취약점(Remote Command Execution Vulnerability)

2) CMS(Contents Management System) 취약점
- 네이버 스마트에디터 : 파일 업로드 취약점
- 그누보드 : SQL Injection , 파일 업로드 취약점(그누보드4, 그누보드5), XSS ...
- 킴스큐 : 파리미터 변조 취약점 , 파일 업로드 취약점

* 이메일 : crehacktive3@naver.com
* 블로그 : http://www.crehacktive.co.kr

커리큘럼

전체

31개 ∙ (2시간 24분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!