Kỹ thuật tấn công nâng cao lỗ hổng tải tệp lên PART2-1: Phân tích thư viện tải tệp lên và phương pháp tấn công
Trùm cuối của hack web! Kỹ thuật tấn công lỗ hổng File Upload! Tiếp nối phần 1, nội dung đào tạo phần 2 'tập 1' này sẽ đề cập đến các kỹ thuật nâng cao chuyên sâu hơn.
Sẽ tốt hơn nếu một tệp ví dụ được đưa vào phiên bản dễ bị tấn công để tài liệu khóa học có thể được thực hành ngay lập tức bằng cách xây dựng một môi trường thực. Tệp ví dụ có thể được tải xuống làm tài liệu khóa học là phiên bản đã được loại bỏ lỗ hổng.
5.0
학습자
10% đã tham gia
Tôi đang học những lớp tốt. Cảm ơn
5.0
구운고구마
100% đã tham gia
Tôi đã tham gia tất cả các khóa học này trong kỳ nghỉ lễ Chuseok. Tôi rất thích phần giải thích chi tiết và cách thực hành về thư viện tải tệp lên và quan điểm của tôi về Spring Framework đã thay đổi. Tôi đang thực hành hack mô phỏng và điều đó thật tốt vì có rất nhiều bài tập mà tôi có thể áp dụng ngay. Cảm ơn bạn đã tạo ra một khóa học tuyệt vời.
Bạn sẽ nhận được điều này sau khi học.
Tìm hiểu về thư viện tải tệp lên (file upload) trong Java
Mối đe dọa bảo mật tiềm ẩn đối với thư viện tải tệp lên trong Java
Lỗ hổng tải lên tệp tin, đến cả những kỹ thuật nâng cao! Chúng tôi sẽ truyền tải những nội dung cốt lõi mà bạn khó có thể tìm thấy ở bất cứ đâu.
Bài giảng về lỗ hổng tấn công tải lên tệp (File Upload) Cuối cùng, phần cuối của loạt bài!
📖 Chuỗi bài giảng về tấn công lỗ hổng File Upload, được chia sẻ bởi chuyên gia thực tế về Pentest
시리즈에서 배우는 내용 펼쳐보기
PHẦN(1): Cơ bản / Tấn công thực tế / Lập trình an toàn
Đây là khóa đào tạo đi sâu vào quy trình tấn công với phương pháp tiếp cận hoàn toàn khác biệt so với các phương pháp đã biết trước đây - nội dung quan trọng nhất trong tấn công lỗ hổng File Upload. Bạn có thể học từ những kiến thức cơ bản về tấn công đến các kỹ thuật vượt rào được sử dụng trong thực tế, phân tích các trường hợp thực tế, cũng như các phương án ứng phó đa dạng và lập trình an toàn (secure coding). Đây là khóa học bắt buộc, làm nền tảng cho các chương trình đào tạo tiếp theo.
PHẦN(2) : Kỹ thuật tấn công nâng cao / Phân tích chuyên sâu thực tế Bài giảng hiện tại
Đây là khóa đào tạo về các kỹ thuật tấn công nâng cao và kỹ thuật vượt qua tường lửa ứng dụng web (Web Application Firewall) chưa được đề cập trong PHẦN(1), đồng thời phân tích các kỹ thuật chuyên môn được sử dụng trong môi trường thực tế thông qua thực hành.
SKILL-UP: Kỹ thuật làm rối mã nguồn Webshell
Trong môi trường web ngày nay, số lượng nơi sử dụng các giải pháp phát hiện webshell đang dần tăng lên, do đó, các chuyên gia đánh giá bảo mật cần phải sở hữu kỹ năng vượt qua các giải pháp phát hiện này. Vì vậy, đây sẽ là một khóa đào tạo thiết yếu dành cho những người đang làm việc trong ngành.
Kỹ thuật tấn công lỗ hổng File Upload và phân tích trường hợp thực tế: PHẦN 2
Các phương pháp tấn công trong nhiều môi trường thực tế khác nhau
Bài giảng này là 'Phần 1' của Part 2, đề cập đến chủ đề ‘Phân tích thư viện tải lên tệp và phương pháp tấn công’.
✅ Sự khác biệt giữa Tấn công lỗ hổng File Upload Phần 1 - Phần 2
Phần 1 đề cập đến khái niệm và nguyên lý hoạt động, phương pháp tấn công, ví dụ thực tế và lập trình an toàn đối với lỗ hổng tải tệp lên. (Khái niệm cơ bản và lý thuyết chung)
Part 2 sẽ xem xét về các phương pháp tấn công đa dạng có thể xảy ra trong các môi trường cụ thể, vượt ra ngoài các cơ chế tấn công thông thường của lỗ hổng tải lên tệp tin (file upload).
Nội dung không thể nghe thấy ở bất cứ đâu khác đã được đưa vào bài giảng!
Tính đến tháng 9 năm 2023, đã có hơn 18,000+ học viên tích lũy đang theo học chuỗi bài giảng hack web của CreHactive.
Ngày nay, có rất nhiều con đường khác nhau để học về web hacking. Từ các nền tảng bài giảng trực tuyến như Inflearn, các học viện cung cấp khóa học trực tiếp cho đến các công cụ tìm kiếm, hầu hết những kênh phổ biến mà chúng ta thường thấy đều có xu hướng chỉ tập trung vào những nội dung mang tính chất phổ thông.
Tuy nhiên, khóa học này thì khác. Tôi tự tin rằng đây là 'nội dung mà bạn không thể nghe thấy ở bất cứ đâu khác'!
Tấn công lỗ hổng File Upload Phần 2-1 Hãy kiểm tra nội dung học tập!
💡 Bài giảng này là phần 1 của Part 2, nội dung đề cập đến 'Phân tích thư viện tải lên tệp và phương pháp tấn công'.
Logic kiểm tra tải lên được cho là an toàn, liệu có thực sự an toàn?
Mã nguồn dưới đây được biết đến là mã nguồn an toàn trước các lỗ hổng tải lên tệp tin (file upload). Vậy thì, liệu đây có thực sự là mã nguồn an toàn không?
...
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(‘Phần mở rộng không hợp lệ’);history.back(-1);</script>");
return;
}
}
...
Không phải vậy. Đoạn mã nguồn này là 'mã nguồn có lỗ hổng'. Lý do tại sao mã này có lỗ hổng và phương pháp tấn công tương ứng sẽ được trình bày chi tiết trong bài giảng Part 2-1.
Tìm hiểu thêm nhé? 📚
Hiểu các trường hợp theo từng thư viện tải lên tệp
Phân tích từng thư viện tải lên tệp (file upload), đồng thời đề cập đến các mối đe dọa bảo mật tiềm ẩn có thể xảy ra và các trường hợp đa dạng khác nhau.
Phương pháp luận và thực hành theo các mối đe dọa bảo mật
Chúng tôi sẽ xem xét các mối đe dọa bảo mật tiềm ẩn đối với nhiều trường hợp khác nhau và tiến hành thực hành tấn công.
Đây không phải là bài giảng cho bạn biết đáp án, mà là bài giảng giúp bạn mở rộng góc nhìn!
'Lỗ hổng File Upload Phần 2' bao gồm 3 bài giảng nhằm thực hiện thành công các cuộc tấn công khai thác lỗ hổng tải tệp lên trong nhiều môi trường khác nhau. Tuy nhiên, đây không phải là bài giảng đưa ra đáp án có sẵn. Việc tham gia khóa học này không đồng nghĩa với việc bạn sẽ thành công trong mọi cuộc tấn công lỗ hổng tải tệp lên ở mọi môi trường.
Mục tiêu của bài giảng này không phải là đưa ra câu trả lời chính xác, mà là một bài giảng giúp mở rộng góc nhìn. Khi bạn học được rằng các lỗ hổng có thể xảy ra trong nhiều môi trường khác nhau, bạn sẽ nhận ra rằng "À, mình cũng có thể thử theo cách này!", và hơn thế nữa, bạn có thể phân tích các lần đánh giá trong tương lai khi đã 'biết' rằng có nhiều môi trường đa dạng tồn tại. Việc phân tích khi đã biết điều này và khi không biết là một sự khác biệt trời vực.
Tôi hy vọng thông qua bài giảng lần này, các bạn có thể định hình lại quan điểm về web hacking một cách rõ ràng và đặt nền móng vững chắc để nâng cao kỹ năng của mình lên một tầm cao mới!
Câu hỏi thường gặp Q&A 💬
Q. Có kiến thức nào cần biết trước khi tham gia khóa học không?
Bạn nhất định phải có sự hiểu biết về 'lỗ hổng File Upload'. Ngoài ra, bạn cần phải nắm rõ các nội dung đã được đề cập trongPart 1 thì mới có thể theo học Part 2 một cách suôn sẻ. Tất nhiên, nếu bạn là người có mức độ hiểu biết cao về 'lỗ hổng File Upload' thì việc theo học sẽ không thành vấn đề.
Q. Đối tượng học viên là những ai?
Tôi thực sự khuyên các bạn là 'người đang đi làm thực tế' nên tham gia khóa học này. Hoặc những người đã học đủ lý thuyết về hack web, các bạn đang chuẩn bị xin việc cũng có thể tham gia khóa học.
Tôi khuyên bạn nên tham gia khóa học này. Ngay cả khi bạn đã có hiểu biết về lỗ hổng tải tệp lên (File Upload Vulnerability), nếu không nắm vững nội dung ở Phần 1, có thể sẽ có những phần trong Phần 2 mà bạn không hiểu được. Do đó, ngay cả khi bạn là người đã đi làm, tôi vẫn khuyên bạn nên học xong Phần 1 trước khi bắt đầu Phần 2.
Q. Phần 2 được chia thành 3 tập, tôi có cần phải học hết tất cả không?
Bạn không nhất thiết phải học hết cả 3 phần. Tuy nhiên, nếu bạn muốn biết về các phương pháp tấn công trong nhiều môi trường thực tế khác nhau, tôi 'nhiệt liệt' khuyên bạn nên học cả 3 phần.
Q. Có nhất thiết phải học Phần 2 theo đúng thứ tự 3 tập không ạ?
Không nhất thiết phải như vậy, bạn hoàn toàn có thể chọn học những nội dung mình muốn trước. Tuy nhiên, vì bộ 3 bài giảng này được xây dựng theo trình tự, nên việc học lần lượt theo thứ tự sẽ giúp bạn nắm bắt mạch kiến thức tốt hơn.
Lưu ý trước khi học 📢
Khóa học này được khuyến nghị dành cho những người đã có hiểu biết về công nghệ web và tấn công web. Ngoài ra, tôi khuyên bạn nên học các khóa học 'Tấn công lỗ hổng tải xuống tệp' (File Download Vulnerability Attack) và 'Tấn công lỗ hổng tải lên tệp Phần 1' (File Upload Vulnerability Attack Part 1) trong loạt bài giảng về tấn công web của CreHactive trước.
Dựa trên kinh nghiệm nhiều năm nghiên cứu và đánh giá các dịch vụ web đa dạng, tôi đã và đang chia sẻ những kiến thức có thể áp dụng ngay vào thực tế trên nền tảng Inflearn.
Tôi đã tham gia tất cả các khóa học này trong kỳ nghỉ lễ Chuseok. Tôi rất thích phần giải thích chi tiết và cách thực hành về thư viện tải tệp lên và quan điểm của tôi về Spring Framework đã thay đổi. Tôi đang thực hành hack mô phỏng và điều đó thật tốt vì có rất nhiều bài tập mà tôi có thể áp dụng ngay. Cảm ơn bạn đã tạo ra một khóa học tuyệt vời.
Sẽ tốt hơn nếu một tệp ví dụ được đưa vào phiên bản dễ bị tấn công để tài liệu khóa học có thể được thực hành ngay lập tức bằng cách xây dựng một môi trường thực. Tệp ví dụ có thể được tải xuống làm tài liệu khóa học là phiên bản đã được loại bỏ lỗ hổng.