lOMoARcPSD| 59062190
CHƯƠNG 1: GIỚI THIỆU
1.1. Lý do chọn đề tài
- Trong bối cảnh thế giới ngày càng phụ thuộc vào công nghệ thông tin, việc bảo
vệ an ninh mạng trở thành một trong những ưu tiên hàng đầu. Các mục tiêu tấn
công mạng không ngừng gia tăng đã gây thiệt hại lớn cho nhiều tổ chức, doanh
nghiệp. Do đó, việc khai thác các lỗi hổ và gia tăng độ bảo mật hệ thống trở
thành nỗi dung trung tâm trong nghiên cứu và thực tiễn.
- Bug Bounties và Hackathons là hai hình thức giúp các tổ chức khai thác tối đa
tiềm năng từ cộng đồng bảo mật và lập trình viên. Thông qua các Bug
Bounties, doanh nghiệp có thể nhận diện và khắc phục lỗi hổ nhanh chóng.
Hackathons thì là sân chơi khuyến khích tính sáng tạo, học hỏi, và trao đổi kinh
nghiệm. Trong khuôn khổ này, dirsearch nổi bật như một công cụ khai thác hữu
ích, giúp xác định nhanh chóng các thư mục tiềm ẩn trong website.
- Do vai trò quan trọng này, việc nghiên cứu đề tài Bug Bounties, Hackathons
kèm theo dirsearch sẽ góp phần nâng cao hiệu quả trong các chương trình an
ninh mạng.
1.2. Mục tiêu đề tài
Phân tích vai trò và tầm quan trọng của Bug Bounties và Hackathons trong lĩnh
vực an ninh mạng.
Khám phá cách sử dụng dirsearch để quét thông tin, khai thác các lỗi hổ trong
website.
Đề xuất các chiến lược để nâng cao hiệu quả khai thác bảo mật với dirsearch
trong các Hackathons và Bug Bounties.
Góp phần xây dựng quy trình tối ưu cho các đội nhóm bảo mật khi tham gia
các chương trình Bug Bounties.
1.3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
Các chương trình Bug Bounties do các doanh nghiệp triển khai.
Hackathons tập trung vào bảo mật mạng.
Dirsearch và các phương pháp khai thác thông tin từ các website.
Phạm vi nghiên cứu
Tìm hiểu các ưu điểm, nhược điểm khi sử dụng dirsearch trong Bug Bounties.
Nghiên cứu tầm quan trọng của các Hackathons đối với lĩnh vực khai thác bảo
mật.
lOMoARcPSD| 59062190
Xem xét khả năng áp dụng dirsearch trong những tình huống Hackathons và
Bug Bounties thực tế.
1.4. Nội dung nghiên cứu
Khái quát về Bug Bounties và Hackathons: Trình bày lịch sử phát triển, các
hình thức phổ biến và ứng dụng trong CNTT.
Giới thiệu dirsearch: Tính năng, ưu điểm, và các tình huống khai thác p
hợp.
Phân tích tác động của dirsearch: Đánh giá hiệu quả khi áp dụng trong
Hackathons và Bug Bounties.
Giải pháp tối ưu hóa dirsearch: Đề xuất quy trình và chiến lược sử dụng
dirsearch hiệu quả.
lOMoARcPSD| 59062190
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Bug Bounties
2.1.1 Khái niệm
Bug Bounty một chương trình do các tổ chức hoặc công ty triển khai nhằm khuyến
khích các chuyên gia bảo mật, nhà phát triển, hoặc hacker trắng tìm kiếm báo
cáo các lỗ hổng bảo mật trong hệ thống của họ. Đổi lại, người phát hiện sẽ được trao
thưởng theo giá trị của lỗ hổng tìm thấy.
2.1.2 Mục đích
- Phát hiện lỗ hổng bảo mật: Giúp doanh nghiệp phát hiện sớm các lỗ hổng
trong hệ thống trước khi chúng bị khai thác.
- Tăng cường an toàn thông tin: Đảm bảo các sản phẩm và dịch vụ an toàn hơn
cho người dùng.
- Tối ưu hóa chi phí bảo mật: So với việc duy trì một đội ngũ chuyên trách,
Bug Bounty cho phép doanh nghiệp chỉ trả tiền cho những lỗ hổng thc sự
được phát hiện.
- Xây dựng uy tín: Thể hiện cam kết của doanh nghiệp đối với an ninh mạng và
nhận được sự tin tưởng từ cộng đồng.
2.1.3 Cơ chế hoạt động của Bug Bounty
- Thiết lập chương trình: Doanh nghiệp định rõ phạm vi (scope), bao gồm các
hệ thống, sản phẩm được kiểm tra, cùng với các quy định chi tiết.
- Mời tham gia: Các hacker mũ trắng hoặc chuyên gia bảo mật tham gia tìm
kiếm lỗ hổng.
- Phát hiện lỗ hổng: Người tham gia kiểm tra hệ thống và gửi báo cáo về các
vấn đề phát hiện được.
- Đánh giá lỗ hổng: Doanh nghiệp xác minh và đánh giá mức độ nghiêm trọng
của lỗ hổng dựa trên các tiêu chí đã công bố.
- Trao thưởng: Người phát hiện được nhận tiền thưởng hoặc các lợi ích khác
(như giấy chứng nhận, ghi nhận trong bảng danh dự).
2.1.4 Các nền tảng Bug Bounty nổi bật
- HackerOne: Một trong những nền tảng lớn nhất, kết nối các công ty với cộng
đồng bảo mật toàn cầu.
- Bugcrowd: Tập trung vào các giải pháp Bug Bounty và quản lý rủi ro bảo mật
thông qua cộng đồng chuyên gia.
- Synack: Kết hợp Bug Bounty với trí tuệ nhân tạo để tăng cường hiệu quả bảo
mật.
- YesWeHack: Nền tảng Bug Bounty hàng đầu tại châu Âu, cung cấp các
chương trình bảo mật cho doanh nghiệp.
lOMoARcPSD| 59062190
- Open Bug Bounty: Một nền tảng miễn phí, khuyến khích cộng đồng báo cáo
các lỗ hổng bảo mật trên mọi website.
2.2. Hackathons
2.2.1 Khái niệm
Hackathon là một sự kiện mang tính cộng tác, nơi các lập trình viên, chuyên gia bảo
mật, nhà phát triển phần mềm, và các chuyên gia công nghệ khác tập trung trong một
khoảng thời gian cố định (thường từ 24 đến 72 giờ) để phát triển các giải pháp sáng
tạo cho một vấn đề cụ thể.
Trong lĩnh vực an ninh mạng, Hackathon thường được tổ chức nhằm giải quyết
các thách thức bảo mật, phát hiện lỗ hổng, và thử nghiệm các phương pháp bảo
vệ hệ thống.
2.2.2 Mục đích
Hackathon được tổ chức với nhiều mục tiêu quan trọng nhằm thúc đẩy đổi mới
nâng cao năng lực bảo mật trong lĩnh vực an ninh mạng. Một số mục đích chính bao
gồm:
Thúc đẩy sự sáng tạo: khuyến khích người tham gia tìm ra các giải pháp mới và sáng
tạo cho các vấn đề bảo mật phức tạp.
Chứng minh chuyên môn: là cơ hội để các chuyên gia thể hiện kỹ năng và kiến thức
chuyên sâu của mình trong lĩnh vực an ninh mạng, từ đó khẳng định năng lực trước
cộng đồng và các tổ chức lớn
Tăng cường hợp tác: xây dựng môi trường làm việc nhóm, tạo cơ hội cho các chuyên
gia từ nhiều lĩnh vực khác nhau cùng làm việc, chia sẻ kinh nghiệm, và học hỏi lẫn
nhau.
Nâng cao khả năng phòng thủ an ninh mạng: phát triển các chiến lược và công cụ bảo
mật hiệu quả hơn, giúp các hệ thống trở nên kiên cố hơn trước các mối đe dọa và cuộc
tấn công mạng.
Đào tạo và phát triển kỹ năng: cung cấp môi trường thực tiễn để người tham gia học
hỏi, nâng cao kỹ năng phân tích, phát hiện lỗ hổng và triển khai các giải pháp bảo
mật.
Xây dựng cộng đồng bảo mật: gắn kết các chuyên gia, tổ chức và nhà nghiên cứu an
ninh mạng, tạo mạng lưới hỗ trợ và hợp tác lâu dài.
Nâng cao nhận thức bảo mật: tăng cường nhận thức về an ninh mạng cho các tổ chức
và cá nhân tham gia.
2.2.3 Cơ chế tổ chức Hackathon
lOMoARcPSD| 59062190
Hackathon thường được tổ chức theo các bước sau:
1. Lựa chọn chủ đề: Xác định vấn đề hoặc thách thức bảo mật cần giải quyết (ví dụ:
kiểm tra ứng dụng web, bảo mật IoT, phát hiện tấn công mạng).
2. Lập kế hoạch:
Quyết định hình thức tổ chức (online hoặc offline).
Quy định thời gian, số lượng người tham gia, và tài nguyên hỗ trợ. ●
Công bố các quy tắc và tiêu chí đánh giá kết quả.
3. Đăng ký tham gia: Mở cổng đăng ký cho các cá nhân hoặc đội nhóm. Người tham
gia có thể tự thành lập đội hoặc ghép đội tại sự kiện.
4. Phát động sự kiện:
Giới thiệu về chủ đề, mục tiêu, và tài nguyên hỗ trợ.
Cung cấp môi trường thực hành, các công cụ và tài liệu cần thiết.
5. Quá trình làm việc:
Người tham gia làm việc độc lập hoặc theo nhóm để phát triển ý tưởng và thực
hiện giải pháp trong thời gian quy định.
Các mentor hoặc chuyên gia bảo mật sẽ hỗ trợ tư vấn trong quá trình này.
6. Trình bày và đánh giá:
Các đội sẽ trình bày giải pháp của mình trước ban giám khảo.
Ban giám khảo đánh giá dựa trên các tiêu chí: tính sáng tạo, khả năng ứng dụng
thực tế, và hiệu quả của giải pháp bảo mật.
7. Trao giải và tổng kết:
Các đội xuất sắc sẽ nhận giải thưởng.
Sự kiện kết thúc với các bài học kinh nghiệm và cơ hội hợp tác trong tương lai.
2.3. Tầm Quan Trọng và Tác Động của Bug Bounties và Hackathons trong An
Ninh Mạng
2.3.1 Tầm quan trọng của Bug Bounties và Hackathons:
Bug Bounties và Hackathons là những công cụ quan trọng trong việc cung cấp
mạng bảo mật và cải thiện hệ thống an ninh mạng . Các yếu tố sau đây có thể hiện tầm
quan trọng của chúng:
Bug Bounties khuyến khích các nhà nghiên cứu bảo mật tìm kiếm
báo cáo các ổ bảo mật trong hệ thống, phần mềm và ứng dụng. Điều này
giúp các tổ chức phát hiện và giải quyết các vấn đề trước khi họ tấn
công công khai .
lOMoARcPSD| 59062190
Hackathons tạo môi trường hợp tác cho các nhà phát triển, kỹ sư và
chuyên gia bảo mật thử nghiệm ý tưởng mới, phát triển các giải pháp
sáng tạo để hỗ trợ các công thức bảo mật .
Với việc xây dựng đội ngũ bảo mật nội bộ lớn, chương trình Bug
Bounty giúp các công ty tiết kiệm chi phí trong khi vẫn tận dụng được
năng lực của cộng đồng chuyên gia.
Cả hai hoạt động này đều tạo ra cơ hội giáo dục và huấn luyện, nâng cao
kỹ năng cho các chuyên gia và người mới trong lĩnh vực bảo mật.
2.3.2 Mối quan hệ của Bug Bounties và Hackathons:
Bug Bounties và Hackathons có mối liên hệ giữa các thiết bị và hỗ trợ lẫn nhau trong
lĩnh vực an ninh mạng :
Hackathons có thể được tổ chức như một phần của chương trình Bug Bounty,
nơi các nhóm tham gia được khuyến khích phát hiện và khai thác thất bại bảo
mật. Điều này tạo ra một môi trường cạnh tranh tích cực để tìm kiếm giải pháp.
Trong khi Hackathons thường diễn ra trong một khoảng thời gian ngắn,
Bug Bounties tạo cơ hội cho các nhà nghiên cứu bảo mật tham gia thời gian dài
để cải thiện hệ thống của tổ chức.
Cả hai hoạt động đều đóng góp vào việc xây dựng cộng đồng bảo mật chuyên
nghiệp, tạo cơ hội để họ chia sẻ kiến thức, kinh nghiệm và mạng lưới mở rộng
quan hệ.
Hackathons tạo ra các công cụ và giải pháp sáng tạo, trong khi Bug Bounties
giúp kiểm tra các giải pháp đó, đảm bảo chúng hoạt động hiệu quả trong môi
trường thực tế.
Kết hợp cả hai phương pháp này giúp các tổ chức không chỉ tìm ra ổ bảo mật mà còn
xây dựng các giải pháp phòng thủ mạnh mẽ, cung cấp phần nâng cao khả năng chống
lại các cuộc tấn công mạng.
2.4 Một số lỗi bảo mật thường gặp
2.4.1 Cross-Site Scripting (XSS)
Lỗi XSS xảy ra khi ứng dụng cho phép kẻ tấn công nhúng các đoạn mã độc hại
(thường là JavaScript) vào trang web. Khi người dùng truy cập trang bị nhiễm
độc, trình duyệt của họ sẽ thực thi mã này.
Nguyên nhân: Không kiểm tra hoặc lọc dữ liệu đầu vào từ người dùng trước
khi hiển thị trên trang.
Hậu quả: Đánh cắp cookie, thông tin xác thực, hoặc chuyển hướng người dùng
đến các trang web độc hại.
Phòng chống:
Sử dụng các hàm mã hóa/thoát ký tự như htmlspecialchars() trong PHP
hoặc các công cụ tương tự.
○ Sử dụng Content Security Policy (CSP).
lOMoARcPSD| 59062190
○ Tránh chèn trực tiếp dữ liệu không đáng tin cậy vào HTML,
JavaScript, hoặc các ngữ cảnh khác.
2.4.2 SQL Injection (SQLi)
Lỗi SQL Injection xảy ra khi kẻ tấn công có thể chèn mã SQL độc hại vào các truy
vấn cơ sở dữ liệu của ứng dụng.
Nguyên nhân: Không kiểm tra và lọc dữ liệu đầu vào.
Hậu quả: Truy xuất, sửa đổi hoặc xóa dữ liệu trái phép, hoặc thậm chí kiểm
soát toàn bộ cơ sở dữ liệu.
Phòng chống:
Sử dụng câu truy vấn tham số hóa (Prepared Statements) hoặc ORM.
Kiểm tra và lọc dữ liệu đầu vào.
Hạn chế quyền truy cập của tài khoản cơ sở dữ liệu.
2.4.3 Lỗi Broken Authentication
Lỗi xác thực bị phá vỡ xảy ra khi các cơ chế xác thực không được thiết kế hoặc triển
khai đúng cách, tạo cơ hội cho kẻ tấn công đăng nhập trái phép.
Nguyên nhân:
Sử dụng mật khẩu mặc định yếu.
Không giới hạn số lần thử đăng nhập.
Token xác thực không an toàn.
Hậu quả: Kẻ tấn công có thể chiếm đoạt tài khoản của người dùng.
Phòng chống:
Sử dụng mật khẩu mạnh và cơ chế lưu trữ an toàn (ví dụ: bcrypt).
Triển khai giới hạn số lần thử đăng nhập.
Sử dụng các phương pháp xác thực mạnh như MFA (Xác thực đa yếu
tố).
2.4.4 Clickjacking
Lỗi Clickjacking xảy ra khi một trang web độc hại nhúng một trang khác vào thông
qua thẻ <iframe> và lừa người dùng nhấp vào các nút/đường dẫn không mong muốn.
Nguyên nhân: Ứng dụng không ngăn cản việc nhúng nội dung trong iframe.
Hậu quả: Người dùng thực hiện các hành động trái ý muốn, như chuyển tiền
hoặc thay đổi thông tin.
Phòng chống:
Sử dụng header X-Frame-Options hoặc Content Security Policy (CSP).
Tránh sử dụng iframe trừ khi thực sự cần thiết.
2.4.5 Security Misconfiguration
lOMoARcPSD| 59062190
Lỗi cấu hình bảo mật xảy ra khi các cấu hình của ứng dụng, máy chủ, hoặc cơ sở dữ
liệu không được thiết lập đúng cách.
Nguyên nhân:
Không vô hiệu hóa các chức năng không cần thiết.
Sử dụng phiên bản phần mềm lỗi thời.
Để lộ các thông tin nhạy cảm (debug mode, stack trace).
Hậu quả: Kẻ tấn công có thể khai thác các cấu hình không an toàn để truy cập
dữ liệu hoặc xâm nhập hệ thống.
Phòng chống:
Cập nhật thường xuyên phần mềm và thư viện.
Tắt các tính năng không cần thiết.
Kiểm tra cấu hình bảo mật định kỳ.
lOMoARcPSD| 59062190
CHƯƠNG 3: DEMO
Bước 1: Chạy trang web muốn quét lỗ hỏng
Bước 2: Chạy lệnh quét lỗ hỏng trong sourcode Dirshare : “python dirsearch.py -u
http://testphp.vulnweb.com
Bước 3: Phân tích kết quả quét từ Dirsearch
lOMoARcPSD| 59062190
- Kiểm tra trạng thái HTTP:
+ 200 OK: File/thư mục tồn tại, cần kiểm tra chi tiết.
+ 301/302: Kiểm tra chuyển hướng đến đâu, chú ý các URL nhạy cảm như /admin.
+ 403 Forbidden: File/thư mục tồn tại nhưng bị chặn, có thể thử bypass.
+ 404 Not Found: Không cần quan tâm, trừ khi thấy mẫu đáng nghi.
- Xác định file/thư mục nhạy cảm:
+ File cấu hình/backup: .idea/, /vendor/, .bak, .zip.
+ File chức năng: /login.php, /search.php, /cart.php.
+ Thư mục quản trị: /admin/.
Bước 4: Kiểm tra thủ công
- Truy cập vào đường link chính + với /.idea/: “ http://testphp.vulnweb.com/.idea/”
Phát hiện:
+ Thư mục .idea/ lộ trên máy chủ (http://testphp.vulnweb.com/.idea/), chứa thông tin
cấu hình IDE nhạy cảm.

Preview text:

lOMoARcP SD| 59062190 CHƯƠNG 1: GIỚI THIỆU 1.1. Lý do chọn đề tài
- Trong bối cảnh thế giới ngày càng phụ thuộc vào công nghệ thông tin, việc bảo
vệ an ninh mạng trở thành một trong những ưu tiên hàng đầu. Các mục tiêu tấn
công mạng không ngừng gia tăng đã gây thiệt hại lớn cho nhiều tổ chức, doanh
nghiệp. Do đó, việc khai thác các lỗi hổ và gia tăng độ bảo mật hệ thống trở
thành nỗi dung trung tâm trong nghiên cứu và thực tiễn.
- Bug Bounties và Hackathons là hai hình thức giúp các tổ chức khai thác tối đa
tiềm năng từ cộng đồng bảo mật và lập trình viên. Thông qua các Bug
Bounties, doanh nghiệp có thể nhận diện và khắc phục lỗi hổ nhanh chóng.
Hackathons thì là sân chơi khuyến khích tính sáng tạo, học hỏi, và trao đổi kinh
nghiệm. Trong khuôn khổ này, dirsearch nổi bật như một công cụ khai thác hữu
ích, giúp xác định nhanh chóng các thư mục tiềm ẩn trong website.
- Do vai trò quan trọng này, việc nghiên cứu đề tài Bug Bounties, Hackathons
kèm theo dirsearch sẽ góp phần nâng cao hiệu quả trong các chương trình an ninh mạng. 1.2. Mục tiêu đề tài
● Phân tích vai trò và tầm quan trọng của Bug Bounties và Hackathons trong lĩnh vực an ninh mạng.
● Khám phá cách sử dụng dirsearch để quét thông tin, khai thác các lỗi hổ trong website.
● Đề xuất các chiến lược để nâng cao hiệu quả khai thác bảo mật với dirsearch
trong các Hackathons và Bug Bounties.
● Góp phần xây dựng quy trình tối ưu cho các đội nhóm bảo mật khi tham gia
các chương trình Bug Bounties.
1.3. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu
● Các chương trình Bug Bounties do các doanh nghiệp triển khai.
● Hackathons tập trung vào bảo mật mạng.
● Dirsearch và các phương pháp khai thác thông tin từ các website. Phạm vi nghiên cứu
● Tìm hiểu các ưu điểm, nhược điểm khi sử dụng dirsearch trong Bug Bounties.
● Nghiên cứu tầm quan trọng của các Hackathons đối với lĩnh vực khai thác bảo mật. lOMoARcP SD| 59062190
● Xem xét khả năng áp dụng dirsearch trong những tình huống Hackathons và Bug Bounties thực tế. 1.4. Nội dung nghiên cứu
● Khái quát về Bug Bounties và Hackathons: Trình bày lịch sử phát triển, các
hình thức phổ biến và ứng dụng trong CNTT.
● Giới thiệu dirsearch: Tính năng, ưu điểm, và các tình huống khai thác phù hợp.
● Phân tích tác động của dirsearch: Đánh giá hiệu quả khi áp dụng trong Hackathons và Bug Bounties.
● Giải pháp tối ưu hóa dirsearch: Đề xuất quy trình và chiến lược sử dụng dirsearch hiệu quả. lOMoARcP SD| 59062190
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1. Bug Bounties 2.1.1 Khái niệm
Bug Bounty là một chương trình do các tổ chức hoặc công ty triển khai nhằm khuyến
khích các chuyên gia bảo mật, nhà phát triển, hoặc hacker mũ trắng tìm kiếm và báo
cáo các lỗ hổng bảo mật trong hệ thống của họ. Đổi lại, người phát hiện sẽ được trao
thưởng theo giá trị của lỗ hổng tìm thấy. 2.1.2 Mục đích
- Phát hiện lỗ hổng bảo mật: Giúp doanh nghiệp phát hiện sớm các lỗ hổng
trong hệ thống trước khi chúng bị khai thác.
- Tăng cường an toàn thông tin: Đảm bảo các sản phẩm và dịch vụ an toàn hơn cho người dùng.
- Tối ưu hóa chi phí bảo mật: So với việc duy trì một đội ngũ chuyên trách,
Bug Bounty cho phép doanh nghiệp chỉ trả tiền cho những lỗ hổng thực sự được phát hiện.
- Xây dựng uy tín: Thể hiện cam kết của doanh nghiệp đối với an ninh mạng và
nhận được sự tin tưởng từ cộng đồng.
2.1.3 Cơ chế hoạt động của Bug Bounty
- Thiết lập chương trình: Doanh nghiệp định rõ phạm vi (scope), bao gồm các
hệ thống, sản phẩm được kiểm tra, cùng với các quy định chi tiết.
- Mời tham gia: Các hacker mũ trắng hoặc chuyên gia bảo mật tham gia tìm kiếm lỗ hổng.
- Phát hiện lỗ hổng: Người tham gia kiểm tra hệ thống và gửi báo cáo về các
vấn đề phát hiện được.
- Đánh giá lỗ hổng: Doanh nghiệp xác minh và đánh giá mức độ nghiêm trọng
của lỗ hổng dựa trên các tiêu chí đã công bố.
- Trao thưởng: Người phát hiện được nhận tiền thưởng hoặc các lợi ích khác
(như giấy chứng nhận, ghi nhận trong bảng danh dự).
2.1.4 Các nền tảng Bug Bounty nổi bật
- HackerOne: Một trong những nền tảng lớn nhất, kết nối các công ty với cộng
đồng bảo mật toàn cầu.
- Bugcrowd: Tập trung vào các giải pháp Bug Bounty và quản lý rủi ro bảo mật
thông qua cộng đồng chuyên gia.
- Synack: Kết hợp Bug Bounty với trí tuệ nhân tạo để tăng cường hiệu quả bảo mật.
- YesWeHack: Nền tảng Bug Bounty hàng đầu tại châu Âu, cung cấp các
chương trình bảo mật cho doanh nghiệp. lOMoARcP SD| 59062190
- Open Bug Bounty: Một nền tảng miễn phí, khuyến khích cộng đồng báo cáo
các lỗ hổng bảo mật trên mọi website. 2.2. Hackathons 2.2.1 Khái niệm
Hackathon là một sự kiện mang tính cộng tác, nơi các lập trình viên, chuyên gia bảo
mật, nhà phát triển phần mềm, và các chuyên gia công nghệ khác tập trung trong một
khoảng thời gian cố định (thường từ 24 đến 72 giờ) để phát triển các giải pháp sáng
tạo cho một vấn đề cụ thể.
● Trong lĩnh vực an ninh mạng, Hackathon thường được tổ chức nhằm giải quyết
các thách thức bảo mật, phát hiện lỗ hổng, và thử nghiệm các phương pháp bảo vệ hệ thống. 2.2.2 Mục đích
Hackathon được tổ chức với nhiều mục tiêu quan trọng nhằm thúc đẩy đổi mới và
nâng cao năng lực bảo mật trong lĩnh vực an ninh mạng. Một số mục đích chính bao gồm:
Thúc đẩy sự sáng tạo: khuyến khích người tham gia tìm ra các giải pháp mới và sáng
tạo cho các vấn đề bảo mật phức tạp.
Chứng minh chuyên môn: là cơ hội để các chuyên gia thể hiện kỹ năng và kiến thức
chuyên sâu của mình trong lĩnh vực an ninh mạng, từ đó khẳng định năng lực trước
cộng đồng và các tổ chức lớn
Tăng cường hợp tác: xây dựng môi trường làm việc nhóm, tạo cơ hội cho các chuyên
gia từ nhiều lĩnh vực khác nhau cùng làm việc, chia sẻ kinh nghiệm, và học hỏi lẫn nhau.
Nâng cao khả năng phòng thủ an ninh mạng: phát triển các chiến lược và công cụ bảo
mật hiệu quả hơn, giúp các hệ thống trở nên kiên cố hơn trước các mối đe dọa và cuộc tấn công mạng.
Đào tạo và phát triển kỹ năng: cung cấp môi trường thực tiễn để người tham gia học
hỏi, nâng cao kỹ năng phân tích, phát hiện lỗ hổng và triển khai các giải pháp bảo mật.
Xây dựng cộng đồng bảo mật: gắn kết các chuyên gia, tổ chức và nhà nghiên cứu an
ninh mạng, tạo mạng lưới hỗ trợ và hợp tác lâu dài.
Nâng cao nhận thức bảo mật: tăng cường nhận thức về an ninh mạng cho các tổ chức và cá nhân tham gia.
2.2.3 Cơ chế tổ chức Hackathon lOMoARcP SD| 59062190
Hackathon thường được tổ chức theo các bước sau:
1. Lựa chọn chủ đề: Xác định vấn đề hoặc thách thức bảo mật cần giải quyết (ví dụ:
kiểm tra ứng dụng web, bảo mật IoT, phát hiện tấn công mạng). 2. Lập kế hoạch:
● Quyết định hình thức tổ chức (online hoặc offline).
● Quy định thời gian, số lượng người tham gia, và tài nguyên hỗ trợ. ●
Công bố các quy tắc và tiêu chí đánh giá kết quả.
3. Đăng ký tham gia: Mở cổng đăng ký cho các cá nhân hoặc đội nhóm. Người tham
gia có thể tự thành lập đội hoặc ghép đội tại sự kiện. 4. Phát động sự kiện:
● Giới thiệu về chủ đề, mục tiêu, và tài nguyên hỗ trợ.
● Cung cấp môi trường thực hành, các công cụ và tài liệu cần thiết. 5. Quá trình làm việc:
● Người tham gia làm việc độc lập hoặc theo nhóm để phát triển ý tưởng và thực
hiện giải pháp trong thời gian quy định.
● Các mentor hoặc chuyên gia bảo mật sẽ hỗ trợ tư vấn trong quá trình này.
6. Trình bày và đánh giá:
● Các đội sẽ trình bày giải pháp của mình trước ban giám khảo.
● Ban giám khảo đánh giá dựa trên các tiêu chí: tính sáng tạo, khả năng ứng dụng
thực tế, và hiệu quả của giải pháp bảo mật.
7. Trao giải và tổng kết:
● Các đội xuất sắc sẽ nhận giải thưởng.
● Sự kiện kết thúc với các bài học kinh nghiệm và cơ hội hợp tác trong tương lai.
2.3. Tầm Quan Trọng và Tác Động của Bug Bounties và Hackathons trong An Ninh Mạng
2.3.1 Tầm quan trọng của Bug Bounties và Hackathons:
Bug Bounties và Hackathons là những công cụ quan trọng trong việc cung cấp
mạng bảo mật và cải thiện hệ thống an ninh mạng . Các yếu tố sau đây có thể hiện tầm quan trọng của chúng:
● Bug Bounties khuyến khích các nhà nghiên cứu bảo mật tìm kiếm và
báo cáo các ổ bảo mật trong hệ thống, phần mềm và ứng dụng. Điều này
giúp các tổ chức phát hiện và giải quyết các vấn đề trước khi họ tấn công công khai . lOMoARcP SD| 59062190
● Hackathons tạo môi trường hợp tác cho các nhà phát triển, kỹ sư và
chuyên gia bảo mật thử nghiệm ý tưởng mới, phát triển các giải pháp
sáng tạo để hỗ trợ các công thức bảo mật .
● Với việc xây dựng đội ngũ bảo mật nội bộ lớn, chương trình Bug
Bounty giúp các công ty tiết kiệm chi phí trong khi vẫn tận dụng được
năng lực của cộng đồng chuyên gia.
● Cả hai hoạt động này đều tạo ra cơ hội giáo dục và huấn luyện, nâng cao
kỹ năng cho các chuyên gia và người mới trong lĩnh vực bảo mật.
2.3.2 Mối quan hệ của Bug Bounties và Hackathons:
Bug Bounties và Hackathons có mối liên hệ giữa các thiết bị và hỗ trợ lẫn nhau trong lĩnh vực an ninh mạng :
● Hackathons có thể được tổ chức như một phần của chương trình Bug Bounty,
nơi các nhóm tham gia được khuyến khích phát hiện và khai thác thất bại bảo
mật. Điều này tạo ra một môi trường cạnh tranh tích cực để tìm kiếm giải pháp. ●
Trong khi Hackathons thường diễn ra trong một khoảng thời gian ngắn,
Bug Bounties tạo cơ hội cho các nhà nghiên cứu bảo mật tham gia thời gian dài
để cải thiện hệ thống của tổ chức.
● Cả hai hoạt động đều đóng góp vào việc xây dựng cộng đồng bảo mật chuyên
nghiệp, tạo cơ hội để họ chia sẻ kiến thức, kinh nghiệm và mạng lưới mở rộng quan hệ.
● Hackathons tạo ra các công cụ và giải pháp sáng tạo, trong khi Bug Bounties
giúp kiểm tra các giải pháp đó, đảm bảo chúng hoạt động hiệu quả trong môi trường thực tế.
Kết hợp cả hai phương pháp này giúp các tổ chức không chỉ tìm ra ổ bảo mật mà còn
xây dựng các giải pháp phòng thủ mạnh mẽ, cung cấp phần nâng cao khả năng chống
lại các cuộc tấn công mạng.
2.4 Một số lỗi bảo mật thường gặp
2.4.1 Cross-Site Scripting (XSS)
Lỗi XSS xảy ra khi ứng dụng cho phép kẻ tấn công nhúng các đoạn mã độc hại
(thường là JavaScript) vào trang web. Khi người dùng truy cập trang bị nhiễm mã
độc, trình duyệt của họ sẽ thực thi mã này.
● Nguyên nhân: Không kiểm tra hoặc lọc dữ liệu đầu vào từ người dùng trước khi hiển thị trên trang.
● Hậu quả: Đánh cắp cookie, thông tin xác thực, hoặc chuyển hướng người dùng
đến các trang web độc hại. ● Phòng chống:
○ Sử dụng các hàm mã hóa/thoát ký tự như htmlspecialchars() trong PHP
hoặc các công cụ tương tự.
○ Sử dụng Content Security Policy (CSP). lOMoARcP SD| 59062190
○ Tránh chèn trực tiếp dữ liệu không đáng tin cậy vào HTML,
JavaScript, hoặc các ngữ cảnh khác. 2.4.2 SQL Injection (SQLi)
Lỗi SQL Injection xảy ra khi kẻ tấn công có thể chèn mã SQL độc hại vào các truy
vấn cơ sở dữ liệu của ứng dụng.
● Nguyên nhân: Không kiểm tra và lọc dữ liệu đầu vào.
● Hậu quả: Truy xuất, sửa đổi hoặc xóa dữ liệu trái phép, hoặc thậm chí kiểm
soát toàn bộ cơ sở dữ liệu. ● Phòng chống:
○ Sử dụng câu truy vấn tham số hóa (Prepared Statements) hoặc ORM.
○ Kiểm tra và lọc dữ liệu đầu vào.
○ Hạn chế quyền truy cập của tài khoản cơ sở dữ liệu.
2.4.3 Lỗi Broken Authentication
Lỗi xác thực bị phá vỡ xảy ra khi các cơ chế xác thực không được thiết kế hoặc triển
khai đúng cách, tạo cơ hội cho kẻ tấn công đăng nhập trái phép. ● Nguyên nhân:
○ Sử dụng mật khẩu mặc định yếu.
○ Không giới hạn số lần thử đăng nhập.
○ Token xác thực không an toàn.
● Hậu quả: Kẻ tấn công có thể chiếm đoạt tài khoản của người dùng. ● Phòng chống:
○ Sử dụng mật khẩu mạnh và cơ chế lưu trữ an toàn (ví dụ: bcrypt).
○ Triển khai giới hạn số lần thử đăng nhập.
○ Sử dụng các phương pháp xác thực mạnh như MFA (Xác thực đa yếu tố). 2.4.4 Clickjacking
Lỗi Clickjacking xảy ra khi một trang web độc hại nhúng một trang khác vào thông
qua thẻ và lừa người dùng nhấp vào các nút/đường dẫn không mong muốn.
● Nguyên nhân: Ứng dụng không ngăn cản việc nhúng nội dung trong iframe.
● Hậu quả: Người dùng thực hiện các hành động trái ý muốn, như chuyển tiền
hoặc thay đổi thông tin. ● Phòng chống:
○ Sử dụng header X-Frame-Options hoặc Content Security Policy (CSP).
○ Tránh sử dụng iframe trừ khi thực sự cần thiết.
2.4.5 Security Misconfiguration lOMoARcP SD| 59062190
Lỗi cấu hình bảo mật xảy ra khi các cấu hình của ứng dụng, máy chủ, hoặc cơ sở dữ
liệu không được thiết lập đúng cách. ● Nguyên nhân:
○ Không vô hiệu hóa các chức năng không cần thiết.
○ Sử dụng phiên bản phần mềm lỗi thời.
○ Để lộ các thông tin nhạy cảm (debug mode, stack trace).
● Hậu quả: Kẻ tấn công có thể khai thác các cấu hình không an toàn để truy cập
dữ liệu hoặc xâm nhập hệ thống. ● Phòng chống:
○ Cập nhật thường xuyên phần mềm và thư viện.
○ Tắt các tính năng không cần thiết.
○ Kiểm tra cấu hình bảo mật định kỳ. lOMoARcP SD| 59062190 CHƯƠNG 3: DEMO
Bước 1: Chạy trang web muốn quét lỗ hỏng
Bước 2: Chạy lệnh quét lỗ hỏng trong sourcode Dirshare : “python dirsearch.py -u http://testphp.vulnweb.com”
Bước 3: Phân tích kết quả quét từ Dirsearch lOMoARcP SD| 59062190
- Kiểm tra trạng thái HTTP:
+ 200 OK: File/thư mục tồn tại, cần kiểm tra chi tiết.
+ 301/302: Kiểm tra chuyển hướng đến đâu, chú ý các URL nhạy cảm như /admin.
+ 403 Forbidden: File/thư mục tồn tại nhưng bị chặn, có thể thử bypass.
+ 404 Not Found: Không cần quan tâm, trừ khi thấy mẫu đáng nghi.
- Xác định file/thư mục nhạy cảm:
+ File cấu hình/backup: .idea/, /vendor/, .bak, .zip.
+ File chức năng: /login.php, /search.php, /cart.php.
+ Thư mục quản trị: /admin/.
Bước 4: Kiểm tra thủ công
- Truy cập vào đường link chính + với /.idea/: “ http://testphp.vulnweb.com/.idea/” Phát hiện:
+ Thư mục .idea/ lộ trên máy chủ (http://testphp.vulnweb.com/.idea/), chứa thông tin cấu hình IDE nhạy cảm.