---
# System prepended metadata

title: Symlink

---


# Flag_1 

Đầu tiên, tạo một file symlink trỏ đến "/etc/passwd" để xem nội dung file này.

![image](https://hackmd.io/_uploads/rkH-qa1Ka.png)

Sau đó tải nó lên trang web và xem kết quả file tải về.


![image](https://hackmd.io/_uploads/HyLJcTJKa.png)

- Flag: `CBJS{symlink_iz_s1mpl3_trick}`

# Flag_2

Đầu tiên, ta phải tìm vị trí file flag thứ 2. Ý tưởng giải bài này là up lên một file php để thực thi command. Tuy nhiên, thư mục "upload" không có quyền thực thi file.

![image](https://hackmd.io/_uploads/Syic1JEtT.png)


Vậy nên ta sẽ chuyển hướng sang thư mục 'html'. Nhưng cũng không thể khai thác path traversal trong trường hợp này, và symlink thì chỉ hoạt động khi đường dẫn mà nó trỏ đến có tồn tại trên web. Vậy làm cách nào để thêm file lên thư mục 'html'. 
1. Trong linux có thể tạo một file mới bằng 'echo "acb" >  file'.
2. Có thể dùng symlink trỏ đến '/var/www/html'

Từ hai điều trên, ta thử tạo một file php mới:

- Tạo một symlink đến '/var/www/html', zip lại và tải lên web.
![image](https://hackmd.io/_uploads/HyiqQJVKT.png)

- Tạo một file php mới, zip và tải lên web.
![image](https://hackmd.io/_uploads/H1DAXy4YT.png)

- Xem file php vừa tải lên.
-![image](https://hackmd.io/_uploads/BJLQ4kNta.png)

=> Thành công.
Giờ thì thay đổi nội dung file php để tìm vị trí file flag thứ 2.
![image](https://hackmd.io/_uploads/SkBdJfEtT.png)

Kết quả:
![image](https://hackmd.io/_uploads/rksokzVKa.png)

- File flag: `51aefd29-secret.txt`

Xem nội dung file: 
![image](https://hackmd.io/_uploads/HJPS7fEKa.png)

Kết quả:
![image](https://hackmd.io/_uploads/BkGOQf4Fp.png)

- Flag: `CBJS{advance_technique_from_bug_bounty_report}` 

