Lab: Source code disclosure via backup files

📌 Bài viết này thuộc chuỗi write-up quá trình tiếp cận và đáp án cho các bài lab từ Portswigger Web Academy mà mình đã làm trong thời gian thực tập tại NCSC.

Mình không thích lắm cái cách mấy idol viết write-up lab theo kiểu cứ như thể họ đã biết đáp án từ đầu – họ chẳng bao giờ đủ kiên nhẫn để giải thích cặn kẽ tại sao họ lại làm một cái gì đó. Vậy nên, write-up phong cách bạn Tiểu ra đời. Mình mong là bạn có được những câu trả lời thoả đáng qua loạt bài này. Những ý kiến góp ý, thảo luận, báo lỗi – luôn luôn được hoan nghênh dưới mục comment.

Link bài lab

Đề bài

Ngữ cảnh: Lab này để lộ mã nguồn qua những file backup trong một thư mục ẩn.

Mục tiêu: Tìm và nộp mật khẩu cho database. Mật khẩu này được viết trong mã nguồn luôn.

Phân tích

Một chỉ dẫn nữa khi tiếp cận những bài nhãn “Apprentice”: Bạn cứ niệm chú truy cập bừa thử mấy trang với đường dẫn quen thuộc như /admin hay ./git hay thứ gì đó đại loại thế. Biết đâu truy cập được.

Bài học cho phía xây dựng web là hãy luôn kiểm tra quyền truy cập mà người dùng có thể có đến các thư mục này của bạn. Mã nguồn lúc nào cũng là “mỏ vàng” hay chí ít là nơi chứa nhiều thứ hay ho.

Lời giải

  1. Tôi ngồi inspect thối cả mắt, ai ngờ đến lúc chuẩn bị niệm các cụ gõ bừa /backup thì ra luôn thư mục “ẩn”.

2. Có mỗi 1 file. Mở ra thì thấy luôn đáp án. Capture the Flag mà dễ như thế này thì bé cũng xin một chức vô địch ạ…