Summary
Các bạn đã bao giờ cảm thấy tụt mood hay cảm thấy mình kém khi làm một việc nào đó chưa. Mình cũng đã từng, bài viết này không mang nhiều tính chất về kỹ thuật, mình chỉ muốn chia sẻ để các bạn khi tham gia vào mảng Pentest hay Bug Bounty cũng biết rằng hãy cứ cố gắng và trau dồi nhiều hơn nữa!
Mở bài
Trong không khí rộn ràng của dịp lễ 30/4 hồi năm 2022, khi mọi người đều háo hức trở về quê hương, mình cũng không ngoại lệ. Tuy nhiên, trong lòng mình lại tràn ngập sự chán nản, cảm giác như mình đang tụt mood vì công việc pentest không đạt được kết quả như mong muốn. Lúc ấy mình là thực tập sinh Pentest tại FPT Telecom. Các hệ thống mà mình được giao nhiệm vụ thường là retest kiểm tra các lỗ hổng được fix chưa, tranh thủ rà soát các lỗ hổng còn bị sót ở round trước, còn không thì lúc ấy cũng đã là kiểm tra định kỳ, nên nhiều khi mình không thể tìm ra lỗ hổng.
Trước đó mấy hôm, mình còn xin anh leader cho mình chuyển sang SOC làm, vì nghĩ rằng mình không hợp. Nhưng chính trong khoảnh khắc khó khăn ấy, anh leader có nói với mình rằng: "Em hãy cứ cố gắng thêm, bởi lúc nào cũng sẽ cảm thấy chán nản khi bắt đầu một việc gì đó! Không cần phải chuyển qua SOC làm gì cả!". Và mình đã suy nghĩ về điều ấy suốt. Rồi ngày đặt mua vé đã có một điều bất ngờ đã xảy ra - mình phát hiện ra một lỗ hổng bảo mật mà không hề dự tính. Cùng mình khám phá hành trình đầy thú vị này nhé!
Thân bài
Quá trình đặt vé xe
Vì đó là lần đầu tiên mình đặt vé xe để về quê. Và dịp nghỉ lễ thường khó có xe, nên mình đặt vé trước cho chắc. Thực hiện việc chọn điểm đi, điểm đến cho đến việc xác nhận thông tin hành khách. Mặc dù có chút bối rối, nhưng mình vẫn hoàn tất quá trình đặt vé. Ai mà ngờ rằng một chuyến đi bình thường lại chứa đựng nhiều điều bất ngờ đến vậy!
Khám phá lỗ hổng IDOR
Khi đang thao tác trên trang web, mình chợt nhận ra rằng mọi thứ không hề đơn giản như mình nghĩ. Một điều gì đó bất thường đã xảy ra. Khi mình chú ý và URL trang web đặt vé trả về có dạng: https://redact.com/?BookingNo=xxxxxx. Một ý nghĩ nghịch ngợm nảy ra, mình cố gắng thay đổi thông tin trong URL với param BookingNo. Và thật không thể tin nổi! Mình có thể truy cập thông tin của những hành khách khác chỉ bằng cách thay đổi ID trong BookingNo.
Và đó - chính là lỗ hổng IDOR (Insecure Direct Object Reference). Lỗ hổng này cho phép người dùng không có quyền truy cập vào thông tin nhạy cảm của người khác, gây ra những nguy cơ bảo mật rất lớn. Một phát hiện bất ngờ, và cũng đầy hứng khởi! Bên cạnh đó, ID này là dạng tuyến tính, nó tăng dần từ 1 đến vô cùng. Các thông tin vé xe lại yêu cầu các thông tin khá nhạy cảm như: Họ tên, Số điện thoại và Số chứng minh nhân dân, đúng rồi, số chứng minh nhân dân, thời gian ấy, mình thấy có khá nhiều vụ thông tin người dùng bị leak và bán tràn lan trên Internet. Ngay sau đó, mình đã thực hiện chạy script một vài dòng dữ liệu có thể lấy được. Và ngay lập tức report lỗ hổng này cho nhà xe với minh chứng mình có thể thực hiện được:
Mình đã mong chờ một email cảm ơn từ nhà xe. Nhưng sau đó tầm 2-3 hôm, mình thử lại thì lỗi đã hoàn toàn biến mất. Ok! Mình cảm thấy vui vì đã ngăn được 1 lỗ hổng nguy cơ ảnh hưởng lộ thông tin của nhiều người. Còn email từ nhà xe thì đến giờ mình chưa thấy.
Những bài học rút ra
Cảm xúc khi phát hiện ra lỗ hổng đó thật khó tả - từ sự thất vọng chuyển sang cảm giác thỏa mãn, tự tin hơn về khả năng của bản thân. Mình nhận ra rằng sự nhạy bén và chú ý đến từng chi tiết là rất quan trọng trong lĩnh vực pentesting. Kinh nghiệm này đã dạy mình rằng luôn luôn cần phải tìm kiếm và kiểm tra mọi khả năng, ngay cả những điều tưởng chừng như nhỏ nhặt nhất. Không có gì là vô nghĩa - mỗi chi tiết đều có thể dẫn đến một phát hiện lớn!
Kết bài
Chuyến đi này không chỉ đơn thuần là về quê mà còn là một hành trình đầy ý nghĩa trong sự nghiệp bảo mật của mình. Mỗi lỗ hổng phát hiện ra, dù nhỏ đến đâu, đều là một bước tiến lớn trong hành trình của mình. Những khoảnh khắc khó khăn và thất bại không phải là điểm dừng, mà là cơ hội để học hỏi và trưởng thành. Hãy tin tưởng vào bản thân và cố gắng hoàn thiện mỗi ngày - đó chính là chìa khóa để mở ra những cơ hội mới trong cuộc sống!
Phương châm mà mình tâm đắc có lẽ là câu:
Không nhất thiết phải đam mê mới thành công! Đôi khi thành công rồi mới có đam mê!