picoCTF 2022 - Forbidden Paths

 Đây là 1 thử thách khá là hay và đòi hỏi các bạn phải biết rất sâu về chức năng đọc file của Linux. Tại sao mình lại nói như vậy, ta hãy cùng xem nhé


Ở đây ta nhận thấy có 3 file.txt, và như linh cảm của mình thì 3 file này đều có thể đọc được trực tiếp, nhưng file flag.txt thì không thể đọc được. Đúng thật, khi mình nhập file flag.txt vào trường nhập thì ta có kết quả là: "File does not exist":


Hmmmmm, mình đã mất một hồi lâu để ngồi nghĩ, và sau đó mình định đi ngủ (vì lúc đó không nghĩ ra :))) ). Thế rồi lúc chuẩn bị đi ngủ thì mình nhớ ra có một cách để đọc file trong Linux. Giả sử ta đang ở thư mục tmp chẳng hạn, và ta muốn đọc file gì đó ở thư mục home thì ta có thể nhập lệnh: cat ../../../../../home/<file>. Và mình nghi là thử thách này sẽ giải bằng phương pháp này, nên mình đã test thử một payload khá quen thuộc: ../../../../../../etc/passwd:


Boom!!?? Vậy là ta đã đọc được file /etc/passwd. Và điều này đồng nghĩa với việc ta có thể đọc file flag.txt thông qua phương pháp này. Ta chỉ cần nhập: ../../../../../flag.txt:

 





Nhận xét

Đăng nhận xét

Bài đăng phổ biến