Lab: Information disclosure on debug page

📌 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: Bài lab này có một trang debug làm lộ những thông tin nhạy cảm về ứng dụng.

Mục tiêu: Lấy được biến môi trường có tên SECRET_KEY

Phân tích

Đề đã nói đến “debug page”, tức là chúng ta có khả năng truy cập được đến trang này mà không phải làm gì quá phức tạp. Cái chúng ta cần sẽ là một đường dẫn trỏ tới trang.

Những thông tin như thế thường có trong source code, hoặc comment ghi chú ở đây, hoặc trong các request-response gửi qua gửi lại. Chỉ cần kiểm tra để tìm thôi.

Bài học ở đây là các nhà phát triển và các tester của họ cần phải rà soát những comment “cho tiện” kiểu như vậy để loại bỏ chúng trước khi phát hành sản phẩm. Tiện cho ta thì cũng tiện cho mấy hacker.

Lời giải

  1. Inspect để xem mã nguồn. Thấy được một comment hay ho:

2. Đưa comment này về một dòng HTML bình thường để thấy link tới trang Debug hiện ra:

    3. Vào trang này. Hoá ra là trang phpinfo.php huyền thoại.

      4. Ctrl + F/ Cmd + F để tìm kiếm từ khoá “SECRET-KEY” là sẽ có được cái mình cần.